主要变更: - 移除Hermes智能体及相关回调服务 - 新增知识库RAG、同步、调度、规范化和索引任务服务 - 重构orchestrator服务,增强运行时聊天功能 - 更新前端聊天、政策制度、设置等页面样式和逻辑 - 更新expense_claims和document_intelligence服务 - 删除llm_wiki相关服务和测试文件 - 更新docker-compose配置和启动脚本
4.0 KiB
4.0 KiB
Knowledge Answers TODO
更新时间:2026-05-16
目标:
- 让知识库问答的主路径从“LightRAG 检索 + 慢模型二次整理”改为“结构化证据优先 + 模型可选总结”。
- 让问答能力尽量依赖当前文档内容本身,而不是依赖某一份制度、某一个城市或某一种表格写法。
- 参考 Yuxi 的优点,优先补齐
统一解析思路 + 文档类型友好的结构增强 + 检索后原文证据回退,不照搬其完整平台基础设施。
Yuxi 调研结论:
- 已完成 Yuxi 调研与方案提炼 备注:Yuxi 的通用性主要来自三层:统一文档解析、可切换的 chunk/preset、检索不足时回到解析后 Markdown 继续取证;并不是靠给某个文档写死回答逻辑。
本轮改造原则:
- 先撤掉文档特化硬编码,再补通用结构能力。
- 真实答案只能来自当前命中文档的内容,代码里不固化制度金额、地区档位或条款结论。
- 即使问题不是表格表达,也要能基于章节、条款、列表、键值对、上下文段落给出可读答案。
- 模型只负责“压缩表达”,不负责“凭空补事实”;模型超时时也必须能返回像样的证据型答复。
实施清单:
-
移除当前临时文档特化 fast path 备注:删除当前围绕差旅表格、城市档位、职级档位的临时规则,避免系统继续向单文档 hardcode 演化。
-
入库增强:补通用结构附录 备注:参考 Yuxi 的解析/分块思想,在现有入库文本增强中补充章节、条款、列表、键值对、表格与上下文邻接信息,让非表格关系也能被稳定命中。
-
检索后增强:生成面向回答的证据片段 备注:从命中的 hits 中再次抽取更短、更结构化的 answer evidence,优先保留标题路径、条款句、列表项、表格行和与 query 强相关的上下文窗口。
-
回答链路重构:证据驱动直答 备注:新增通用知识问答直答器,先根据 answer evidence 生成可直接展示的短答案;只有在证据不足或问题需要更自然表达时才调用模型。
-
模型总结收口:缩小上下文面,保留原文约束 备注:把传给模型的上下文从“整段命中 chunk”收缩到“高置信 answer evidence”,既降延迟,也降低答非所问和错列风险。
-
降级回答升级:从“命中摘抄”改成“证据摘要” 备注:即使模型超时或失败,也要返回按证据组织好的结论、依据和缺失信息,而不是大段原文拼贴。
-
测试补齐 备注:覆盖非表格制度文本、表格文本、列表/键值对文本、模型超时降级、去除硬编码路径等关键回归点。
-
真实验证与回填 TODO 备注:已重建当前知识库索引并完成真实验证。当前“回答整理”阶段已降到亚秒级,但 LightRAG 首次/冷启动检索仍受 embedding 与 rerank 耗时影响,后续如要继续压缩总耗时,应进一步优化检索参数与模型链路。
验收标准:
- 常规知识问答不再长时间卡在“正在整理答案”。
- 文档不是表格表达时,仍能基于章节/条款/列表/上下文回答。
- 文档内容变动后,不需要改业务代码里的制度结论或金额常量。
- 模型超时时仍能返回结构清楚、证据明确的答案。
- 相关测试通过,且没有破坏现有知识库问答流程。
验证记录:
- 单测通过:
test_user_agent_service.py、test_knowledge_normalizer.py、test_knowledge_rag_service.py共 35 项全部通过。 - 当前知识库文档已按新规则
force重建索引成功。 - 真实问答抽检:
餐补标准是什么?、费用发生后多久内提交报销申请?、前往北京出差的报销标准是什么?备注:回答生成阶段约0.24s ~ 0.30s;其中“前往北京出差”问题会明确提示当前证据未直接给出“北京”地区档位映射,不再硬猜。