10+年产品经理聊聊产品、测测产品,产品人交流学习成长平台,按 Ctrl+D 收藏我们
关于我 留言板 小程序 标签云

苏米客

  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
  • 登录
  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
当前位置: 首页 » AI学习教程

RAG 入门课:什么是检索增强生成?大模型为什么离不开它?

1月前 AI学习教程 358 0

本文旨在用通俗易懂的方式解释 RAG(Retrieval Augmented Generation)是什么、为什么需要它,以及如何在实际工具(如 Cherry Studio)中“看到” RAG 的全流程。

1 什么是 RAG

过程描述

简单来讲,有两条链路,一个是数据的准备,一个是数据的使用。

数据准备:我们需要把文档进行切片,然后把切片后的文档通过嵌入模型进行向量化,再在向量数据库中创建索引并存储。

数据使用:首先我们需要把用户问题进行向量化,然后和向量数据库中的向量进行相似度匹配,把最相关的文档或片段作为上下文和问题拼到一起,让大模型根据问题和相关信息给出更好的回答。

向量化科普

假设我们有这么多的物品,我们希望通过距离来表示它们之间的相似性。

我们可以按照更接近三明治的这种程度放在坐标里。

我们除了根据三明治程度,还可以加上甜品程度,就开两个维度了,这样不同物品就被切分得更明显一些。

如果再加上液体程度的话,那么就三个维度了,区分度就更高了。

那么我们加上汤圆的话,它就会在图片的这个位置。

可以看到维度越多,区分度越高,我们就可以用位置的远近来代表物体之间的相似度。

详情参见:https://developers.google.com/machine-learning/crash-course/embeddings/embedding-space?hl=zh-cn

 

为了更直观体验,我们访问网站:https://projector.tensorflow.org/

我们只需要构造我们想要的数据:一个是它的向量,一个是对应的属性,就可以直观地在多维坐标里查看。

这里我们采用 Qoder,然后把页面的信息粘贴进去,然后把我们想构造的这些文字(最好包含名称和属性)给它描述进去。

我们把生成的两个文件导入进来,然后就可以在多维坐标里查看了。可以明显地看到含义(属性)越相似位置越近。

2 为什么需要 RAG?

那么有些同学问:为什么需要这个技术?

因为大模型训练的时候,很有可能没有你这个问题所需要的数据,比如说一些业务的信息、一些特定领域的知识等。

传统的数据库只能做精确匹配或基于字符串的模糊匹配,无法真正做到语义匹配。

有了 RAG 的话,用户提出问题,检索出“语义层面”更相关的资料,再结合这些信息回答用户问题,更容易得到准确的答案。

3 “看见”RAG 的过程

大家可以使用各种工具来体验 RAG 的过程,比如  扣子、Dify、Cherry Studio 等。

有了前面的知识之后,我们再看 Cherry Studio 中的知识库配置。

这里,嵌入模型和嵌入的维度就更好理解了。

在 Cherry Studio 中选择嵌入模型把文档“扔进去”的过程其实就是“数据准备”阶段。

对话时自动检索知识库,拼接成到上下文中,并发送给大模型得到更精确答案的过程,就是“数据使用”阶段。

4 提示词工程/RAG/微调如何选择?

选择的核心在于判断你的业务痛点是“缺数据”还是“缺技能”:

  • 如果你只需要激发模型已有的通用能力,提示工程 (Prompt Engineering) 是成本最低的首选;

  • 如果你需要模型回答它原本不知道的实时信息或企业私有数据(即高外部知识需求),必须选择 RAG 来外挂知识库;

  • 如果你需要模型深度模仿某种特定的语气、行业黑话或输出格式(即高模型适应需求),则应选择 微调 (Fine-tuning);

  • 当你既要外挂庞大的专业知识,又要模型具备极强的特定任务表现时,就需要考虑两者的结合方案。

5 RAG 应用中常见的问题?

理想很丰满,就是我们把数据准备好,然后用户提问的时候能准确地找到,然后再很好地回答我们。

