当前位置: 首页 > news >正文

大模型RAG (一)

一、RAG介绍

1、LLM的缺陷

  • LLM的知识不是实时的,不具备知识更新.
  • LLM可能不知道你私有的领域/业务知识.
  • LLM有时会在回答中生成看似合理但实际上是错误的信息。

2、为什么会用到RAG

  • 减少幻觉(Hallucination):回答基于真实资料,大幅降低 AI 编造事实的概率。
  • 知识实时更新:只需更新外部文档库,无需重新训练昂贵的大模型。
  • 接入私有数据:让通用 AI(如 GPT)使用企业内部文件、客户数据等私有知识。
  • 可追溯、可验证:回答可附带来源链接 / 文档,方便审核与查证。
  • 成本更低:相比全量微调(Fine-tuning),RAG 是更经济的领域适配方案。

总之:

  • 提高准确性:通过检索相关的信息,RAG可以提高生成文本的准确性。
  • 减少训练成本:与需要大量数据来训练的大型生成模型相比,RAG可以通过检索机制来减少所需的训练数据量,从而降低训练成本。
  • 适应性强:RAG模型可以适应新的或不断变化的数据。由于它们能够检索最新的信息,因此在新数据和事件出现时,它们能够快速适应并生成相关的文本。

3、RAG 定义

RAG (Retrieval Augmented Generation 检索增强生成)是一种让大语言模型(LLM)在回答问题时,先从外部知识库检索相关信息,再基于检索到的内容生成回答的 AI 技术框架。

简单来说,就是让模型 **“开卷考试”**,先查资料再作答

4、RAG vs. 传统搜索 vs. 模型微调

  • 传统搜索:返回文档片段,需要用户自己阅读总结;RAG:直接返回自然语言答案。
  • 纯 LLM:知识有截止日期、易编造;RAG:基于外部实时 / 私有数据。
  • 模型微调(Fine-tuning):修改模型权重、成本高、难更新;RAG:外挂知识库、成本低、易更新。

RAG文档:2312.10997

5、核心工作流程

RAG 主要分为离线构建在线查询两大阶段:

1. 离线:构建知识库(Indexing)
  • 文档处理:将 PDF、Word、网页等资料切割成小文本块(Chunk)。
  • 向量化(Embedding):用 Embedding 模型将每个文本块转换成数值向量(代表语义)。
  • 存储:将向量与原文存入向量数据库(Vector DB)

2. 在线:查询与生成
  1. 检索(Retrieval):用户提问 → 问题向量化 → 在向量库中做语义相似度搜索→ 找出最相关的几段文本。
  2. 增强(Augmentation):将用户问题 + 检索到的参考资料,拼接成一个新的 Prompt。
  3. 生成(Generation):将 Prompt 送入 LLM,模型严格依据参考资料生成最终回答。

6、典型应用场景

  • 企业智能客服:基于产品手册、内部规章回答员工 / 客户问题。
  • 法律 / 医疗助手:引用法条、病历、文献生成专业分析。
  • 学术研究:总结论文、基于最新文献回答专业问题。
  • 个人知识库:基于自己的笔记、邮件、资料进行问答。

7、核心技术栈(简版)

  • 向量数据库:Milvus, FAISS, Pinecone, Chroma
  • Embedding 模型:text-embedding-ada-002, BGE, E5
  • LLM:GPT-4o, Claude 3, Llama 3, 通义千问
  • 框架:LangChain, LlamaIndex

二、完整走一遍RAG(检索增强生成)流程。

场景:用公司内部产品手册,做一个智能问答客服

一、先明确目标

用户问:

“咱们这款智能门锁支持指纹解锁吗?最多能录几个指纹?”

纯大模型会瞎编(幻觉),RAG 会先去查手册 → 再回答


二、第 1 步:准备知识库(离线)

你有一份:智能门锁产品手册.pdf

1. 文档切分(Chunking)

把长 PDF 切成小段,比如:

  • chunk1:产品外观、材质
  • chunk2:解锁方式(指纹、密码、NFC)
  • chunk3:指纹录入上限说明
  • chunk4:电池续航
  • ...

2. 向量化(Embedding)

把每个 chunk 变成一串数字向量(语义向量)。比如:

  • “指纹最多支持 50 个” →[0.12, 0.45, 0.67, ...]

3. 存入向量数据库

向量 + 原文一起存起来,方便后面快速检索。


三、第 2 步:用户提问(在线)

用户问题:

“智能门锁支持指纹吗?能录多少个?”

1. 问题向量化

把问题也变成向量:[0.11, 0.46, 0.68, ...]

2. 向量检索(最关键一步)

系统在向量库里找最相似的 chunks

  • 最相似:chunk2(解锁方式)
  • 次相似:chunk3(指纹上限)

返回结果:

chunk2:本门锁支持指纹、密码、NFC 三种解锁方式。chunk3:指纹最多支持录入 50 个。


三、第 3 步:构造 Prompt(增强)

问题 + 检索到的资料一起喂给大模型:

请根据以下资料回答问题,不要编造。

资料:

1. 本门锁支持指纹、密码、NFC 三种解锁方式。

2. 指纹最多支持录入 50 个。

