RAG 是什么
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索与文本生成的技术架构。其核心流程为:
- 接收用户问题,将其转化为查询向量。
- 从外部知识源(文档库、数据库等)检索与问题最相关的内容片段。
- 将检索到的片段作为参考上下文,连同用户问题一并传递给大语言模型。
- 模型基于检索结果生成有事实依据的回答。
RAG 的核心优势在于让模型能够引用训练数据之外的、最新的或私有的知识,同时保留大语言模型的语言理解和生成能力。
为什么 RAG 很重要
RAG 解决了大语言模型的几个关键局限:
- 知识时效性:模型的训练数据有截止日期,RAG 允许实时接入最新的文档和数据。
- 领域专业性:通过注入特定领域的文档,使通用模型具备领域专家级的回答能力。
- 可追溯性:每个回答都可以标注信息来源,用户能够验证回答的准确性。
- 降低幻觉:有了事实依据作为锚点,模型编造信息的概率显著降低。
常见误区
- RAG 不能消除幻觉:模型仍可能忽略检索到的内容或对其进行错误解读,需要通过提示词设计和输出校验来进一步控制。
- 检索质量决定上限:如果检索环节未能返回相关文档,模型的回答质量不会因为使用了 RAG 架构而自动提升,”垃圾进,垃圾出”的原则同样适用。
- RAG 不是万能方案:对于需要复杂推理或创意生成的任务,单纯依赖检索结果可能限制模型的发挥;需根据任务特点选择纯生成、RAG 或微调方案。