Evose

API · 知识库

文档上传 · 检索 · 删除

知识库 API

知识库的写入与检索。

列出知识库

GET /v1/knowledge-bases?workspace_id=ws-001

上传文档

单文件

POST /v1/knowledge-bases/{id}/documents
Content-Type: multipart/form-data
file: <binary>
group: 公开
metadata: {"author": "张三", "category": "FAQ"}

响应:

{
  "document_id": "doc-001",
  "name": "FAQ.pdf",
  "size_bytes": 1024000,
  "status": "parsing",
  "created_at": "..."
}

文本

POST /v1/knowledge-bases/{id}/documents
{
  "type": "text",
  "name": "退货政策",
  "content": "我们的退货政策...",
  "metadata": { "category": "FAQ" }
}

状态查询

GET /v1/documents/{document_id}
{
  "id": "doc-001",
  "status": "ready",
  "chunks_count": 47,
  "indexed_at": "..."
}

status 取值:uploading / parsing / chunking / embedding / ready / failed

检索

POST /v1/knowledge-bases/{id}/search
{
  "query": "退货政策",
  "top_k": 5,
  "filters": { "category": "FAQ" },
  "rerank": true
}

响应:

{
  "results": [
    {
      "chunk_id": "ch-001",
      "document_id": "doc-001",
      "document_name": "FAQ.pdf",
      "content": "我们支持 7 天无理由退货...",
      "score": 0.87,
      "metadata": { "page": 3 }
    }
  ]
}

删除文档

DELETE /v1/documents/{document_id}

重新解析

POST /v1/documents/{document_id}/reparse

可在更换分块策略后批量重解析。

反模式

  • 把检索 API 当 LLM 调用 — 它只返回检索结果,不生成。要生成请用 Agent
  • TopK 设到 100 — LLM 上下文吃不下,返回噪声反而幻觉

接下来

页面导航