问题:智能门锁支持指纹吗?能录多少个?

四、第 4 步:大模型生成回答

模型输出:

这款智能门锁支持指纹解锁,最多可以录入 50 个指纹。

这就是 RAG:检索 → 增强 → 生成


五、RAG 检索增强生成 标准技术架构框图

六、RAG 干了啥

  • 传统 LLM:闭卷考试,容易瞎编
  • RAG:开卷考试,先查资料再答题

一句话极简版:先查资料 → 再给答案

检索 = 查书

增强 = 把书里内容放进问题里

生成 = AI 整理成通顺回答

先外挂知识库检索 → 再把资料喂给模型 → 最后生成可靠回答

三、RAG系统搭建流程

英文术语中文释义
User用户
Query查询
Input输入
Output输出
Knowledge base知识库
loader加载
Documents文档
Spliter切分
document snippets文档片段
Embedding Machine嵌入器
Embeddings向量化
Vetor Database向量数据库
Similarity query相似度查询
Relevant Snippets相关片段
Combine Context and Prompt结合上下文和提示
Indexing索引
Retrieval检索

索引(Indexing):索引首先清理和提取各种格式的原始数据,如PDF、HTML、Word、Markdown,然后将其转换为统一的纯文本格式。为了适应语言模型的上下文限制,文本被分割成更小的、可消化的块【chunk】。然后使用嵌入模型将块编码成向量表示,并存储在向量数据库中。这一步对于在随后的检索阶段实现高效的相似性搜索至关重要。知识库分割成chunks,并将chunks向量化至向量库中。

检索(Retrieval):在收到用户查询(Query)后,RAG系统采用与索引I阶段相同的编码模型将查询转换为向量表示,然后计算索引语料库中查询向量与块向量的相似性得分。该系统优先级和检索最高k(Top-K)块,显示最大的相似性查询。
例如,二维空间中的向量可以表示为(x,y),表示从原点(0,0)到点(x,y)的有向线段

1.将文本转成一组浮点数:每个下标i,对应一个维度
2.整个数组对应一个n维空间的一个点,即文本向量又叫Embeddings
3.向量之间可以计算距离,距离远近对应语义相似度大小

http://www.jsqmd.com/news/657686/

相关文章:

  • 2026 学术降维打击:9 大 AI 查重降重工具,从重复率 99% 到安全过审全攻略
  • 大模型的参数量-为什么 24B 是一个“甜蜜点“?
  • 5分钟快速上手:开源视频智能分析工具的完整指南
  • vivo X300 Ultra长焦套件集市游玩体验佳,小巧轻便成家庭出游必备!
  • 嵌入式老鸟的VSCode私房插件清单:除了C/C++,这些调试和效率工具让你事半功倍
  • BilibiliUploader:Python自动化投稿工具的高效解决方案
  • 从零搭建思澈科技SiFli-Solution开发环境:避坑指南与实战演练
  • 【SITS2026官方认证指南】:AI文档生成工具选型、落地与合规避坑的7大黄金法则
  • 为了追求极致的性能,光学系统必须从“组装件”向“整体件”转变
  • 微软新 Xbox 负责人阿莎·夏尔马忙不停:Game Pass 定价待调,“螺旋计划”影响几何?
  • day3-实训学习记录
  • 百度网盘秒传工具终极指南:3分钟掌握快速转存技巧
  • 若依WMS仓库管理系统:企业级仓储管理的现代化解决方案
  • 花0.5s用openclaw写出来的vx小游戏,运行跑完全程无误,欢迎来找茬~
  • 告别base环境自动激活:CentOS7安装Miniconda后必做的几项贴心配置
  • 从DALL·E到Stable Diffusion:VQGAN编码器为何仍是AIGC的幕后功臣?
  • 大模型智能体与MCP(三) 使用ollama本地部署Deepseek R1 32B模型
  • 一区Top/IF 8.3!六大老年数据库联合争议话题,澳门大学博士这篇文章真的赢麻了
  • 从复古游戏到电子墨水屏:聊聊Floyd-Steinberg抖动算法的那些神奇应用场景
  • 终极指南:如何用lunar-javascript构建专业级农历计算应用
  • STM32掉电保护实战:用PVD在断电瞬间保存关键数据(附HAL库代码)
  • ComfyUI ControlNet Aux:30+预处理器的AI绘画精准控制解决方案
  • 【仅限2026Q1有效】SITS2026圆桌推荐:5套可立即嵌入CI/CD的AIGC代码可信性校验工具链(含开源License兼容性清单)
  • 基于SPDConv(空间-深度卷积)-BiLSTM (双向长短期记忆神经网络)多变量时间序列预测
  • 别光刷题了!用这5个真实嵌入式项目片段,检验你的C语言功底到底扎不扎实
  • 图片批量添加满屏文字水印工具:Windows桌面端实操指南
  • 揭秘Rescuezilla:系统恢复领域的瑞士军刀深度解析
  • 手把手调参:sklearn中Isomap的n_neighbors怎么选?用鸢尾花数据集可视化不同k值效果
  • Winhance中文版:3步快速优化Windows系统的完整指南
  • 如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS