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

大模型幻觉背后的真相:RAG技术如何让AI“先查资料再回答”?

你是否遇到过这种情况:向朋友提问,他不查资料、不思考验证,随口给出看似合理实则编造的答案。

大模型也类似,很多时候它不是“查询信息”,而是“基于知识储备推测合理答案”,这就是“大模型幻觉”产生的原因。

那有没有办法让模型回答前先“查阅资料”呢?今天介绍的RAG技术就能做到。RAG虽听起来高深,核心却只有“检索”与“生成”,即先检索、再生成,也就是“检索增强生成”。

为什么要用RAG?

先看一个本质问题:传统大模型的局限。大模型(LLM)的知识来源是训练数据(互联网语料)和固定时间点(有知识截止),因此存在三个致命问题:无法获取最新信息、无法访问私有数据(如文档、数据库)以及容易编造答案(幻觉)。

RAG的核心思路可以一句话总结:在模型回答问题之前,先“查资料”,再回答。也就是不直接让LLM“凭记忆回答”,而是给它“开卷考试”,回答也就更贴近实际。

RAG到底是怎么工作的?

举个例子,在一份上百页的文档中,只有极少部分内容对用户有用。RAG技术会将这份文档切分为若干片段,然后筛选出真正对用户有用的5个片段,与用户的提问一同发送给大模型。这样大模型便只需处理这5个片段,而非整个文档。

但这只是一个简化的步骤,为了更直观感受,下面是我用Gemini生成的一个RAG架构图:

RAG本质上是一个三阶段流程:

  1. 数据准备(离线阶段)

首先需要完成知识库的构建工作,具体分为三个步骤:

Step1:文档切分(Chunking)

将长文本拆分为适合处理的小块,常见方式包括按每段200~500字划分或按语义逻辑切分。比如这是因为大模型单次处理的上下文长度存在限制。

Step2:向量化(Embedding)

将每个文本块转换为向量形式,例如"RAG可以提升回答准确性"会被转化为[0.12, -0.98, …]这样的向量。其核心原理是:语义相似的文本对应的向量距离更近。

Step3:存入向量数据库

常用的向量数据库方案有FAISS(本地部署)、Milvus(分布式系统)和Chroma(轻量级工具)。完成这一步后,就构建出了一个可高效搜索的知识库。

  1. 检索阶段(在线)

当用户提出问题时,系统会执行以下操作:

Step1:问题向量化:将用户问题转换为向量形式;

Step2:相似度搜索:在向量数据库中查找最相关的Top-K文本块(通常K取值为3或5)。

  1. 生成阶段(LLM)

将检索到的内容与用户问题一同输入大模型,格式示例如下:

  • 已知信息:[文档片段1]、[文档片段2]
  • 问题:RAG的作用是什么?
  • 请基于以上信息回答

这一阶段的关键在于:模型不再依赖记忆"瞎猜",而是基于检索到的证据进行回答。

简易RAG实现

为确保RAG测试的准确性,我先让AI生成了一篇虚构文章,随后将该文章输入RAG系统,使其基于这篇文章回答相关问题。

下面第一步:文档切片

我是按照制表符进行切分的,这里是可以看到我们准备的文章被分成了很多片段

第二步:向量化

加载一个中文预训练嵌入模型:shibing624/text2vec-base-chinese,将中文文本转换为数值变量,并为所有段落生成嵌入向量,这里首次加载模型可能得等几分钟。

第三步:存入向量数据库

这一步就是把嵌入向量存入向量数据库,到这在用户提问之前的数据准备工作就全部完成了。

第四步:向量检索

将用户的问题生成对应语义向量,根据向量相似度在向量数据库中进行检索。

第五步:重排序

如果只使用向量检索可能会检索出很多相关片段,但上下文窗口有限,而且噪音也会污染模型,所以需要进行重排序。一句话总结就是:向量检索负责“找可能相关的”,重排序负责“找最相关的”。

