第9章 知识库RAG实战:让智能体拥有你的专业数据

AI智能体实战训练营 · 章节 9/33 · 45 学时

知识库RAG实战:让智能体拥有你的专业数据

大模型虽然博学,但它有两个致命的弱点:一是知识有截止日期,不知道最新的信息;二是不知道你的私有数据(企业文档、产品手册、客户案例、内部制度等)。而RAG(检索增强生成,Retrieval-Augmented Generation)技术,正是为了解决这两个问题而生的。

通过RAG,你可以把自己的知识库(文档、手册、案例、数据等)注入智能体,让它在回答问题时先检索知识库中的相关信息,再基于检索到的信息生成回答。这样,智能体就拥有了你的专业知识,回答更准确、更贴合你的业务需求,同时还能有效减少幻觉。

RAG是当前企业级智能体应用中最核心、最实用的技术之一。本章将带你从零开始学习RAG的原理、实现和优化技巧。

💡 为什么RAG如此重要?
• 知识时效性:大模型的训练数据有截止日期,RAG可以接入最新的信息
• 私有知识:大模型不知道企业内部的文档、制度、案例,RAG可以注入私有知识
• 减少幻觉:大模型基于检索到的真实信息回答,而不是凭空编造,大幅减少幻觉
• 可追溯性:回答可以标注信息来源,用户可以验证答案的准确性
• 知识更新方便:不需要重新训练模型,只需要更新知识库即可
• 成本低:相比微调模型,RAG的成本低得多,且更新更灵活

一、RAG的基本原理

1.1 什么是RAG?

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索和文本生成的技术。它的核心思想是:在生成回答之前,先从外部知识库中检索相关的信息,然后把检索到的信息作为上下文,和用户的问题一起传给大模型,让大模型基于这些信息生成回答。

🔍 RAG vs 直接提问的对比:

【直接提问】
用户:"我们公司的MES系统支持哪些设备对接协议?"
大模型:(凭记忆回答,可能编造)"通常MES系统支持OPC UA、Modbus、MQTT等协议..."
(问题:大模型不知道你们公司的MES系统具体支持什么,可能回答不准确,甚至编造)

【RAG提问】
用户:"我们公司的MES系统支持哪些设备对接协议?"
→ 第一步【检索】:从产品手册知识库中检索相关内容
→ 检索到:"本系统支持OPC UA、Modbus TCP、MQTT、HTTP REST API四种设备对接协议,其中OPC UA为推荐协议..."
→ 第二步【生成】:把检索到的内容和用户问题一起传给大模型
大模型:"根据产品手册,我们公司的MES系统支持以下四种设备对接协议:
1. OPC UA(推荐协议)
2. Modbus TCP
3. MQTT
4. HTTP REST API
其中OPC UA为推荐协议,适用于大多数工业设备场景。"
(优势:回答准确、有依据、不会编造)

1.2 RAG的完整工作流程

RAG的工作流程分为两个阶段:索引阶段(Indexing)和检索生成阶段(Retrieval & Generation)。

阶段一:索引阶段(离线处理,只做一次或定期更新)

  1. 文档收集:收集需要纳入知识库的文档(PDF、Word、Excel、网页、数据库等)
  2. 文档解析:解析各种格式的文档,提取纯文本内容
  3. 文本切片(Chunking):把长文本切分成合适大小的小块(Chunk)
  4. 向量化(Embedding):用Embedding模型把每个文本块转换成向量(一串数字)
  5. 存储:把向量和原始文本一起存入向量数据库

阶段二:检索生成阶段(在线处理,每次提问都执行)

  1. 问题向量化:把用户的问题也用同一个Embedding模型转换成向量
  2. 相似度检索:在向量数据库中搜索与问题向量最相似的Top K个文本块
  3. 上下文组装:把检索到的文本块组装成上下文,和用户问题一起传给大模型
  4. 生成回答:大模型基于检索到的上下文,生成准确的回答
  5. (可选)来源标注:在回答中标注信息来源,方便用户验证

1.3 RAG的核心组件

