news 2026/6/10 21:48:31

大模型中Rag的介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型中Rag的介绍

检索增强生成(Retrieval-Augmented Generation,简称 RAG)是大模型(LLM)领域中一种结合外部知识检索与语言生成的关键技术,旨在解决大语言模型的三大核心缺陷:

  • 知识滞后性(训练数据截止后无法更新)
  • 事实幻觉(编造看似合理但错误的信息)
  • 领域知识缺失(缺乏企业私有或专业领域数据)

一、RAG 的核心思想

“让大模型学会查资料”—— 在生成答案前,先从外部知识库中检索相关证据,再基于真实信息生成回答。

其工作流程可概括为三步:

用户提问 → 检索相关文档 → 生成基于证据的答案

这模仿了人类解决问题的方式:遇到不懂的问题,先查资料,再作答。


二、RAG 的标准架构(三阶段)

1.提取(Extraction / Indexing)

  • 将企业私有数据(PDF、网页、数据库、代码库等)切分为文本块(Chunks)
  • 使用嵌入模型(Embedding Model)(如 BAAI/bge、text-embedding-ada-002)将每个文本块转换为向量(Embedding)
  • 存入向量数据库(如 FAISS、Chroma、Pinecone、Milvus)建立索引。

✅ 目标:构建一个可高效语义搜索的知识库。


2.检索(Retrieval)

  • 用户提问时,用同一嵌入模型将问题转为向量;
  • 在向量数据库中执行近似最近邻搜索(ANN),找出 Top-K 最相关的文本块;
  • 可选优化:
    • 查询重写(Query Rewriting):将模糊问题改写为更精准的检索式;
    • 混合检索:结合关键词(BM25) + 向量检索;
    • 重排序(Re-ranking):用交叉编码器(如 BGE-reranker)对初检结果精排。

✅ 目标:召回高相关、高质量的上下文证据。


3.生成(Generation)

  • 原始问题 + 检索到的上下文拼接成 Prompt,输入大语言模型(如 Llama3、GPT-4、Qwen);
  • LLM 基于提供的证据生成准确、可靠、可溯源的回答;
  • 典型 Prompt 模板:
    请根据以下上下文回答用户问题。如果上下文不相关,请回答“我不知道”。 上下文: {retrieved_text} 问题: {user_query} 回答:

✅ 目标:生成事实一致、减少幻觉的答案。


三、RAG vs 纯大模型(Without RAG)

能力纯 LLMRAG
回答 2024 年公司财报❌(训练数据截止于 2023)✅(从最新财报 PDF 检索)
解释内部产品文档❌(未见过私有数据)✅(从 Confluence 检索)
引用具体条款❌(可能编造法条编号)✅(直接引用检索到的原文)
知识更新成本需重新训练(昂贵)只需更新向量库(低成本)

四、RAG 的典型应用场景

  1. 企业知识问答系统
    • 员工问:“报销流程是什么?” → 自动从 HR 手册检索并回答。
  2. 智能客服
    • 结合产品文档、FAQ 库,提供准确技术支持。
  3. 法律/医疗辅助
    • 检索法规条文或病历记录,生成合规建议。
  4. 代码助手
    • 从内部代码库检索相似实现,辅助编程。
  5. 多模态 RAG
    • 检索图像、表格、视频片段,生成跨模态回答(如 GPT-4V + RAG)。

五、RAG 的进阶演进(Advanced RAG)

技术说明
HyDE(Hypothetical Document Embeddings)先让 LLM 生成一个假设答案,再用该答案去检索,提升召回率
子查询(Sub-query)将复杂问题拆解为多个子问题分别检索
递归检索(Recursive Retrieval)先检索文档元信息(如标题),再深入检索具体内容
Graph RAG构建知识图谱,利用实体关系增强检索(微软提出)
Self-RAG模型自主判断是否需要检索、是否使用检索结果(带反思机制)

六、常用开源工具链

组件工具
框架LangChain、LlamaIndex、Haystack
嵌入模型BGE(智源)、gte-Qwen、text-embedding-3-small(OpenAI)
向量数据库Chroma(轻量)、Pinecone(云服务)、Milvus(高性能)
重排序模型BGE-reranker、Cohere Rerank
评估工具Ragas(评估忠实度、相关性、答案质量)

七、RAG 的局限与挑战

  • 检索质量依赖:若检索不到关键信息,LLM 仍会幻觉;
  • 上下文长度限制:长文档需智能分块,避免信息割裂;
  • 延迟问题:检索 + 生成比纯 LLM 更慢;
  • 多跳推理难:复杂问题需多次检索-推理循环(Agent 可缓解)。

总结:RAG 的价值

RAG 不是替代大模型,而是为其“外挂大脑”
它以低成本、高可控性的方式,将大模型的“通用智慧”与“专属知识”结合,是当前最实用、最落地的大模型应用范式之一

正如业界共识:

“不要微调模型来记住知识,而要用 RAG 让模型学会查找知识。”

对于企业而言,RAG 是构建安全、可信、可维护的 AI 应用的首选路径。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 18:56:53

java常见面试题——适用于2-5年后端开发面试(一)

1、什么是索引回表,如何避免? 关于这个问题,这里以 MySQL InnoDB 来说,先简单介绍下 MySQL InnoDB 的 B 树索引。 B 树索引主要可以分为两种索引,聚集索引和非聚集索引。 聚集索引:也就是平常我们说的主…

作者头像 李华
网站建设 2026/6/10 18:57:07

Java-List,Set,Map(八股)

List实现方法:ArrayList,LinkedList(两者都不保证线程安全)底层数据结构:ArrayList底层使用的是Object数组,LinkedList底层使用的是双向链表。使用场景:ArrayList适用于需要频繁访问集合元素的场景。基于数…

作者头像 李华
网站建设 2026/6/9 23:46:37

Nodejs和vue框架的医院就诊管理系统__在线问诊系统

文章目录医院就诊管理系统与在线问诊系统摘要--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!医院就诊管理系统与在线问诊系统摘要 该系统基于Node.js后端与Vue.js前端框架开发,实现了医院就诊流程数字…

作者头像 李华
网站建设 2026/6/10 18:58:59

Kubernetes Cluster Overview (Complete Edition) - 企业级集群监控仪表板

概述 Kubernetes Cluster Overview (Complete Edition) 是一个企业级的 Kubernetes 集群监控仪表板,提供从基础设施到应用层的全面监控覆盖。该仪表板基于 Prometheus + Grafana 技术栈,为运维团队提供集群健康、性能分析、资源管理和容量规划的完整视图。 架构特点 🎯 …

作者头像 李华