但实际上会存在很多问题:

  1. 缺失内容(Missing Content)

    查询所需信息本身并不在检索底库中。当用户提问时系统无法检索到有效内容,LLM 只好“填空”并容易产生幻觉或错误答案.

  2. 未检索到高质量文档(Missed Top-Ranked Documents)

    检索系统未将相关文档排名足够靠前,导致这些重要信息无法传递给LLM,最后答案可能不完整或错误.

  3. 上下文管理失误(Context Issues)

    检索后传递给LLM的文档可能过多、冗杂或结构混乱,导致生成模型无法有效吸收和利用上下文信息.

  4. 正确答案未被提取(Extraction Errors)

    正确答案实际在上下文中,但LLM未能准确提取,因为内容结构复杂或存在矛盾信息,影响理解.

  5. 答案格式错误(Wrong Format)

    用户希望获得特定格式(如表格、列表、JSON等)的回答,但LLM未能按要求输出,影响可用性和用户体验.

  6. 细节准确度不当(Incorrect Specificity)

    LLM结果过于笼统或过度细化,没有在“泛泛而谈”和“细节泛滥”之间找到合适平衡,难以满足用户需求.

  7. 答案不完整(Incomplete Answers)

    LLM输出内容缺失部分重要信息,尽管上下文里有全部答案,但模型未能整体归纳,导致回答不全面

详情参见:Seven Failure Points When Engineering a Retrieval Augmented Generation System  论文

6 如何提升 RAG 的准确性?

6.1优化策略

数据处理策略

  • 数据清洗(Data Cleaning):确保知识库中数据的准确性与一致性,去除重复与错误项,提升下游检索和生成质量。
  • 分块策略(Chunking):合理选择分块技术、分块大小和重叠量,既保证检索的细粒度,又不丢失上下文。
  • 嵌入模型选择与调优(Embedding Model Selection & Tuning):根据场景选择最优的嵌入模型,可以针对企业数据进行微调,提高表示能力。
  • 元数据利用(Metadata):为文档添加标签、时间、主题等元数据,增强搜索过滤与排序能力。
  • 多索引设计(Multi-Indexing):将不同类型/领域数据分开索引,提升检索效率与相关性。
  • 索引算法优化(Indexing Algorithm):采用高效的 ANN 算法(如 HNSW、IVF-PQ)优化大规模向量检索。

推理与生成阶段优化

  • 检索策略(Retriever Tuning):尝试“多检索器混合”、“重排序”、“语义多样性增强”等方法,提升检索相关性。
  • 生成模型微调(LLM Fine-tuning):基于业务数据微调生成大模型,提高问答准确度和可控性。
  • Prompt 工程(Prompt Engineering):系统性优化 prompt 模板和提示策略,强化模型的指令理解与响应能力。
  • 缓存与批量处理(Caching & Batch Processing):对热点查询结果做缓存,并对批量查询做合并,提高系统吞吐与成本效率。
  • 弹性伸缩与监控(Auto-scaling & Monitoring):引入自动扩缩容(如使用 Kubernetes)和指标监控,保障高并发下的响应时延与可用性。
  • 系统实验与 A/B 测试(Controlled Experimentation & A/B Testing):通过线上实验对比不同参数组合的实时效果,实现性能的持续优化。

补充建议

  • 模型压缩与推理加速(Model Compression):采用量化、剪枝、蒸馏等技术降低模型推理延迟和成本。
  • API 设计与用户反馈回路:提供流式响应和上下文感知的接口,采集用户反馈,持续闭环优化。

详情参见:https://towardsdatascience.com/a-guide-on-12-tuning-strategies-for-production-ready-rag-applications-7ca646833439/

6.2 使用更先进的 RAG 框架

如 Advanced RAG 加上前置处理(查询路由/查询改写/查询扩写)和后置处理(重排序/摘要/融合)。

如 Modular RAG 将整个RAG系统看作是一个由可插拔的“模块”组成的灵活框架。

HybridRAG 是一个框架,它通过结合知识图谱(GraphRAG)和向量数据库(VectorRAG)的检索结果来增强问答系统,旨在提供比单独使用任何一种方法都更准确的答案 。

详情参见:HybridRAG: Integrating Knowledge Graphs and Vector Retrieval Augmented Generation for Efficient Information Extraction

KAG (Knowledge Augmented Generation) 是一个面向专业领域的知识服务框架,它利用知识图谱和向量检索的互补优势,通过 LLM 友好的知识表示、逻辑形式引导的混合推理、知识对齐等关键技术,双向增强 LLM 和知识图谱的性能 。

详情参见:KAG: Boosting LLMs in Professional Domains via Knowledge Augmented Generation