组件功能常见选择
文档解析器解析各种格式的文档,提取文本PyPDF2、pdfplumber、LangChain文档加载器、Unstructured
文本切片器把长文本切分成合适大小的块固定大小切片、递归字符切片、语义切片、按标题切片
Embedding模型把文本转换成向量OpenAI text-embedding-3、BGE、M3E、Cohere embed、Jina embeddings
向量数据库存储和检索向量Chroma、FAISS、Pinecone、Milvus、Weaviate、Qdrant
大语言模型基于检索到的上下文生成回答GPT-4o、Claude 3.5、DeepSeek、文心一言、通义千问
检索策略决定如何检索和排序相关文本向量检索、关键词检索、混合检索、重排序(Rerank)

二、RAG实战:从零搭建一个知识库问答系统

理论讲了这么多,让我们通过一个完整的实战案例,看看如何从零搭建一个RAG知识库问答系统。我们将用Dify平台来搭建(低代码,适合快速上手),同时也会介绍用LangChain代码实现的方式。

🏭 实战场景:制造业"设备维修知识库问答系统"

业务背景:
某工厂有200多台设备,每台设备都有维修手册、故障案例、维护记录。维修工遇到故障时,经常需要翻阅大量手册和记录,效率很低。而且经验丰富的老师傅退休后,知识也随之流失。

需求:
搭建一个智能问答系统,维修工输入故障现象(如"3号空压机异响,温度95度"),系统自动检索相关的维修手册和历史案例,给出诊断建议和维修步骤。

知识库内容:
• 设备维修手册(PDF,50份,约2000页)
• 历史故障案例(Word,300份)
• 设备维护记录(Excel,2000条)
• 安全操作规程(PDF,20份)

第一步:准备和整理知识库文档

在搭建RAG系统之前,首先要整理好知识库文档。这一步非常重要,直接影响后续的效果。

文档整理要点:

  • 格式统一:尽量把文档转换成统一的格式(如PDF或纯文本),方便解析
  • 内容清洗:去除无关内容(如页眉页脚、目录、广告、重复内容),修正明显的错误
  • 结构清晰:保留文档的标题层级(一级标题、二级标题等),这对后续的切片和检索很有帮助
  • 命名规范:文件名要能反映内容(如"空压机维修手册_V2.0.pdf"比"文档1.pdf"好)
  • 分类组织:按设备类型、文档类型等分类组织,方便后续的元数据标注和过滤检索

元数据标注:为每个文档添加元数据(如设备类型、文档类型、发布日期、版本号等),后续可以基于元数据进行过滤检索(如只检索"空压机"相关的文档)。

第二步:文档解析和文本提取

把各种格式的文档解析成纯文本。不同格式的文档有不同的解析方法:

  • PDF:用pdfplumber、PyMuPDF等工具提取文本。注意扫描版PDF需要先做OCR
  • Word:用python-docx提取文本和表格
  • Excel:用pandas读取,把表格转换成文本格式(如"列名:值"的形式)
  • 网页:用BeautifulSoup、Scrapy等工具提取正文内容
  • 图片:用OCR工具(如PaddleOCR、Tesseract)提取文字

Dify平台的操作:在Dify中,直接上传文档即可,平台会自动解析。支持PDF、Word、Excel、PPT、txt、markdown等多种格式。上传后可以预览解析效果,如果解析有问题可以手动调整。

第三步:文本切片(Chunking)

文本切片是RAG中最关键、最容易被忽视的环节。切片的大小和方式直接影响检索的效果。

为什么要切片?

  • 大模型的上下文窗口有限,不能把整个文档都传进去
  • 检索时需要找到与问题最相关的部分,整个文档的向量会"稀释"相关性
  • 切片后可以更精确地定位信息,减少无关内容的干扰

常见的切片策略:

切片策略原理优点缺点适用场景
固定大小切片按固定字符数切片,相邻块之间有重叠简单、快速、可控可能切断完整的语义单元通用场景、结构不清晰的文档
递归字符切片按分隔符(段落、句子、单词)递归切分,尽量保持语义完整语义完整性好切片大小不均匀大多数文档的默认选择
按标题/结构切片根据文档的标题层级(H1、H2、H3)切片语义完整、结构清晰需要文档有清晰的标题结构结构化文档(手册、报告、规范)
语义切片用语义相似度判断切片边界,语义变化大的地方切开语义最完整计算成本高、速度慢对质量要求高的场景

