Skip to content

Conversations API

Conversations 模块提供对话的 CRUD 接口,支持分页列表、按知识库筛选及消息详情查询。

Base path: /api/v1/conversations


端点总览

方法路径说明
GET/conversations分页列表
POST/conversations创建对话
GET/conversations/{id}获取详情(含消息)
PUT/conversations/{id}更新对话
DELETE/conversations/{id}删除对话

GET /conversations — 列表对话

分页获取对话列表,按更新时间倒序,支持按知识库 ID 筛选。

查询参数

参数类型必填说明
pageint页码,默认 1
page_sizeint每页条数,默认 20
knowledge_base_idint仅返回包含该知识库的对话

列表响应格式

ApiResponse[PaginatedData[ConversationListSchema]]

ConversationListSchema 字段:

字段类型说明
idint对话 ID
titlestr标题
knowledge_base_idslist[int] | null知识库 ID 列表
modelstr模型标识
tool_modestr工具模式,默认 "qa"
created_atdatetime创建时间
updated_atdatetime更新时间
message_countint消息数量
last_message_previewstr最后一条消息预览(最多 100 字符)

PaginatedData 结构:

json
{
  "code": 200,
  "message": "success",
  "data": {
    "items": [...],
    "total": 42,
    "page": 1,
    "page_size": 20,
    "total_pages": 3
  }
}

列表示例

bash
curl -X GET "http://localhost:8000/api/v1/conversations?page=1&page_size=20"
curl -X GET "http://localhost:8000/api/v1/conversations?knowledge_base_id=1"

POST /conversations — 创建对话

创建新对话。

创建请求体

字段类型必填说明
titlestr标题,默认 "新对话"
knowledge_base_idslist[int]知识库 ID 列表
modelstr模型标识
tool_modestr工具模式,默认 "qa"

创建响应格式

ApiResponse[ConversationSchema],包含完整对话及空 messages 数组。

创建示例

bash
curl -X POST "http://localhost:8000/api/v1/conversations" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "文献综述讨论",
    "knowledge_base_ids": [1, 2],
    "tool_mode": "review_outline"
  }'

GET /conversations/{id} — 获取对话详情

获取单个对话及其全部消息。

详情路径参数

参数类型说明
idint对话 ID

详情响应格式

ApiResponse[ConversationSchema]

ConversationSchema 字段:

字段类型说明
idint对话 ID
titlestr标题
knowledge_base_idslist[int] | null知识库 ID 列表
modelstr模型标识
tool_modestr工具模式
created_atdatetime创建时间
updated_atdatetime更新时间
messageslist[MessageSchema]消息列表

MessageSchema 字段:

字段类型说明
idint消息 ID
conversation_idint对话 ID
rolestr角色:user / assistant
contentstr内容
citationslist[dict] | null引用列表(assistant 消息)
created_atdatetime创建时间

详情示例

bash
curl -X GET "http://localhost:8000/api/v1/conversations/1"

详情错误码

HTTP 状态说明
404对话不存在

PUT /conversations/{id} — 更新对话

更新对话标题或设置。

更新路径参数

参数类型说明
idint对话 ID

更新请求体

字段类型必填说明
titlestr新标题
modelstr新模型
tool_modestr新工具模式

仅传入需要更新的字段。

更新响应格式

ApiResponse[ConversationSchema],包含更新后的完整对话及消息。

更新示例

bash
curl -X PUT "http://localhost:8000/api/v1/conversations/1" \
  -H "Content-Type: application/json" \
  -d '{"title": "新标题"}'

更新错误码

HTTP 状态说明
404对话不存在

DELETE /conversations/{id} — 删除对话

删除对话及其全部消息(级联删除)。

删除路径参数

参数类型说明
idint对话 ID

删除响应格式

json
{
  "code": 200,
  "message": "success",
  "data": {
    "deleted": true,
    "id": 1
  }
}

删除示例

bash
curl -X DELETE "http://localhost:8000/api/v1/conversations/1"

删除错误码

HTTP 状态说明
404对话不存在

Released under the MIT License.