大家好,我是云途。模型知道很多公开知识,但它不会天然知道你刚更新的产品手册、公司制度或私人笔记。
RAG 的作用不是让模型突然记住全部文件,而是在回答前先从指定资料中找证据,再把证据连同问题交给模型。
RAG 的三个动作
Retrieval
根据问题,从知识库找出最相关的原文片段。
Augmented
把片段、来源和用户问题组合成新的上下文。
Generation
模型只根据收到的证据组织答案,并指出依据。
什么情况适合使用 RAG
- 资料经常更新,不适合重新训练模型。
- 答案必须能回到原文核对。
- 知识属于公司、项目或个人,不在模型公开训练知识中。
- 资料规模已经超过一次提示词可以稳定放入的范围。
如果只有三页固定资料,直接把原文放入上下文可能更简单。不要为了使用新术语增加系统复杂度。
回答错误不一定是模型的问题
- 没有检索到正确片段:检查切分、关键词和召回策略。
- 找到了片段但顺序不好:检查 Rerank 和分数门槛。
- 证据本身过期:先更新知识库,不要只改提示词。
- 模型脱离证据发挥:要求引用,并在证据不足时明确回答不知道。
第一次测试只用十个问题
准备 5 个资料中能直接回答的问题、3 个需要组合两段资料的问题,以及 2 个资料中没有答案的问题。逐个记录检索片段、最终回答和引用是否正确。
你已经能把检索问题和生成问题分开
- 能画出问题、检索、证据和回答的顺序。
- 知道 RAG 不等于训练模型。
- 准备了含无答案情况的测试问题。
- 每条回答都能回到原文核对。