第六步:生成回答

这里使用了Gemini的API Key,将我们检索出的片段与用户问题一同输入大模型,再通过制定Prompt引导模型生成答案。

到这里,我们的简易RAG系统就已全部实现了。完整优化后的代码及相关资料我已整理至公众号后台,感兴趣的伙伴可在后台私信【简易RAG系统】领取。

总结

RAG本质上并非让模型变得更聪明,而是让模型不再单纯依赖“记忆”,而是学会“查资料”。若作类比:LLM就像是“大脑”,那么RAG则相当于为它配备了一套“搜索引擎 + 笔记系统”。

未来的大模型应用,不会是“单纯的模型能力竞争”,而是“模型 + 数据 + 检索能力”的组合竞争。

01

什么是AI大模型应用开发工程师?

如果说AI大模型是蕴藏着巨大能量的“后台超级能力”,那么AI大模型应用开发工程师就是将这种能量转化为实用工具的执行者。

AI大模型应用开发工程师是基于AI大模型,设计开发落地业务的应用工程师。

这个职业的核心价值,在于打破技术与用户之间的壁垒,把普通人难以理解的算法逻辑、模型参数,转化为人人都能轻松操作的产品形态。

无论是日常写作时用到的AI文案生成器、修图软件里的智能美化功能,还是办公场景中的自动记账工具、会议记录用的语音转文字APP,这些看似简单的应用背后,都是应用开发工程师在默默搭建技术与需求之间的桥梁。

他们不追求创造全新的大模型,而是专注于让已有的大模型“听懂”业务需求,“学会”解决具体问题,最终形成可落地、可使用的产品。

CSDN粉丝独家福利

给大家整理了一份AI大模型全套学习资料,这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取【保证100%免费】

02

AI大模型应用开发工程师的核心职责

需求分析与拆解是工作的起点,也是确保开发不偏离方向的关键。

应用开发工程师需要直接对接业务方,深入理解其核心诉求——不仅要明确“要做什么”,更要厘清“为什么要做”以及“做到什么程度算合格”。

在此基础上,他们会将模糊的业务需求拆解为具体的技术任务,明确每个环节的执行标准,并评估技术实现的可行性,同时定义清晰的核心指标,为后续开发、测试提供依据。

这一步就像建筑前的图纸设计,若出现偏差,后续所有工作都可能白费。

技术选型与适配是衔接需求与开发的核心环节。

工程师需要根据业务场景的特点,选择合适的基础大模型、开发框架和工具——不同的业务对模型的响应速度、精度、成本要求不同,选型的合理性直接影响最终产品的表现。

同时,他们还要对行业相关数据进行预处理,通过提示词工程优化模型输出,或在必要时进行轻量化微调,让基础模型更好地适配具体业务。

此外,设计合理的上下文管理规则确保模型理解连贯需求,建立敏感信息过滤机制保障数据安全,也是这一环节的重要内容。

应用开发与对接则是将方案转化为产品的实操阶段。

工程师会利用选定的开发框架构建应用的核心功能,同时联动各类外部系统——比如将AI模型与企业现有的客户管理系统、数据存储系统打通,确保数据流转顺畅。

在这一过程中,他们还需要配合设计团队打磨前端交互界面,让技术功能以简洁易懂的方式呈现给用户,实现从技术方案到产品形态的转化。

测试与优化是保障产品质量的关键步骤。

工程师会开展全面的功能测试,找出并修复开发过程中出现的漏洞,同时针对模型的响应速度、稳定性等性能指标进行优化。

安全合规性也是测试的重点,需要确保应用符合数据保护、隐私安全等相关规定。

此外,他们还会收集用户反馈,通过调整模型参数、优化提示词等方式持续提升产品体验,让应用更贴合用户实际使用需求。

部署运维与迭代则贯穿产品的整个生命周期。

