API 参考

所有 API 端点以 /api/v1 为前缀。 除 health 端点外,均需鉴权。

鉴权方式

所有业务 API 请求需携带 HTTP Header:

Authorization: Bearer <API_KEY>

API_KEY 通过环境变量设置,默认值见 docker-compose.yml。

限流规则

端点限制
POST /api/v1/kb/chat30 次/分钟
POST /api/v1/kb/documents10 次/分钟
其他不限流

文档管理 API

方法路径说明
POST/api/v1/kb/documents批量上传文档 (multipart/form-data)
GET/api/v1/kb/documents分页查询文档列表
GET/api/v1/kb/documents/{id}获取文档详情
PUT/api/v1/kb/documents/{id}更新文档名称/描述
DELETE/api/v1/kb/documents/{id}软删除文档
PUT/api/v1/kb/documents/{id}/status切换启用/禁用
POST/api/v1/kb/documents/{id}/reindex增量重索引

智能问答 API

方法路径说明
POST/api/v1/kb/chatRAG 问答(SSE 流式响应)
GET/api/v1/kb/chat/history会话问答历史(分页)
GET/api/v1/kb/chat/sessions会话列表
DELETE/api/v1/kb/chat/sessions/{id}删除会话及关联数据

SSE 流式响应规范

POST /api/v1/kb/chat 返回 SSE 事件流,包含以下事件类型:

event: progress
data: {"stage":"intent","message":"识别用户意图...","timestamp":"..."}

event: progress
data: {"stage":"retrieval","message":"向量检索中...","timestamp":"..."}

event: progress
data: {"stage":"generation","message":"LLM 推理中...","timestamp":"..."}

event: token
data: {"text":"根据"}

event: token
data: {"text":"本地"}

event: done
data: {"message_id":"...","ref_chunks":[...],"model":"...","thinking_steps":[...]}
  • progress:流程进度,前端展示推理步骤
  • token:逐 token 推送,前端实现打字机效果
  • done:完成信号,携带引用块和元数据

运维 & 检索 API

方法路径说明
POST/api/v1/kb/retrieval/test检索测试沙盒
GET/api/v1/kb/documents/{id}/chunks文档切片列表
PUT/api/v1/kb/chunks/{id}编辑切片(自动重向量化)
DELETE/api/v1/kb/chunks/{id}删除切片
GET/api/v1/kb/stats/overview知识库运维概览
GET/api/v1/kb/stats/frequent-questions高频问题 Top-N