news 2025/12/31 6:48:07

从零开始掌握RAG:大模型知识库的检索增强生成全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零开始掌握RAG:大模型知识库的检索增强生成全解析

RAG(检索增强生成)系统结合信息检索与大语言模型生成能力,通过外部知识库检索相关信息再生成答案,有效解决大模型知识滞后、产生幻觉等问题。文章详解了RAG系统架构、工作流程,以及文档处理、分块策略、Embedding选型等关键技术实现,为企业构建智能知识库提供完整解决方案。


引言

先前在文章《[万人围观,用DeepSeek搭建个人知识库,真香!(附完整教程)]》系统介绍了如何搭建了个人知识库。

运行最终结果

思考:为何一个文档能被解析,还能以另一种方式输出?并被真实引用呢?

这里边实际上内嵌了RAG,其原理和架构设计如下:

这个流程展示了RAG系统的两个核心阶段:

📚文档准备阶段

  1. 用户上传各种格式的文档
  2. 系统进行解析和分块处理
  3. 将处理后的内容向量化并存入向量库

🔍问答处理阶段

  1. 用户输入问题
  2. 系统在向量库中搜索相关信息
  3. 将问题与相关上下文一起发送给AI模型
  4. AI生成回答后返回给用户

因此,我们说RAG系统的核心价值:将用户的私有文档知识与大模型的推理能力相结合,既保持了技术的准确性,又确保了回答的相关性和实时性。

RAG系统

介于后期可能搭建企业级知识库,今天预热了解下RAG系统的架构设计和工作原理,无论对于大模型应用层还是大模型原理都有帮助。

什么是RAG系统?

1、顾名思义

  • 英文名称Retrieval-AugmentedGeneration,中文译为“检索、增强、生成”
  • 核心思想:将信息检索大语言模型的文本生成能力相结合。

您可以把它理解为一个“超级外挂”或“开卷考试系统”,它的核心目的是弥补大模型自身的能力缺陷。

模型在回答问题前,会先从外部知识库中检索相关信息,然后基于这些信息来生成答案。

基础大模型(闭卷考试):只能凭记忆回答,不知道或忘了就可能答错或瞎编。

RAG系统(开卷考试)

学生(模型)拿到问题后,先去翻阅指定的参考资料(知识库),找到最相关的章节(检索), 然后结合书本知识和自己的理解(增强),写出一份有理有据的答案(生成)。

为什么使用RAG?

主要为了解决大语言模型的固有缺陷:

  1. 解决知识滞后与静态性问题:大模型的训练数据有截止日期,无法知晓最新信息。RAG可以使其访问实时、最新的知识。
  2. 减少“幻觉”:通过提供确切的参考依据,强制模型基于事实生成答案,极大降低了胡编乱造的可能性。
  3. 处理私有数据:企业可以将内部文档、数据库等私有数据作为知识库,打造专属的、了解企业内部的AI助手,而无需耗费巨资重新训练模型。
  4. 提高答案透明度与可信度:RAG可以要求模型注明答案来源,方便用户溯源。

RAG系统是如何工作的?

🔍 RAG检索模块工作流程

📋案例实操阶段说明

假如这是一份《智能客服解决方案商业计划书》(无涉敏数据)

我们上传的文档中有这样一段内容:

基于这份"智能客服解决方案商业计划书"文档内容,我来详细说明RAG检索流程图中各阶段如何工作的?

🔍 检索流程

📋 各阶段具体工作内容:

1.输入阶段

用户问题:“智能客服有哪些功能?”

2.向量化转换
  • 将问题转换为向量:[0.23, -0.45, 0.67, 0.12, ...]
  • 模型理解问题的语义含义
3.多路检索策略

向量检索

  • 在文档中寻找语义相似的段落
  • 匹配到:“自动化应答、智能导购、售后支持、客户洞察等功能”

关键词检索

  • 搜索关键词:“功能”、“客服”、“自动化”、“支持”
  • 找到包含这些词汇的段落

混合检索

  • 结合两种方式,确保全面性
4.检索执行结果📦

找到的相关文本块

  1. “它通过自动化应答、智能导购、售后支持、客户洞察等功能,7x24小时处理海量客服咨询”
  2. “为中小型电商企业提供高效、精准、低成本的全渠道智能客服解决方案”
  3. “与人工客服无缝协作,构建新一代的客户服务体验”
5.重排序与评分📊

语义相关性:95%

  • 问题直接询问功能,文档明确列出具体功能

时效性评估:良好

  • 文档日期:2023年10月27日
  • 属于较新的商业计划书