切片大小的选择:

  • 一般建议:256-512个token(约500-1000个中文字符)
  • 太小:上下文不完整,检索到的信息不够
  • 太大:包含太多无关信息,稀释相关性,浪费token
  • 重叠(Overlap):相邻块之间保留10-20%的重叠,避免关键信息被切断

Dify平台的操作:上传文档后,在"分段设置"中选择切片模式(自动/自定义),设置分段大小和重叠。Dify默认使用递归字符切片,效果不错。建议先试用默认设置,效果不好再调整。

第四步:向量化和存储

把每个文本块用Embedding模型转换成向量,存入向量数据库。

Embedding模型的选择:

  • OpenAI text-embedding-3-small:效果好,速度快,成本低,推荐首选
  • BGE(BAAI General Embedding):开源,中文效果好,支持本地部署
  • M3E:开源,中文效果好,适合中文场景
  • Cohere embed:效果好,支持多语言
  • Jina embeddings:开源,支持长文本

关键原则:问题和文档必须用同一个Embedding模型向量化,否则向量空间不一致,检索结果会不准确。

向量数据库的选择:

  • Chroma:轻量级,本地部署,适合开发和小型应用
  • FAISS:Facebook开源,高性能,适合大规模向量检索
  • Pinecone:云端托管,开箱即用,适合生产环境
  • Milvus:开源,企业级,支持大规模和分布式
  • Weaviate:开源,支持混合搜索(向量+关键词)

Dify平台的操作:Dify内置了向量数据库和多种Embedding模型,上传文档后会自动完成向量化和存储,不需要手动操作。你只需要在设置中选择Embedding模型即可。

第五步:检索策略设计

检索策略决定了"如何从知识库中找到最相关的信息"。这是影响RAG效果的另一个关键环节。

常见的检索方式:

检索方式原理优点缺点
向量检索(语义检索)计算问题和文档块的向量相似度,返回最相似的Top K能理解语义,同义词、改写都能匹配可能漏掉关键词精确匹配的结果
关键词检索(全文检索)基于关键词匹配(如BM25算法)精确匹配关键词,适合专有名词、型号、编号无法理解语义,同义词匹配不到
混合检索同时进行向量检索和关键词检索,合并结果兼顾语义和精确匹配,效果最好实现复杂,需要调权重
重排序(Rerank)先粗筛召回较多结果,再用更精确的模型重排序精度最高增加一次模型调用,成本和延迟增加

推荐策略:混合检索 + 重排序。先用混合检索召回Top 20-50个结果,再用Rerank模型重排序,取Top 3-5个传给大模型。这种策略在大多数场景下效果最好。

Top K的选择:一般取3-5个最相关的文本块。太少信息不够,太多会引入无关信息,浪费token。可以根据实际效果调整。

Dify平台的操作:在应用设置的"检索设置"中,可以选择检索方式(向量检索/全文检索/混合检索),设置Top K、相似度阈值、是否启用Rerank等。建议启用混合检索和Rerank,效果最好。

第六步:Prompt设计和回答生成

检索到相关文本后,需要设计一个好的Prompt,把检索到的上下文和用户问题一起传给大模型,生成高质量的回答。

RAG Prompt的核心要素:

  1. 角色设定:告诉大模型它是谁(如"你是一位专业的设备维修顾问")
  2. 上下文:把检索到的相关文本块放在这里,明确标注"以下是参考资料"
  3. 问题:用户的问题
  4. 回答规则:明确告诉大模型如何回答(如"必须基于参考资料回答,不要编造"、"如果参考资料中没有相关信息,请说明"、"回答要分步骤、有条理")
  5. 输出格式:指定回答的格式(如"先给出诊断结论,再列出维修步骤,最后标注参考来源")

RAG Prompt模板示例:

你是一位专业的设备维修顾问,有10年的工业设备维修经验。
请根据以下参考资料,回答用户的问题。

【参考资料】
{{检索到的文本块}}

【用户问题】
{{用户问题}}

【回答规则】
1. 必须基于参考资料回答,不要使用参考资料以外的知识
2. 如果参考资料中没有相关信息,请明确说"根据现有资料无法回答这个问题,建议咨询设备厂家或资深维修工程师"
3. 回答要专业、准确、有条理
4. 先给出诊断结论,再列出详细的维修步骤
5. 涉及安全操作时,必须强调安全注意事项
6. 在回答末尾标注信息来源(参考资料的编号)