SELF-RAG  (Self-Reflective Retrieval-Augmented Generation) 是一个通过自我反思来提升 LLM 质量和事实性的框架,它训练模型按需自适应地检索信息,并使用特殊的“反思令牌”(reflection tokens)来生成、反思和批判检索到的内容及其自身的输出。

详情参见:Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection

LightRAG 是一个旨在实现简单快速的 RAG 框架,它通过将图结构纳入文本索引、采用双层(低级和高级)检索系统以及增量更新算法,来高效地检索复杂信息并快速适应数据变化 4444。

详情参见:LightRAG: Simple and Fast Retrieval-Augmented Generation

7 写在最后

RAG 弥补了“缺数据(缺知识)”的问题,但也不是“银弹”。

RAG 虽然追求语义上的匹配,但数据构造的成本高,本身的质量,嵌入模型的好坏,提取后处理等都会影响结果。

RAG 整体来说本身脱离了大模型的“控制范围”,偏“工程能力”,还不够智能。

希望未来能够有新技术出现取而代之。

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
未经允许不得转载:RAG 入门课:什么是检索增强生成?大模型为什么离不开它?
#RAG #入门课 
收藏 1
Grok 4.1 突袭上线,碾压登顶,EQ 提升 + 幻觉率下降
从通用到专精:三款开源数据标注工具Label Studio、LabelLLM、doccano 全面对比与选型指南
推荐阅读
  • 手把手教你将本地RAGFlow转变为远程服务,共享本地RAGFlow知识库
  • Text-to-SQL聊天机器人实战:用RAG、LangChain和Streamlit搭建了一个“数据库分析师”
  • 手把手教你用AI 5分种帮你写好n8n工作流,小白也能玩转自动化!
  • 手把手教你零代码10分钟上手Coze,扣子实战开发 AI 智能体
  • DeepSite:一键搭建 AI 网页,堪比Cursor的在线版“氛围编程”神器!
评论 (0)
请登录后发表评论
分类精选
Cursor永久免费攻略:无限邮箱注册+重置机器码+Cursor试用期重置工具实现永久免费使用
42044 1年前
手把手教你如何使用扣子Coze搭建“文生图” AI Bot
17701 1年前
n8n新手入门指南:5 分钟本地部署 + 中文汉化 + 快速启动,玩转工作流(Docker版)
16097 6月前
安装字节Trae登录提示App Unavailable(应用程序不可用)解决办法,这份官方指南请收好!
15973 10月前
一文搞懂什么是 Vibe Coding?Vibe Coding工具推荐及Cursor编程开发实践
11555 8月前
Gemini CLI 装好了,登录异常怎么办?手把手教你解决 Gemini CLI 登录问题
11075 6月前
手把手教你使用 Gemini 2.5 Pro 免费 API搭建本地知识库,一键接入 Gemini!
10530 6月前
零基础上手 VSCode + Claude Code + GLM-4.6 保姆级安装配置教程
8118 2月前
手把手教你用AI克隆声音:AnyVoice,只需 3 秒在线免费克隆声音,超真实的语音生成
7341 10月前
手把手教你如何用海螺Ai克隆自己的声音,支持情绪化的声音克隆
6909 1年前

文章目录

关注「苏米客」公众号

订阅推送更及时,手机查看更方便
分类排行
1 手把手教你用Claude Code + MiniMax M2.1 开发接入实战
2 手把手教你用腾讯IMA搭建个人知识库,两个案例实战结构化个人知识库
3 手把手教你用Everywhere + 智谱免费API实现真正的看得见,能操作的多模态桌面 AI 助理
4 AI 概念篇:Token是什么?一文讲清楚Token分词、窗口、计费与常用计算工具
5 手把手教你用Fish Audio实现文本转语音、声音克隆与故事对话播客
6 手把手教你将本地RAGFlow转变为远程服务,共享本地RAGFlow知识库
7 从截图到代码:用Google Antigravity 快速1:1复刻网页前端界面实操指南
8 手把手教你本地部署大模型,用Ollama+Cherry Studio实战搭建本地AI知识库
9 手把手教你在树莓派上部署n8n,一款便携式AI工作流硬件就此诞生!
10 手把手教你如何免费薅 Qwen3 系列大模型 100万Token 额度免费API
©2015-2024 苏米客XMSUMI 版权所有 · WWW.XMSUMI.COM 闽ICP备14005900号-6
微信文章助手 程序库 免费影视APP 免费字体下载 Axure RP 10 免费Axure模板 Axure元件库下载 申请友联