news 2026/1/30 2:17:21

【程序员必看】RAG技术让大模型不再“胡说八道“,5大模块详解+实战案例,小白也能变专家!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【程序员必看】RAG技术让大模型不再“胡说八道“,5大模块详解+实战案例,小白也能变专家!

一、LLMs 已经具备了较强能力了,为什么还需要 RAG(检索增强生成)?

尽管 LLM 已展现出显著的能力,但以下几个挑战依然值得关注:

  • 幻觉问题:LLM 采用基于统计的概率方法逐词生成文本,这一机制内在地导致其可能出现看似逻辑严谨实则缺乏事实依据的输出,即所谓的“郑重其事的虚构陈述”;
  • 时效性问题:随着 LLM 规模扩大,训练成本与周期相应增加。鉴于此,包含最新信息的数据难以融入模型训练过程,导致 LLM 在应对诸如“请推荐当前热门影片”等时间敏感性问题时力有未逮;
  • 数据安全问题:通用的 LLM 没有企业内部数据和用户数据,那么企业想要在保证安全的前提下使用 LLM,最好的方式就是把数据全部放在本地,企业数据的业务计算全部在本地完成。而在线的大模型仅仅完成一个归纳的功能;

二、介绍一下 RAG?

RAG(Retrieval Augmented Generation, 检索增强生成)是一种技术框架,其核心在于当 LLM 面对解答问题或创作文本任务时,首先会在大规模文档库中搜索并筛选出与任务紧密相关的素材,继而依据这些素材精准指导后续的回答生成或文本构造过程,旨在通过此种方式提升模型输出的准确性和可靠性。

RAG 技术架构图

三、RAG 主要包含哪些模块?

  • 模块一:版面分析
  • 本地知识文件读取(pdf、txt、html、doc、excel、png、jpg、语音等)
  • 知识文件复原
  • 模块二:知识库构建
  • 知识文本分割,并构建Doc文本
  • Doc文本 embedding
  • Doc文本 构建索引
  • 模块三:大模型微调
  • 模块四:基于RAG的知识问答
  • 用户query embedding
  • query 召回
  • query 排序
  • 将 Top K 个相关的 Doc 进行拼接,构建 context
  • 基于 query 和 context 构建 Prompt
  • 将 prompt 喂给大模型生成答案

四、RAG 相较于直接使用 LLMs进行问答 有哪些优点?

RAG(检索增强生成)方法赋予了开发者无需为每个特定任务重新训练大型模型的能力,仅需连接外部知识库,即可为模型注入额外的信息资源,从而显著提升其回答的精确度。这一方法尤其适用于那些高度依赖专业知识的任务。

以下是 RAG 模型的主要优势:

  1. 可扩展性:减小模型规模及训练开销,同时简化知识库的扩容更新过程。
  2. 准确性:通过引用信息源,用户能够核查答案的可信度,进而增强对模型输出结果的信任感。
  3. 可控性:支持知识内容的灵活更新与个性化配置。
  4. 可解释性:展示模型预测所依赖的检索条目,增进理解与透明度。
  5. 多功能性:RAG 能够适应多种应用场景的微调与定制,涵盖问答、文本摘要、对话系统等领域。
  6. 时效性:运用检索技术捕捉最新信息动态,确保回答既即时又准确,相比仅依赖固有训练数据的语言模型具有明显优势。
  7. 领域定制性:通过对接特定行业或领域的文本数据集,RAG 能够提供针对性的专业知识支持。
  8. 安全性:通过在数据库层面实施角色划分与安全管控,RAG 有效强化了对数据使用的管理,相较于微调模型在数据权限管理上的潜在模糊性,展现出更高的安全性。

五、对比一下 RAG 和 SFT,说一下两者有哪些区别?

实际上,对于 LLM 存在的上述问题,SFT 是一个最常见最基本的解决办法,也是 LLM 实现应用的基础步骤。那么有必要在多个维度上比较一下两种方法:

当然这两种方法并非非此即彼的,合理且必要的方式是结合业务需要与两种方法的优点,合理使用两种方法。

模块一:版面分析

为什么 需要 版面分析?

尽管RAG(检索增强生成)技术的核心价值在于其结合检索与生成手段以提升文本内容的精确度与连贯性,然而在一些具体应用领域,如文档解析、智能化写作及对话系统构建中,特别是在面对结构化或半结构化信息的处理需求时,其功能边界可能拓展至版面分析。

这是由于此类信息往往嵌于特定的布局结构中,需要对页面元素及其相互关系进行深入理解。

此外,当RAG模型面对包含丰富多媒体或多模态成分的数据源,诸如网页、PDF文件、富文本记录、Word文档、图像资料、语音片段、表格数据等复杂内容时,为了能高效地摄取并利用这些非文本信息,具备基本的版面分析能力变得至关重要。这种能力有助于模型精准解析各类信息单元,并成功将它们融合成有意义的整体解读。