【输出格式】
## 诊断结论
...
## 维修步骤
1. ...
2. ...
## 安全注意事项
...
## 参考来源
资料1、资料3

Dify平台的操作:在应用的"提示词编排"中,可以自定义系统提示词。Dify提供了变量(如{{context}}、{{query}}),可以方便地把检索到的上下文和用户问题插入Prompt。

第七步:测试和优化

RAG系统搭建好后,需要大量测试和优化才能达到好的效果。

测试方法:

  • 准备测试集:准备一批典型的问题和标准答案(至少20-30个),覆盖各种场景
  • 人工评估:用测试集提问,人工评估回答的准确性、完整性、相关性
  • 检索评估:检查检索到的文本块是否真的相关,有没有漏掉重要信息
  • 边界测试:测试知识库中没有答案的问题,看系统是否会如实说明(而不是编造)

常见问题和优化方向:

问题原因优化方向
回答不准确/编造检索到的内容不相关,或Prompt没有严格约束优化检索策略、改进Prompt、增加"不要编造"的约束
回答不完整/漏掉信息Top K太小,或切片太大导致信息被稀释增加Top K、调整切片大小、启用Rerank
检索不到相关内容切片方式不对、Embedding模型不适合、关键词太特殊调整切片策略、换Embedding模型、启用混合检索
回答包含无关内容检索到了不相关的文本块,或切片太大提高相似度阈值、减小切片大小、优化检索策略
回答速度慢检索慢、大模型调用慢、Rerank增加延迟优化向量数据库索引、选择更快的模型、调整Rerank的召回数量

三、RAG进阶技巧

3.1 多轮对话的RAG

在多轮对话中,用户的问题可能依赖之前的对话上下文(如"那它的维修周期是多久?"中的"它"指代上一轮提到的设备)。这时候需要先做"问题改写"——把当前问题结合历史对话改写成一个完整、独立的问题,再用改写后的问题去检索。

实现方式:在检索之前,增加一个"问题改写"节点,调用大模型把当前问题结合历史对话改写成完整的问题。

3.2 元数据过滤检索

如果知识库有清晰的分类(如设备类型、文档类型、时间范围),可以在检索时基于元数据过滤,只在相关的子集中检索。这样可以提高检索的准确性和速度。

示例:用户问"空压机的故障怎么处理",可以先过滤出设备类型="空压机"的文档,只在这些文档中检索,而不是在所有文档中检索。

3.3 分层检索

对于大型知识库,可以采用分层检索的策略:先粗粒度检索(如检索到文档级别),再细粒度检索(在相关文档中检索具体的段落)。这样可以提高检索效率和准确性。

3.4 知识图谱增强RAG

对于关系复杂的知识(如设备的组成结构、故障的因果关系),可以构建知识图谱,把实体和关系结构化存储。检索时同时检索向量和知识图谱,结合两者的结果生成回答。这种方式叫做"GraphRAG",适合复杂的知识推理场景。

3.5 RAG评估体系

要持续优化RAG系统,需要建立量化的评估体系。常用的评估指标包括:

  • 检索准确率(Recall@K):Top K检索结果中包含正确答案的比例
  • 回答准确率:回答正确的问题占总问题的比例(人工评估或用大模型评估)
  • 幻觉率:回答中包含编造信息的比例
  • 完整性:回答包含了所有必要信息的比例
  • 相关性:回答与问题相关的程度

可以用大模型作为"裁判"来自动评估回答质量,这样可以大规模、低成本地进行评估。

四、RAG vs 微调:如何选择

很多人会问:"我想让大模型掌握我的专业知识,应该用RAG还是微调(Fine-tuning)?"

维度RAG微调(Fine-tuning)
原理检索外部知识,基于知识生成回答用领域数据继续训练模型,把知识"内化"到模型参数中
知识更新更新知识库即可,简单快速需要重新训练,成本高、周期长
可追溯性回答可以标注来源,可验证无法追溯知识来源,"黑盒"
幻觉控制基于真实知识回答,幻觉少仍可能产生幻觉
成本低,主要是检索和推理成本高,训练需要大量算力和数据
适合场景知识频繁更新、需要可追溯、数据量不大需要特定风格/格式、知识稳定、有大量标注数据
技术门槛较低,有成熟的工具和平台较高,需要机器学习专业知识

