什么是RAG(Retrieval-Augmented Generation)?一文读懂检索增强生成

什么是RAG?

RAG是一种结合文档检索(Retrieval)与语言模型生成(Generation)的技术,它的核心思想是:先查资料,再作答

RAG是"知识"和"大模型"的桥梁。

与传统LLM(Large language model,大型语言模型,如chartgpt)不同,RAG不完全依赖模型内部知识,而是将用户的问题与一个外部知识库结合,通过检索获取相关文档,再交由语言模型生成回答。

为什么会有RAG?

RAG的出现,是为了解决传统打语言模型(LLM)在真实应用中的三大痛点:

  1. 知识截止问题:LLM的知识固定在训练时的数据(如GPT-3.5截止到2021年),无法回答新的事实、最新的政策、技术文档更新等问题
  2. 幻觉(Hallucination):LLM可能编造事实,当模型遇到知识空白时,它会"自洽的胡说八道",表面看似合理,实则错误
  3. 无法访问私有知识:无法访问公司内部知识、专属文档、个人数据等非公开内容

RAG的优势

功能 说明
外部知识接入 实时连接知识库,让模型不止靠记忆
提升问答可信度 基于真实内容作答,减少幻觉
支持复杂问答 多文档融合后,能支持长文档或跨文档问答
可快速迭代 只需要更新知识库,无需重复训练模型
企业智能化 支撑内部问答、助手、客服等应用场景

RAG的典型应用场景

  • 客户服务助手
  • 金融文档的自动文档
  • 企业文档助手,客服机器人
  • 医学指南、病例支持

RAG工作流程

如何搭建一个简单的RAG系统

工具选型(可用):

  • 文档向量化:OpenAI Embedding API
  • 向量数据库:FAISS
  • 生成模型(选择已有模型):OpenAI GPT
  • 框架推荐:LangChain、LlamIndex、Haystack

步骤概览:

  1. 文档预处理(切片、清洗)
  2. 文本向量化并存入数据库
  3. 接收用户问题 -> 转成向量 -> 检索相似片段
  4. 将检索内容 + 问题作为Prompt输出LLM生成回答

参考文章

下一步计划

搭建一个软考相关RAG系统。

相关推荐
虾条_花吹雪2 小时前
Using Spring for Apache Pulsar:Transactions
ai·spring pulsar
想成为风筝2 小时前
从零开始学习深度学习—水果分类之PyQt5App
人工智能·深度学习·计算机视觉·pyqt
F_D_Z2 小时前
MMaDA:多模态大型扩散语言模型
人工智能·语言模型·自然语言处理
大知闲闲哟2 小时前
深度学习G2周:人脸图像生成(DCGAN)
人工智能·深度学习
飞哥数智坊2 小时前
Coze实战第15讲:钱都去哪儿了?Coze+飞书搭建自动记账系统
人工智能·coze
wenzhangli73 小时前
低代码引擎核心技术:OneCode常用动作事件速查手册及注解驱动开发详解
人工智能·低代码·云原生
虾条_花吹雪3 小时前
Using Spring for Apache Pulsar:Message Production
java·ai·中间件
潘达斯奈基~3 小时前
大模型的Temperature、Top-P、Top-K、Greedy Search、Beem Search
人工智能·aigc
倔强青铜三4 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三4 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试