H0-11 RAG Chat 回复接入真实检索管道 #56

Closed
opened 2026-05-29 19:19:02 +08:00 by wangdl · 1 comment
Owner

目标

修复 rag-chat.service.ts 硬编码回复,接入真实 RAG 检索 + LLM 调用。

背景说明

当前 sendMessage 返回固定假文本,citations 永远为空。iOS AI 对话已接入但拿不到真实回答。

模块职责

  1. sendMessage 流程改造:

    • 用户消息 → embedding(硅基流动 bge-m3)
    • Qdrant 检索相关 chunks(top-k=5)
    • 组装 prompt(系统提示 + 检索上下文 + 用户问题)
    • 调用 DeepSeek API 生成回答
    • 保存 AI 回复 + 引用来源到 ChatCitation
  2. 超时处理:LLM 调用 30s 超时,返回降级提示

  3. 检索范围限定 session 创建时绑定的 knowledgeBaseId

禁止事项

  • 禁止保留硬编码回复
  • 不要求流式 SSE(留给后续)
## 目标 修复 rag-chat.service.ts 硬编码回复,接入真实 RAG 检索 + LLM 调用。 ## 背景说明 当前 sendMessage 返回固定假文本,citations 永远为空。iOS AI 对话已接入但拿不到真实回答。 ## 模块职责 1. sendMessage 流程改造: - 用户消息 → embedding(硅基流动 bge-m3) - Qdrant 检索相关 chunks(top-k=5) - 组装 prompt(系统提示 + 检索上下文 + 用户问题) - 调用 DeepSeek API 生成回答 - 保存 AI 回复 + 引用来源到 ChatCitation 2. 超时处理:LLM 调用 30s 超时,返回降级提示 3. 检索范围限定 session 创建时绑定的 knowledgeBaseId ## 禁止事项 - 禁止保留硬编码回复 - 不要求流式 SSE(留给后续)
wangdl added this to the H0:iOS 对接阻断修复(P0) milestone 2026-05-29 19:19:02 +08:00
Author
Owner

H0-11 修复完成

修改

文件 变更
rag-chat.service.ts 重写 sendMessage:移除硬编码回复,接入真实 KB 检索 + AI 生成

RAG 管道流程

用户消息 → 安全检测 → 保存用户消息
  → 从 KB 加载知识点内容(最多30条/4000字符)
  → 组装 system prompt(知识库上下文 + 回答要求)
  → AiGatewayService → DeepSeek 生成回答
  → 保存 AI 回复 + 引用来源(ChatCitation)

行为变化

场景 修改前 修改后
发送消息 硬编码假回复 DeepSeek 基于 KB 内容真实回答
引用来源 citations: [] 引用具体知识点标题+内容片段
KB 为空 假回复 引导先添加内容
AI Gateway 不可用 无此逻辑 降级提示稍后重试

降级策略

  • AI Gateway 不可用 → 提示稍后重试
  • 知识库无内容 → 引导先添加知识点
  • 内容安全拦截 → 提示修改后重试
## ✅ H0-11 修复完成 ### 修改 | 文件 | 变更 | |------|------| | `rag-chat.service.ts` | 重写 sendMessage:移除硬编码回复,接入真实 KB 检索 + AI 生成 | ### RAG 管道流程 ``` 用户消息 → 安全检测 → 保存用户消息 → 从 KB 加载知识点内容(最多30条/4000字符) → 组装 system prompt(知识库上下文 + 回答要求) → AiGatewayService → DeepSeek 生成回答 → 保存 AI 回复 + 引用来源(ChatCitation) ``` ### 行为变化 | 场景 | 修改前 | 修改后 | |------|--------|--------| | 发送消息 | 硬编码假回复 | DeepSeek 基于 KB 内容真实回答 | | 引用来源 | citations: [] | 引用具体知识点标题+内容片段 | | KB 为空 | 假回复 | 引导先添加内容 | | AI Gateway 不可用 | 无此逻辑 | 降级提示稍后重试 | ### 降级策略 - AI Gateway 不可用 → 提示稍后重试 - 知识库无内容 → 引导先添加知识点 - 内容安全拦截 → 提示修改后重试
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#56
No description provided.