跳转到主内容

知识库 API

Creatoria Agent API 文档

#知识库 API

管理知识库、文档和向量检索。知识库用于为 Agent 提供领域知识上下文(RAG)。

基础路径: /v1/knowledge-bases

#知识库管理

#列出知识库

GET /v1/knowledge-bases

所需权限: read

#查询参数

参数类型说明
pagenumber页码,默认 1
limitnumber每页条数,默认 20,最大 100
projectIdstring按项目筛选

#响应

json{
  "data": [
    {
      "id": "kb_abc123",
      "name": "产品文档库",
      "description": "产品相关文档",
      "documentCount": 15,
      "embeddingModel": "text-embedding-ada-002",
      "organizationId": "org_xxx",
      "projectId": "proj_xxx",
      "createdAt": "2026-01-10T08:00:00Z",
      "updatedAt": "2026-02-15T12:00:00Z"
    }
  ],
  "meta": {
    "total": 1,
    "page": 1,
    "limit": 20,
    "totalPages": 1,
    "hasNext": false,
    "hasPrev": false
  }
}

#获取知识库详情

GET /v1/knowledge-bases/:kbId

所需权限: read

#创建知识库

POST /v1/knowledge-bases

所需权限: write

#请求体

json{
  "name": "产品文档库",
  "description": "存储所有产品相关文档",
  "embeddingModel": "text-embedding-ada-002",
  "embeddingProvider": "openai",
  "apiKeyConfigId": "config_xxx",
  "chunkSize": 500,
  "chunkOverlap": 50
}
字段类型必填说明
namestring知识库名称
descriptionstring描述
embeddingModelstring向量模型
embeddingProviderstring向量模型提供商
apiKeyConfigIdstringAPI Key 配置 ID
chunkSizenumber分块大小
chunkOverlapnumber分块重叠大小

#响应

HTTP 201 Created

#更新知识库

PATCH /v1/knowledge-bases/:kbId

所需权限: write

#请求体

json{
  "name": "更新后的名称",
  "description": "更新后的描述",
  "settings": {}
}

#删除知识库

DELETE /v1/knowledge-bases/:kbId

所需权限: admin

#响应

json{
  "id": "kb_abc123",
  "deleted": true
}

#文档管理

#列出文档

GET /v1/knowledge-bases/:kbId/documents

所需权限: read

#响应

json{
  "data": [
    {
      "id": "doc_xxx",
      "name": "用户手册.pdf",
      "status": "processed",
      "chunkCount": 42,
      "size": 1048576,
      "createdAt": "2026-02-01T08:00:00Z"
    }
  ],
  "meta": {
    "total": 1
  }
}

#获取文档详情

GET /v1/knowledge-bases/:kbId/documents/:docId

所需权限: read

#上传文档

POST /v1/knowledge-bases/:kbId/documents

所需权限: write

使用 multipart/form-data 格式上传文件:

bashcurl -X POST "https://your-domain.com/v1/knowledge-bases/kb_abc123/documents" \
  -H "X-API-Key: sk_your_api_key_here" \
  -F "file=@./document.pdf"

#批量上传(URL)

POST /v1/knowledge-bases/:kbId/documents/batch

所需权限: write

#请求体

json{
  "urls": [
    "https://example.com/doc1.pdf",
    "https://example.com/doc2.md"
  ],
  "tags": ["product", "v2"]
}

#响应

HTTP 202 Accepted
json{
  "data": [
    {
      "url": "https://example.com/doc1.pdf",
      "status": "queued",
      "documentId": "doc_xxx"
    }
  ],
  "meta": {
    "total": 1,
    "jobId": "job_xxx"
  }
}

#删除文档

DELETE /v1/knowledge-bases/:kbId/documents/:docId

所需权限: admin

#响应

json{
  "id": "doc_xxx",
  "deleted": true
}

#导入任务

批量导入时会创建导入任务,用于跟踪处理进度。

#创建导入任务

POST /v1/knowledge-bases/:kbId/import-jobs

所需权限: write

使用 multipart/form-data 格式,支持文件上传和 URL 源:

字段类型说明
filesFile[]上传的文件(最多 50 个)
sourcesstring (JSON)URL 源列表
optionsstring (JSON)导入选项
webhookUrlstring完成通知 URL

#响应

HTTP 202 Accepted

#列出导入任务

GET /v1/knowledge-bases/:kbId/import-jobs

所需权限: read

#查询参数

参数类型说明
pagenumber页码,默认 1
limitnumber每页条数,默认 20

#获取导入任务详情

GET /v1/knowledge-bases/:kbId/import-jobs/:jobId

所需权限: read

返回任务详情及关联的文档处理进度。

#取消导入任务

DELETE /v1/knowledge-bases/:kbId/import-jobs/:jobId

所需权限: admin

#响应

json{
  "id": "job_xxx",
  "status": "cancelled",
  "cancelledDocuments": 3,
  "alreadyProcessed": 2
}

#重试失败文档

POST /v1/knowledge-bases/:kbId/import-jobs/:jobId/retry

所需权限: write

#响应

json{
  "id": "job_xxx",
  "status": "processing",
  "retriedDocuments": 2
}

#搜索

#搜索知识库

POST /v1/knowledge-bases/:kbId/search

所需权限: write

#请求体

json{
  "query": "如何配置系统参数",
  "topK": 5,
  "scoreThreshold": 0.7,
  "filters": {}
}
字段类型必填说明
querystring搜索查询
topKnumber返回的最大结果数,默认 5
scoreThresholdnumber最低相似度阈值,默认 0.7
filtersobject额外过滤条件

#响应

json{
  "query": "如何配置系统参数",
  "results": [
    {
      "documentId": "doc_xxx",
      "documentName": "系统配置指南",
      "content": "系统参数可以通过以下方式配置...",
      "score": 0.95,
      "metadata": {}
    }
  ],
  "totalResults": 1,
  "searchTime": 0.125
}