权威性权重:高

  • 官方商业计划书,信息可信度高
6.综合排序📈

最终排名

  1. 功能列表段落 - 得分:98
  2. 解决方案描述 - 得分:85
  3. 协作体验描述 - 得分:75
7.输出增强上下文🚀

传递给LLM的最终上下文

产品功能:自动化应答、智能导购、售后支持、客户洞察等功能,7x24小时处理海量、重复性的客服咨询,并与人工客服无缝协作。
8. 最终LLM回答:🎯

基于这个增强上下文,LLM可以生成准确回答:

“我们的智能客服平台主要包含以下功能:自动化应答、智能导购、售后支持、客户洞察等,能够7x24小时处理各类客服咨询,并与人工客服无缝协作提供完整的客户服务体验。”

常见问题

构建RAG系统时的常见核心问题:

  1. 文档处理:如何兼容多种格式(PDF、Excel、Word)的解析与信息提取?

解决方案:

  1. 使用专用库处理不同格式文档
  2. 提取文本内容并保留文档结构
  3. 统一输出格式便于后续处理

想象你要把一堆纸质文件(产品手册、客服指南)转成电子版:用不同工具读取不同格式文件,把文字内容提取出来,去掉格式干扰。整理成统一格式,方便后续使用

案例实现:

# 处理智能客服产品文档def parse_service_documents(file_path): if file_path.endswith('.pdf'): import fitz doc = fitz.open(file_path) return [page.get_text() for page in doc] elif file_path.endswith('.docx'): from docx import Document doc = Document(file_path) return [para.text for para in doc.paragraphs]
  1. 分块策略:如何将业务数据合理分割成不同的Chunks,平衡信息的完整性与检索效率?

解决方案:

  1. 按客服功能模块进行语义分块
  2. 设置合适块大小和重叠区域
  3. 重要客服流程保持完整性

就像整理书籍章节:

按主题分块:客服功能、操作步骤、常见问题分开

每块大小适中:不要太长(难找重点),不要太短(信息不全)

相邻块有重叠:避免把完整思路切断

案例实现:

def chunk_service_docs(texts): chunks = [] for text in texts: # 按功能点分割智能客服文档 if'功能'in text or'服务'in text: sentences = text.split('。') for i in range(0, len(sentences), 3): # 每3个句子一个块 chunk = '。'.join(sentences[i:i+3]) if chunk: chunks.append({ 'content': chunk, 'type': 'service_function' }) return chunks
  1. Embedding与向量数据库选型:选择哪种Embedding技术和向量数据库,直接影响语义理解能力和检索性能?

解决方案:

  1. 选择中文优化的Embedding模型
  2. 使用轻量级向量数据库存储
  3. 配置相似度计算参数

就像给每本书做索引卡片:

把文字转成数字向量:让计算机能"理解"文字意思

选择中文专用模型:确保能准确理解中文客服术语

用向量数据库存储:快速找到相关内容

案例实现:

from sentence_transformers import SentenceTransformerimport chromadb# 初始化Embedding模型和向量数据库model = SentenceTransformer("BAAI/bge-large-zh")client = chromadb.Client()# 创建客服知识库集合service_collection = client.create_collection( name="customer_service_kb", metadata={"description": "智能客服知识库"})
  1. 检索优化:如何通过混合检索、重排序等技术提升检索准确率,这是决定系统成败的关键?

解决方案:

  1. 结合语义检索和关键词检索
  2. 实现结果融合和重排序
  3. 基于客服场景优化查询

就像图书馆员帮你找书:

既按书名找(关键词),也按内容主题找(语义)

把找到的结果重新排序,把最相关的放前面

根据你的需求调整搜索方式

案例实现:

def hybrid_service_search(query, collection, top_k=3): # 向量语义检索 results = collection.query( query_texts=[query], n_results=top_k * 2 ) # 简单重排序:优先返回功能描述类内容 reranked_results = [] for i, doc in enumerate(results['documents'][0]): metadata = results['metadatas'][0][i] if metadata.get('type') == 'service_function': reranked_results.insert(0, doc) # 功能描述置顶 else: reranked_results.append(doc) return reranked_results[:top_k]
  1. Prompt设计:如何设计提示词以充分发挥大模型的能力,使其精准利用检索到的上下文?

解决方案:

  1. 设定客服助手角色定位
  2. 动态注入检索到的上下文
  3. 明确回答规范和要求

就像检查并润色写好的邮件:

检查内容是否正确:有没有乱说

