Document async Feishu retrieval plan

This commit is contained in:
2026-07-08 17:21:56 +08:00
parent 72bd2e1e02
commit 7a6068590e

View File

@@ -278,3 +278,28 @@
1. 飞书检索、RAG 构建、数据库读写仍是同步逻辑;本阶段只优化模型长连接流式调用。
2. 首字时间仍会受到飞书读取和 RAG 构建耗时影响。
3. 队列仍是进程内队列,多 worker 全局并发控制需要阶段 4 Redis 队列。
## 阶段 3B 实施计划
目标:在不改动当前知识库检索脏文件的前提下,新增异步飞书读取和异步 RAG 构建路径让用户端问答链路里的飞书搜索、Wiki 节点读取、Docx/File 下载不再使用同步 `httpx`
实施范围:
1. 新增 `AsyncFeishuKnowledgeService`
- 飞书搜索接口使用 `httpx.AsyncClient.post`
- 飞书 tenant token 获取使用异步 HTTP。
- Wiki node info、children、Docx blocks、Drive file download 使用异步 HTTP。
- 复用现有进程内缓存和解析函数,避免同步/异步两套路由结果不一致。
2. 新增 `AsyncRagService`
- 权限范围和 Prompt 读取仍使用当前同步 DB session。
- 外部飞书读取切到 async 服务。
- 兼容当前工作区里已经存在的历史对话/摘要 prompt 签名;旧签名则自动回退。
3. `ChatStreamService.stream_answer_async` 切到 `AsyncRagService.build_result`
4. 同步 `ChatStreamService.stream_answer` 保持不变,作为兼容和回退路径。
风险控制:
1. 不直接编辑当前已有未提交改动的 `feishu_service.py``rag_service.py`
2. 不改变搜索 payload、结果解析、知识片段打分规则。
3. 不改变用户端 SSE 协议。
4. 本阶段仍不引入 Redis全局缓存和全局队列放到阶段 4。