docs: update design docs for general chat

This commit is contained in:
AI Clinical Dev Team
2025-10-12 10:08:27 +08:00
parent 4ea14dc66d
commit 2a4f59b08b
3 changed files with 868 additions and 4 deletions

View File

@@ -910,6 +910,112 @@ Response: 200 OK
---
### 9. 通用对话模块(智能问答)
**功能**: 提供无项目、无智能体概念的纯AI对话功能支持可选的@知识库引用
#### 9.1 发送消息(流式输出)
```http
POST /api/v1/chat/stream
Content-Type: application/json
Request:
{
"content": "",
"modelType": "deepseek-v3",
"knowledgeBaseIds": ["kb-uuid-1", "kb-uuid-2"], //
"conversationId": "conv-uuid" //
}
Response: 200 OK (Server-Sent Events)
Content-Type: text/event-stream
data: {"content":"","usage":null}
data: {"content":"","usage":null}
data: {"content":"","usage":null}
data: {"content":"","usage":null}
...
data: [DONE]
```
**参数说明:**
- `content` - 用户消息内容(必填)
- `modelType` - 使用的模型必填deepseek-v3 | qwen3-72b | gemini-pro
- `knowledgeBaseIds` - 知识库ID数组可选
- `conversationId` - 对话ID可选新对话时不传
**响应说明:**
- 使用SSEServer-Sent Events流式返回
- 每个chunk包含`content`(增量内容)、`usage`token统计
- 最后发送 `data: [DONE]` 表示完成
---
#### 9.2 获取对话列表
```http
GET /api/v1/chat/conversations
Authorization: Bearer {token}
Response: 200 OK
{
"success": true,
"data": [
{
"id": "conv-uuid",
"userId": "user-uuid",
"title": "",
"modelName": "deepseek-v3",
"createdAt": "2025-10-11T10:00:00.000Z",
"updatedAt": "2025-10-11T10:30:00.000Z"
}
]
}
```
**响应说明:**
-`updatedAt` 降序排序
- 最多返回50条
- 不包括已删除的对话deleted_at != null
---
#### 9.3 删除对话
```http
DELETE /api/v1/chat/conversations/:id
Authorization: Bearer {token}
Response: 200 OK
{
"success": true,
"message": ""
}
```
**说明:**
- 软删除,设置 `deleted_at` 字段
- 级联删除所有消息
- 不可恢复
---
### 通用对话 vs 项目对话
| 特性 | 通用对话(/chat | 项目对话(/conversations |
|------|------------------|---------------------------|
| **概念** | 无项目/智能体 | 基于项目和智能体 |
| **使用场景** | 快速提问、知识库问答 | 结构化研究流程 |
| **上下文** | 纯对话历史 | 项目背景 + 智能体角色 + 对话历史 |
| **知识库** | 可选@引用 | 可选@引用 |
| **System Prompt** | 通用AI助手 | 专业智能体角色 |
| **数据表** | general_conversations | conversations |
---
## 错误处理
### 错误代码规范