RAG 的基本流程
RAG 是 Retrieval-Augmented Generation 的缩写,通常翻译为检索增强生成。它的核心思想是:让模型在回答前先检索相关资料,再基于资料生成结果。
为什么需要 RAG
大模型本身参数中包含大量知识,但这些知识可能过期,也不一定包含私有资料。RAG 通过外部知识库补充上下文,让回答更贴近指定资料。
它并不是让模型“记住”新知识,而是在每次回答时临时提供相关内容。
基本步骤
一个典型 RAG 流程包括:
- 文档切分:把长文档拆成适合检索的小块;
- 向量化:把文本转换成向量表示;
- 检索:根据问题找出相关片段;
- 重排:对候选片段重新排序;
- 生成:把问题和片段一起交给模型回答。
其中每一步都会影响最终效果。
切分很重要
文档切得太大,检索结果可能包含太多无关内容;切得太小,又可能丢失上下文。实际使用中经常需要根据文档类型调整 chunk 大小和重叠长度。
检索结果要可引用
好的 RAG 系统不只给答案,还应该能指出答案来自哪些片段。引用来源能帮助用户判断可信度,也方便排查错误。
小结
RAG 的价值在于把生成能力和外部资料结合起来。它不是万能答案机,效果取决于文档质量、切分方式、检索准确性和生成约束。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xiaobai050!