工程师会通过云服务器或私有服务器将应用部署上线,并实时监控运行状态,及时处理突发故障,确保应用稳定运行。

随着业务需求的变化,他们还需要对应用功能进行迭代更新,同时编写完善的开发文档和使用手册,为后续的维护和交接提供支持。

03

薪资情况与职业价值

市场对这一职业的高度认可,直接体现在薪资待遇上。

据猎聘最新在招岗位数据显示,AI大模型应用开发工程师的月薪最高可达60k。

在AI技术加速落地的当下,这种“技术+业务”的复合型能力尤为稀缺,让该职业成为当下极具吸引力的就业选择。

AI大模型应用开发工程师是AI技术落地的关键桥梁。

他们用专业能力将抽象的技术转化为具体的产品,让大模型的价值真正渗透到各行各业。

随着AI场景化应用的不断深化,这一职业的重要性将更加凸显,也必将吸引更多人才投身其中,推动AI技术更好地服务于社会发展。

CSDN粉丝独家福利

给大家整理了一份AI大模型全套学习资料,这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取【保证100%免费】

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

相关文章:

  • OpenClaw联网搜索终极配置指南:给你的AI装上“实时眼睛”
  • RAGFlow + Ollama 搭建本地知识库:30 分钟跑通
  • 保姆级教程:用Python仿真SAR欺骗干扰(附代码与避坑指南)
  • 用torch.mul()给CV模型加『注意力』:手把手实现特征图空间权重调制
  • 5大突破性功能:如何用OpenVINO AI插件彻底改变你的音频创作流程
  • 终极Cookie本地导出工具:如何在浏览器中安全获取cookies.txt文件
  • 告别手动抄录!用Android手机+GreenDao快速搭建NFC卡号采集与Excel导出工具
  • 终极学术效率神器:Elsevier Tracker让投稿进度监控自动化
  • GPU算力梯队:选卡必看指南
  • 从PSPNet到CCNet:语义分割中的上下文建模演进史,我们到底需要多‘全局’?
  • 从零开始玩转ZU19EG评估板:手把手教你搭建第一个ZYNQ MPSoC原型系统(含资源分配避坑指南)
  • 番茄叶片病害检测数据集分享(适用于YOLO系列深度学习分类检测任务)
  • 人工智能+到底加了什么
  • 用AI制作科研演示动画:提升学术汇报效果
  • ChatGPT医疗应用爆发!AI诊断胜过专家?一文读懂LLMs如何重塑医疗行业!
  • 跨越系统壁垒:实现蓝牙键鼠在Windows与ArchLinux间的无缝漫游
  • 抖音无水印下载终极方案:douyin-downloader 一站式高效下载工具
  • 从GICP到FAST-LIO2:高精地图匹配定位算法的演进与实战解析
  • 操作系统教学清单
  • 保姆级教程:用VSCode+Python从零搭建NoneBot QQ机器人(附go-cqhttp配置避坑指南)
  • XXMI启动器:二次元游戏模组管理的革命性解决方案
  • 做了3年信息化,我才搞明白:OMS、ERP、WMS、TMS到底有啥区别!
  • 从微信昵称到代码注释:这些‘看不见’的特殊字符,可能让你的程序崩溃
  • Win11下Yolov8开发环境避坑指南:从Anaconda配置到Pycharm工程验证
  • 从CRS到DM-RS:5G NR为什么取消了小区级参考信号?一个天线工程师的视角
  • 字节面试官:Token到底是什么?有哪些分词算法?一篇文章讲清!
  • 从C++到CUDA:手把手教你用GPU并行化你的第一个for循环(附完整代码)
  • Spring Boot项目用Nginx反代MinIO,签名错误403?别慌,检查这个配置项就对了
  • 汽车电子工程师必看:英飞凌BTG7003高边开关的10种工作模式详解与实战配置
  • FigmaCN:3分钟实现Figma界面中文化的终极免费解决方案