调整语气:把生硬的话变委婉

美化格式:让内容更易读

案例实现:

def build_service_prompt(user_question, context_docs): context = "\n".join([f"- {doc}" for doc in context_docs]) prompt = f""" 你是一名专业的智能客服助手,请根据以下产品信息回答用户问题: {context} 用户问题:{user_question} 请按照以下要求回答: 1. 基于提供的产品信息,不要编造 2. 回答要专业、准确、友好 3. 如果信息不足,请说明 回答: """ return prompt
  1. 响应后处理:是否需要对回复进行二次处理,如格式化、风格调整和事实检查?

就像检查并润色写好的邮件:

检查内容是否正确:有没有乱说

调整语气:把生硬的话变委婉

美化格式:让内容更易读

解决方案:

  1. 验证回答基于检索内容
  2. 统一客服语气和风格
  3. 格式化输出增强可读性

案例实现:

def post_process_response(response, original_question): # 统一客服语气 response = response.replace('不能', '暂时无法') response = response.replace('不行', '目前不支持') # 确保回答完整性 ifnot response.startswith('您好'): response = '您好!' + response # 添加标准结尾 if'还有其他问题'notin response: response += '\n\n如果还有其他问题,请随时联系我们!' return response

​最后

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。

我整理出这套 AI 大模型突围资料包:

  • ✅AI大模型学习路线图
  • ✅Agent行业报告
  • ✅100集大模型视频教程
  • ✅大模型书籍PDF
  • ✅DeepSeek教程
  • ✅AI产品经理入门资料

完整的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
​​

为什么说现在普通人就业/升职加薪的首选是AI大模型?

人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。


智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200%,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。

AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。

​​

资料包有什么?

①从入门到精通的全套视频教程⑤⑥

包含提示词工程、RAG、Agent等技术点

② AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

③学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

④各大厂大模型面试题目详解

⑤ 这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

​​​​

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓**

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

朱炳仁、朱军岷14件铜艺捐赠入藏中国国家博物馆

2025年12月12日,朱炳仁、朱军岷作品捐赠入藏仪式在中国国家博物馆白玉厅隆重举行。这对国内罕见的“一门双国遗”父子传承人,将14件艺术珍品悉数捐赠给国博。这标志着朱炳仁首创的熔铜艺术,自2007年首件作品入藏国博后,历经18年沉…

作者头像 李华
网站建设 2025/12/15 15:24:50

数字化饮食闭环管理新趋势:AI技术如何重塑个性化营养方案

随着健康中国战略的深入推进,企业健康管理正迎来数字化转型升级的重要机遇。在员工健康管理领域,传统的饮食指导方式已难以满足精准化、个性化的需求。在此背景下,数字化饮食闭环管理作为一种创新模式,通过数据采集、智能分析、方…

作者头像 李华
网站建设 2025/12/15 15:24:31

AutoGPT+GPU云服务无限扩展的智能执行能力

AutoGPT 与 GPU 云服务:构建无限扩展的智能执行系统 在生成式 AI 的浪潮中,我们正经历一场从“对话工具”到“自主代理”的深刻变革。过去,用户需要一步步指导 AI 完成任务——“写一段介绍”、“搜索某项数据”、“总结这篇文档”。而今天&a…

作者头像 李华
网站建设 2025/12/15 15:22:54

Vim 标签页(Tab)操作详解

Vim 标签页(Tab)操作详解📚 标签页基础1. 创建标签页:tabnew [文件名] " 在新标签页打开文件 :tabedit [文件名] " 同上,在新标签页编辑文件 :tabe [文件名] " 简写形式" 从命令行直接…

作者头像 李华
网站建设 2025/12/15 15:22:51

学术突围新路径:书匠策AI如何成为毕业论文的“隐形导师“?

在高校图书馆的深夜灯光下,总有一群人对着电脑屏幕抓耳挠腮:文献综述像一团乱麻,实验数据在表格里打架,参考文献格式总在APA和GB之间反复横跳。这些场景,构成了无数毕业生挥之不去的"论文焦虑"。而今&#x…

作者头像 李华
网站建设 2025/12/25 17:01:53

K8s-1.29.2二进制安装-第一章

从本章来完成安装k8s学习的最后一种安装方式(二进制安装),系统使用Rockly9.6,K8s版本1.29.2,一共会分成几张进行编写。1. 安装Topo2.环境初始化 1、镜像下载(所有节点) # 官方下载地址 https://rockylinux.org/download # 阿里云镜像下载地址…

作者头像 李华