结论:对于大多数企业级应用,RAG是首选。它成本低、更新快、可追溯、幻觉少。只有在需要特定的输出风格/格式、且知识稳定、有大量标注数据的场景下,才考虑微调。最佳实践是"RAG为主,微为辅"——用RAG注入知识,用微调调整风格和格式。

🎯 本章小结:
• RAG(检索增强生成)= 先检索知识库,再基于检索结果生成回答,是企业级智能体的核心技术
• RAG两阶段:索引阶段(文档收集→解析→切片→向量化→存储)+ 检索生成阶段(问题向量化→相似度检索→上下文组装→生成回答)
• 核心组件:文档解析器、文本切片器、Embedding模型、向量数据库、大语言模型、检索策略
• 关键环节:文本切片(大小256-512 token,重叠10-20%)、检索策略(推荐混合检索+Rerank)、Prompt设计(严格约束基于资料回答)
• 进阶技巧:多轮对话问题改写、元数据过滤检索、分层检索、知识图谱增强(GraphRAG)、量化评估体系
• RAG vs 微调:大多数场景RAG是首选,成本低、更新快、可追溯;"RAG为主,微调为辅"是最佳实践

下一章,我们将学习工具调用实战——这是让智能体"动手干活"的核心技术。通过工具调用,智能体可以搜索网络、查询数据库、调用API、执行代码,真正成为能干活的数字员工。

📝 本章练习(5题)

答案与解析请在 互动学习看板 中作答查看。

进入互动学习看板学习本章 →

← 上一章下一章 →

📚 AI智能体实战训练营 课程目录(33 章)

  1. 第1章 什么是AI智能体:从聊天机器人到自主决策系统
  2. 第2章 智能体的四大核心能力:感知·思考·行动·记忆
  3. 第3章 范式转移:智能体与传统软件的本质区别
  4. 第4章 2025年主流智能体平台全景对比与选型
  5. 第5章 智能体应用场景地图:从个人效率到企业级落地
  6. 第6章 编排思维:如何把大模型变成可执行的业务流程
  7. 第7章 Prompt工程实战:写出让智能体精准执行的指令
  8. 第8章 工作流编排入门:节点、连线、条件分支与循环
  9. 第9章 知识库RAG实战:让智能体拥有你的专业数据
  10. 第10章 工具调用实战:搜索·计算·API·数据库全掌握
  11. 第11章 多智能体协作:角色分工、任务分发与结果汇总
  12. 第12章 Coze/扣子入门:30分钟搭建你的第一个智能体
  13. 第13章 Coze进阶:插件开发、工作流深度编排与知识库优化
  14. 第14章 Dify入门:开源可私有化部署的智能体平台搭建
  15. 第15章 Dify进阶:RAG管道优化、Agent模式与工作流编排
  16. 第16章 LangChain入门:用代码构建可定制的智能体应用
  17. 第17章 LangChain实战:自定义Agent、工具链与记忆系统
  18. 第18章 Agent Harness与新一代框架:2025年智能体开发趋势
  19. 第19章 平台选型决策树:不同业务场景下的最优平台选择
  20. 第20章 任务拆解方法论:把复杂问题变成智能体可执行的步骤
  21. 第21章 提示词编排艺术:System·User·Function的三层协同
  22. 第22章 记忆系统设计:短期记忆、长期记忆与向量数据库选型
  23. 第23章 错误处理与容错:智能体执行失败时的兜底策略
  24. 第24章 评估与优化体系:如何量化衡量智能体的效果并持续改进
  25. 第25章 安全与合规:智能体应用的数据安全、隐私保护与风险防控
  26. 第26章 实战项目一:企业知识库智能问答助手(全流程实操)
  27. 第27章 实战项目二:制造业设备故障诊断智能体
  28. 第28章 实战项目三:供应链采购智能分析与比价助手
  29. 第29章 实战项目四:多智能体协同的项目管理办公室(PMO)
  30. 第30章 实战项目五:智能体与MES/ERP系统的深度集成
  31. 第31章 智能体落地路线图:从POC验证到规模化应用的完整路径
  32. 第32章 AI智能体工程师/产品经理的能力模型与成长路径
  33. 第33章 作品集打造与面试准备:如何拿到AI智能体岗位Offer

