周志洋

个人站

持续学习 才能不被淘汰


RAG工程化:从Dify知识库到生产级检索

挂上知识库 ≠ 生产可用

Dify 知识库上手很快。真正头疼的是:有时能搜到但答歪,有时换了文档效果悄悄掉,还说不清是检索差还是模型差。工程化就是把切分、索引、召回、生成、评测串成能回归的流程。

切分和元数据

切太碎,答案拼不起来;切太整,噪声大还容易超窗。按标题/段落语义切,留一点 overlap,表格和代码尽量整块。元数据带文档名、章节、更新时间、权限,后面过滤和追责都靠它。

Embedding 换模型通常要重建索引,单独发版,别和 Chat 模型同一天切。出问题会分不清责任。

召回别只调一个 TopK

常见链路:可选的 query 改写 → 向量召回 → 权限/业务过滤 → rerank → 取 TopN 进提示词。top_k、阈值、是否重排,全部配置化,靠评测集改,不靠感觉。

评测集不必大,但要覆盖:事实查找、步骤类 Runbook、易混淆概念、以及「应该说不知道」的无答案题。标一下应命中的文档 ID。指标看 hit_rate、答案是否被上下文支持、延迟和平均上下文 token。

线上和发布

盯无命中率、低分召回、点踩里「没按文档答」的比例。坏案例进 ES,周会消化后再改切分或补题。

发布节奏:预发增量入库 → 跑评测对比 → 小流量应用切换 → 观察 → 全量,并保留旧索引别名以便回滚。Dify 里生产应用尽量钉知识库版本,重要参数用工作流显式控制,避免后台随手改 TopK。

质量差时先分清检索还是生成。上下文突然变长,TTFT 和费用也会跟着坏,别一上来怪引擎。


转载请注明:周志洋的博客 » RAG工程化:从Dify知识库到生产级检索

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