step 1:本地知识文件获取

q1:如何进行 本地知识文件获取?

本地知识文件获取涉及从多种数据源(如.txt、.pdf、.html、.doc、.xlsx、.png、.jpg、音频文件等)提取信息的过程。针对不同类型的文件,需要采取特定的访问与解析策略来有效获取其中蕴含的知识。下面我们将介绍对于不同数据源数据的获取方式和难点。

q2:如何获取 富文本txt 中内容?
  • 介绍:富文本 主要存储于 txt 文件中,因为排版比较整洁,所以获取方式比较简单
  • 实战技巧:
  • 【版面分析——富文本txt读取】
q3:如何获取 PDF文档 中内容?
  • 介绍:PDF文档中数据比较复杂,包含文本、图片、表格等不同样式的数据,所以解析过程中会比较复杂
  • 实战技巧:
  • 【版面分析——PDF 解析神器 pdfplumber】
  • 【版面分析——PDF 解析神器 PyMuPDF】
q4:如何获取 HTML文档 中内容?
  • 介绍:PDF文档中数据比较复杂,包含文本、图片、表格等不同样式的数据,所以解析过程中会比较复杂
  • 实战技巧:
  • 【版面分析——网页HTML解析 BeautifulSoup】
q5:如何获取 Doc文档 中内容?
  • 介绍:Doc文档中数据比较复杂,包含文本、图片、表格等不同样式的数据,所以解析过程中会比较复杂
  • 实战技巧:
  • 【版面分析——Docx 解析神器 python-docx】
q6:如何使用 OCR 获取图片内容?
  • 介绍:光学字符识别(Optical Character Recognition, OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。亦即将图像中的文字进行识别,并以文本的形式返回。
  • 思路:
  • 文字识别:对定位好的文字区域进行识别,主要解决的问题是每个文字是什么,将图像中的文字区域进转化为字符信息。
  • 文字检测:解决的问题是哪里有文字,文字的范围有多少;
  • 目前开源的OCR项目
  • Tesseract
  • PaddleOCR
  • EasyOCR
  • chineseocr
  • chineseocr_lite
  • TrWebOCR
  • cnocr
  • hn_ocr
  • 理论学习:
  • 【版面分析——图片解析神器 OCR】
  • 实战技巧:
  • 【版面分析——OCR神器 tesseract】
  • 【版面分析——OCR神器 PaddleOCR】
  • 【版面分析——OCR神器 hn_ocr】

那么,如何系统的去学习大模型LLM?

作为一名深耕行业的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

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

语音合成可用于车载导航?低延迟场景优化建议

语音合成可用于车载导航?低延迟场景优化建议 在高速行驶的车辆中,一个清晰、自然且及时的语音提示,可能比一块高分辨率屏幕更能保障驾驶安全。当导航系统提醒“前方急弯,请减速”时,如果声音是冷冰冰的机械音&#xff…

作者头像 李华
网站建设 2026/1/28 15:53:54

PHP错误日志满天飞?一文搞定集中存储、检索与告警体系搭建

第一章:PHP错误日志的现状与挑战在现代Web开发中,PHP作为最广泛使用的服务器端脚本语言之一,其运行时的稳定性与可维护性高度依赖于有效的错误日志管理。然而,当前许多PHP应用在错误日志处理方面仍面临诸多挑战。分散的日志存储位…

作者头像 李华
网站建设 2026/1/26 19:57:21

pythonBBS论坛系统论文w076f--(flask django Pycharm)

目录基于Python的BBS论坛系统设计与实现关键技术实现方案系统创新与测试验证关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!基于Python的BBS论坛系统设计与实现 该论文探讨了使用P…

作者头像 李华
网站建设 2026/1/26 18:18:44

SPELL_EFFECT_SUMMON (28) 用法详解

目录概述定义核心机制1. 处理函数2. 相关的召唤效果数据库配置spell_effect 表 | SpellEffect.db2SummonProperties.db2 配置脚本注册与使用基本脚本注册方式在脚本加载器中注册使用场景1. BOSS 战机制2. 职业召唤系统3. 功能性召唤4. 任务相关召唤代码示例示例 1: Boss 战召唤…

作者头像 李华
网站建设 2026/1/28 15:36:08

法术链接(spell_linked_spell)

目录一、概述二、数据库表结构字段说明三、链接类型(type)详解1. SPELL_LINK_CAST (type 0)2. SPELL_LINK_HIT (type 1)3. SPELL_LINK_AURA (type 2)应用光环时 (applytrue)移除光环时 (applyfalse)4. SPELL_LINK_REMOVE (type 3)四、法实施放者和法术链接者详解1. SPELL_L…

作者头像 李华