🔥 热门文章

行业热门标准、政策解读与碳管理干货

标准指南
智能制造能力成熟度模型(CMMM)全面解读
👀 725 阅读
广东省
《广东省企业(单位)二氧化碳排放信息报告指南(2024年修订)》解读
👀 461 阅读
标准指南
GB/T 39567-2020《智能制造系统架构》标准解读
👀 428 阅读
行业动态
⚡ 2026年能源政策趋势盘点:电价改革、新能源与用能企业应对指南
👀 398 阅读
标准指南
JS/T 303—2026《公共机构碳排放核算指南》全文解读
👀 378 阅读
标准指南
ISO 14040/14044 生命周期评价(LCA)标准解读:企业碳足迹核算的国际基石
👀 369 阅读
标准指南
IPCC 国家温室气体清单指南解读:全球碳排放核算的方法论根基
👀 298 阅读
subsidy-report
【深圳】2026年企业技术改造与数字化转型扶持政策解读:单个项目最高资助1亿元
👀 232 阅读

免费获取政策补贴方案

专业顾问1对1,帮您匹配可申请的补贴资金

政策补贴 碳排放管理 能源管理 绿色工厂 数字化转型 MES系统

💬 免费咨询

留下联系方式,获取专属解决方案

📞 电话咨询
📞

📞 联系我们

👤 赵先生: 13189195857

👤 麦先生: 18665632270

👤 ⬆
📞 工业数字化免费咨询: 131-8919-5857 | 186-6563-2270 | 支持上门演示 & 30天免费试用

如何选择适合自己的双碳与工业互联网课程?

数晰智研社职业培训围绕双碳与工业互联网两大方向开设系统课程:四大双碳岗位课程(碳排放管理员 12 章、碳排放核查员 10 章、碳排放交易员 9 章、碳咨询顾问 10 章)覆盖从政策合规到交易实战的全链路,另设 IoT 物联平台、能源管理系统、碳排放管理系统、MES 制造执行系统等工业互联网实操课程。全部课程免费开放学习,增值服务按需选购。

零基础入门:从碳排放管理员开始

面向控排企业碳管理岗位,课程覆盖双碳政策、MRV 体系、监测计划、核算实操、报告编制、配合核查全流程,是零基础学员建立碳管理体系认知的首选路径。

岗位进阶:核查员 / 交易员 / 碳咨询顾问

碳排放核查员(10 章)面向第三方核查能力培养;碳排放交易员(9 章)面向碳资产岗位,覆盖配额管理、市场规则、交易策略、CCER 开发与抵销、碳金融与风险管理;碳咨询顾问(10 章)面向咨询与 ESG 岗位,覆盖咨询方法论、产品碳足迹、绿色金融、碳资产管理。

企业培训:定制课程 + 现场辅导

面向企业批量培训提供碳管理、MES、IoT 定制课程与现场辅导服务,帮助企业快速建立团队数字化与双碳能力。

学习路径建议

零基础学员建议按"碳排放管理员 → 碳排放核查员 → 碳排放交易员 → 碳咨询顾问"的顺序进阶;已从事能源或生产管理的人员可直接选择对应工业互联网实操课程(IoT 物联平台 / 能源管理系统 / 碳排放管理系统 / MES 制造执行系统),并配合课程章节练习与智能错题本巩固。

常见问题(FAQ)

课程收费吗?

全部课程免费开放学习。增值服务按需选购:职业培训专项包(年度)129 元/年,解锁 9 门课程全部权益与学习服务,一年内无限学习;企业批量培训 699 元/年,含定制课程与现场辅导。

学完能获得证书吗?

学完全部章节后,可申请结业认证与职业技能证书,用于岗位能力证明。

单课学习与专项包的区别?

单课可免费学习基础内容;职业培训专项包解锁全部课程权益与学习服务(章节练习、智能错题本、结业认证等),适合系统备考双碳岗位。

企业批量培训怎么合作?

企业批量培训 699 元/年,可定制碳管理、MES、IoT 课程并安排现场辅导,适合企业团队整体能力建设。