什么是 RAG?

什么是 RAG?

RAG(Retrieval-Augmented Generation),即“检索增强生成”,是一种将检索系统(如搜索引擎、向量数据库)与生成式模型(如GPT)相结合的技术架构。

  • 检索:先从知识库中找到相关文档或片段

  • 生成:再让模型基于检索到的内容生成回答

为何要用 RAG?

  • 知识覆盖更广:无需将所有知识都塞进模型参数里

  • 易于更新:只需更新外部知识库,无需重新训练大模型

  • 回答更准确:模型可直接引用检索到的事实

RAG 的核心流程

1. 检索(Retrieval)

  1. 输入查询:用户问题(如“2025 年奥斯卡获奖名单?”)

  2. 向量化/索引查询:将问题转成向量或关键词

  3. 相似度检索:在知识库中找到 top-k 个最相关的段落

🔍 常用工具:FAISS、ElasticSearch、Weaviate

2. 生成(Generation)

  1. 拼接提示(Prompt):将检索到的片段与原始问题拼成一个“增强提示”

  2. 调用生成模型:让模型基于增强提示输出回答

  3. 后处理:可选的答案抽取、格式化、校验

┌───────────┐
│ 用户输入 │
│ “什么是RAG?”│
└─────┬─────┘


┌───────────┐
│ 检索模块 │───► 从知识库取出 Top-k 文档片段
└─────┬─────┘


┌───────────┐
│ 生成模块 │───► 基于检索结果生成最终回答
└───────────┘


┌───────────┐
│ 输出答案 │
└───────────┘

优点 缺点
知识库可独立更新 检索库质量依赖很高
提升回答准确度 增加系统复杂度
降低模型微调成本 拼接长度受限

通俗来讲,RAG 比“单纯从数据库里搬资料”多了以下几个关键好处:

  1. 降低“胡说八道”风险

    • 纯生成模型在没有足够上下文时容易“编造”答案(hallucination)。

    • RAG 先检索,再生成,把生成模型的答案都“钉”在真实文档上,答案更可靠。

  2. 知识可实时更新

    • 只要把新的文档加到知识库里,立刻就能被检索到,无需重新训练模型。

    • 相当于给助手机器人配了一本可随时增订的“活教材”。

  3. 模型体积更小、成本更低

    • 不用把所有知识都塞进大模型权重,模型规模可以更轻量。

    • 查询时主要耗费检索和一次生成调用,整体算力 & 存储成本更省。

  4. 可解释性更好

    • 你可以看到它用的是哪几段文档来回答,便于追根溯源、校对 & 审计。

    • 类似学生交作业时同时提交参考书页码,老师能直接查证。

  5. 分工更清晰、易于扩展

    • 检索模块专注“找资料”,生成模块专注“组织语言”。

    • 将来想换更好的检索(如更快的向量库)或更强的语言模型,都能单独升级,不互相捆绑。

小结

RAG 通过“先检索、再生成”的方式,让生成模型既能利用外部海量知识,又保持灵活性与可更新性。对于需要实时、专业或海量领域知识的应用场景,RAG 是一种非常实用的解决方案。

© 版权声明
THE END
喜欢就支持一下吧
点赞168 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容