检索增强生成(RAG):让大模型“查资料再回答”
【摘要】 1. 基本概念检索增强生成(Retrieval-Augmented Generation, RAG) 是一种将外部知识检索与参数化语言模型生成相结合的技术范式。其核心思想是:在生成回答之前,先从一个外部知识库(文档、向量数据库、关系型存储等)中检索出与当前问题最相关的若干片段,再将这些片段作为上下文拼入提示词,交由大模型生成最终答案。一个典型的 RAG 处理流程可分为两个阶段:离线建库阶段...
1. 基本概念
检索增强生成(Retrieval-Augmented Generation, RAG) 是一种将外部知识检索与参数化语言模型生成相结合的技术范式。其核心思想是:在生成回答之前,先从一个外部知识库(文档、向量数据库、关系型存储等)中检索出与当前问题最相关的若干片段,再将这些片段作为上下文拼入提示词,交由大模型生成最终答案。
一个典型的 RAG 处理流程可分为两个阶段:
离线建库阶段(Indexing)
- 文档加载与切分:将原始文档(PDF、Markdown、HTML 等)解析为纯文本,并按语义/长度切分为若干 chunk。
- 向量化(Embedding):使用嵌入模型将每个 chunk 映射为高维向量。
- 入库(Vector Store):将向量及对应原文写入向量数据库,建立近似最近邻索引(如 HNSW、IVF)。
在线查询阶段(Retrieval + Generation)
- 查询向量化:将用户问题用同一嵌入模型编码。
- 检索(Retrieve):在向量库中召回 Top-K 相似片段,必要时配合关键词检索、重排序(rerank)提升精度。
- 上下文拼接:把召回片段与问题按模板组装成提示词。
- 生成(Generate):大模型基于该提示词产出答案,并可附带引用来源。
简言之,RAG = 检索器(Retriever) + 生成器(Generator),二者通过提示词工程解耦协作。
2. 适用场景
RAG 在以下工程场景中尤为常见:
- 企业知识问答:基于内部文档(规章制度、产品手册、技术规范)构建问答系统,避免模型“胡编”。
- 客服与支持:接入工单、FAQ、帮助中心,让回答可溯源、可核验。
- 法律/医疗/金融领域问答:对事实准确性要求高,需引用具体条款或文献。
- 代码与文档助手:检索代码仓、API 文档、变更日志,辅助开发问答(如 Copilot Chat 的仓库级上下文)。
- 长尾与时效性知识:模型预训练截止后发生的事件、最新政策、实时报表等,通过检索外部源补充。
- 多源数据融合问答:同时检索结构化表与非结构化文本,做混合问答。
3. 优缺点分析
优势
- 事实性更强:答案有外部证据支撑,显著降低幻觉(hallucination)。
- 可溯源:可返回引用片段,便于人工审核与合规。
- 知识可低成本更新:新增/修改文档只需重建索引,无需微调或再训练模型。
- 数据私有性更好:敏感数据可留在本地知识库,不必进入模型权重。
- 参数规模可控:无需为每个领域训练专属大模型,通用大模型 + 领域库即可。
局限
- 检索质量是天花板:若召回不到正确片段,生成再强也无济于事;“检索失败”是 RAG 最常见故障源。
- 上下文长度受限:Top-K 片段过多会超出 token 预算,过少又易遗漏关键信息,需权衡。
- 切分粒度敏感:chunk 太大引入噪声,太小破坏语义连贯,跨片段信息易被割裂。
- 延迟与成本上升:相比直接生成,多出嵌入、检索、rerank 等环节,首字延迟更高。
- 复杂推理仍受限:对需要多步推理、跨文档聚合、数值计算的问题,单纯检索拼接上下文效果有限。
- 索引维护开销:文档频繁变更时,增量更新与一致性管理是工程难点。
4. 方案对比
| 维度 | 纯参数化大模型生成 | RAG | 传统知识图谱检索 |
|---|---|---|---|
| 知识存储位置 | 模型权重(隐式) | 外部向量库 + 模型权重 | 显式图结构(实体/关系) |
| 更新成本 | 高(需微调/再训练) | 低(重建/增量索引) | 中(需维护图 schema 与三元组) |
| 事实性 | 易幻觉,难溯源 | 较强,可引用片段 | 强,结构化约束严格 |
| 表达灵活性 | 高,自然语言生成流畅 | 高,继承大模型生成能力 | 较低,多返回结构化结果或模板化回答 |
| 推理/聚合能力 | 强(但可能编造) | 中(依赖检索覆盖) | 强(可做精确多跳查询) |
| 构建门槛 | 低(直接调用) | 中(需切分、嵌入、向量库) | 高(需实体抽取、关系建模) |
| 适用问题类型 | 开放生成、创意写作 | 事实问答、文档问答 | 精确关系查询、复杂关联分析 |
| 典型短板 | 时效性差、易幻觉 | 检索失败即失败 | 覆盖面窄、自然语言理解弱 |
简要总结:
- 纯参数化生成胜在即用即调、生成流畅,败在知识固化与幻觉。
- RAG 在“事实问答 + 自然语言表达”之间取得平衡,是当前性价比最高的领域适配方案。
- 知识图谱检索在精确性与可推理性上最强,但构建成本高、语义泛化弱。
实践中三者并非互斥:GraphRAG 等新兴方向正尝试将图谱的结构化检索与 LLM 生成融合,以兼顾精确性与表达力;而 RAG + 微调、RAG + Agent 多跳检索等混合范式也在不断演进。选型应回归业务诉求:对事实准确与可溯源要求高时优先 RAG,对精确关系推理要求高时引入图谱,对开放生成要求高时依赖大模型本身。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)