Fangfei:RAG 入门第一课:怎么把你的资料变成知识库
Fangfei:RAG 入门第一课:怎么把你的资料变成知识库
Fangfei:RAG 入门第一课:怎么把你的资料变成知识库 Fangfei:RAG 入门第一课:怎么把你的资料变成知识库 Modified February 25 这个"喂资料 + 让它参考着回答"的技术方案,就叫 RAG。 02 RAG 到底是个啥? RAG,全称 Retrieval Augmented Generation,翻译过来就是「检索增强生成」。 听着很高大上?别怕,一句话解释: 让大模型先查资料,再回答问题。 整个流程分为两个阶段: 本篇重点讲离线数据处理,也就是怎么把你的资料变成大模型能用的"知识库"。 03 用一个故事讲清楚:从客服的烦恼说起 为了让大家更好理解,我们来代入一个场景。 🎬 场景设定:你是一名客服 假设你是公司的客服,每天要回答各种客户的问题。 问着问着你发现,很多问题都是重复的: • "你们产品怎么退货?" • "保修期多久?" • "怎么开发票?" 于是你做了一件聪明事: 👉 把常见问题和标准答案整理成一个 Excel 表格。 以后再有人问同样的问题,直接从表里复制答案,省时省力。 😫 但是,问题来了 时间一长,你越来越烦: • 每天在 Excel 里翻来翻去找答案,眼睛都花了 • 客户的问法五花八门,表里明明有答案,就是搜不到 • 表格越来越大,找一个答案要翻半天 你心想:能不能有个 AI 帮我自动查表、自动回复啊? 🎉 RAG 出现了! 这时候,RAG 进入了你的视线,你的内心燃起了希望。 你决定用 RAG 来改造你的工作流程。 那具体怎么做呢?往下看👇 04 离线数据处理:把资料变成"知识库" 第一步:收集原材料 首先,你把手头的资料都整理出来: • 自己积累的《常见问题 & 标准答案》Excel • 公司产品的使用说明文档(PDF、Word) • 一些产品图片、宣传册 这些就是你要喂给 RAG 的"原材料"。 第二步:文档解析——让机器"读懂"你的资料 不同格式的文件,机器处理的方式不一样: 💡 为什么要转成 Markdown? 因为 Markdown 格式结构清晰,大模型读起来更容易理解层级关系。 第三步:文档清洗——把"脏东西"去掉 解析完之后,文档里往往会有一些"杂质",需要清理掉: • ❌ 多余的空格、换行 • ❌ OCR 识别错误的字(比如把"目"认成"日") • ❌ 乱码、特殊符号 • ❌ 跟业务无关的内容(比如页眉页脚) 清洗的目的:让数据干净、规整,减少后续检索时的干扰。 第四步:文档分块——最关键的一步! 🔴 划重点:分块的好坏,直接决定后续检索效果的好坏。 为什么要分块? 两个原因: 原因一:让检索更精准 如果把一整篇文档直接丢进知识库,用户提问时,大模型要从几千字里大海捞针,很容易找不到重点。 切成小块后,能更精准地命中答案所在的那一段。 原因二:避免大模型"记不住" 大模型有个"上下文窗口"限制,一次能处理的文字量是有上限的。 塞太多内容进去,它会"前面看完,后面忘了",回答质量反而变差。 切成小块输入,就不容易超出它的处理能力。 分块有什么技巧? 分块没有标准答案 ⚠️ 重要提醒:分块没有放之四海而皆准的公式。 不同的业务场景、不同的文档类型,最佳的分块策略都不一样。 这是一个需要反复调试、不断优化的过程。 多试几种分块方式,看看哪种检索效果最好,才是正道。 05 小结:本篇讲了什么? 来回顾一下: 1. 大模型不是万能的——它不知道你的私有信息,还可能胡说八道 2. RAG 是什么——让大模型先查资料再回答,分为离线处理和在线检索两个阶段 3. 离线数据处理的核心步骤: ◦ 收集原材料 ◦ 文档解析(OCR / 转 Markdown) ◦ 文档清洗(去杂质) ◦ 文档分块(最关键,决定检索效果) 06 下篇预告 本篇讲的是"怎么准备知识库",相当于"磨刀"的过程。 下一篇我们聊在线检索匹配——当用户真正提问时,RAG 是怎么从知识库里找到答案,并让大模型生成回复的。 敬请期待~ END 我是Fangfei,一个永远在折腾的普通人 公开我的 AI 学习、思考、成长以及所有的一切 如果觉得文章对你有帮助,欢迎加我:Fangfei kai 这个"喂资料 + 让它参考着回答"的技术方案,就叫 RAG。 02 RAG 到底是个啥? RAG,全称 Retrieval Augmented Generation,翻译过来就是「检索增强生成」。 听着很高大上?别怕,一句话解释: 让大模型先查资料,再回答问题。 让大模型先查资料,再回答问题。 整个流程分为两个阶段: 本篇重点讲离线数据处理,也就是怎么把你的资料变成大模型能用的"知识库"。 03 用一个故事讲清楚:从客服的烦恼说起 为了让大家更好理解,我们来代入一个场景。 🎬 场景设定:你是一名客服 假设你是公司的客服,每天要回答各种客户的问题。 问着问着你发现,很多问题都是重复的: • "你们产品怎么退货?" • "保修期多久?" • "怎么开发票?" 于是你做了一件聪明事: 👉 把常见问题和标准答案整理成一个 Excel 表格。 以后再有人问同样的问题,直接从表里复制答案,省时省力。 😫 但是,问题来了 时间一长,你越来越烦: • 每天在 Excel 里翻来翻去找答案,眼睛都花了 • 客户的问法五花八门,表里明明有答案,就是搜不到 • 表格越来越大,找一个答案要翻半天 你心想:能不能有个 AI 帮我自动查表、自动回复啊? 🎉 RAG 出现了! 这时候,RAG 进入了你的视线,你的内心燃起了希望。 你决定用 RAG 来改造你的工作流程。 那具体怎么做呢?往下看👇 04 离线数据处理:把资料变成"知识库" 第一步:收集原材料 首先,你把手头的资料都整理出来: • 自己积累的《常见问题 & 标准答案》Excel • 公司产品的使用说明文档(PDF、Word) • 一些产品图片、宣传册 这些就是你要喂给 RAG 的"原材料"。 第二步:文档解析——让机器"读懂"你的资料 不同格式的文件,机器处理的方式不一样: 💡 为什么要转成 Markdown? 因为 Markdown 格式结构清晰,大模型读起来更容易理解层级关系。 💡 为什么要转成 Markdown? 因为 Markdown 格式结构清晰,大模型读起来更容易理解层级关系。 第三步:文档清洗——把"脏东西"去掉 解析完之后,文档里往往会有一些"杂质",需要清理掉: • ❌ 多余的空格、换行 • ❌ OCR 识别错误的字(比如把"目"认成"日") • ❌ 乱码、特殊符号 • ❌ 跟业务无关的内容(比如页眉页脚) 清洗的目的:让数据干净、规整,减少后续检索时的干扰。 第四步:文档分块——最关键的一步! 🔴 划重点:分块的好坏,直接决定后续检索效果的好坏。 为什么要分块? 两个原因: 原因一:让检索更精准 如果把一整篇文档直接丢进知识库,用户提问时,大模型要从几千字里大海捞针,很容易找不到重点。 切成小块后,能更精准地命中答案所在的那一段。 原因二:避免大模型"记不住" 大模型有个"上下文窗口"限制,一次能处理的文字量是有上限的。 塞太多内容进去,它会"前面看完,后面忘了",回答质量反而变差。 切成小块输入,就不容易超出它的处理能力。 分块有什么技巧? 分块没有标准答案 ⚠️ 重要提醒:分块没有放之四海而皆准的公式。 不同的业务场景、不同的文档类型,最佳的分块策略都不一样。 这是一个需要反复调试、不断优化的过程。 多试几种分块方式,看看哪种检索效果最好,才是正道。 05 小结:本篇讲了什么? 来回顾一下: 1. 大模型不是万能的——它不知道你的私有信息,还可能胡说八道 2. RAG 是什么——让大模型先查资料再回答,分为离线处理和在线检索两个阶段 3. 离线数据处理的核心步骤: ◦ 收集原材料 ◦ 文档解析(OCR / 转 Markdown) ◦ 文档清洗(去杂质) ◦ 文档分块(最关键,决定检索效果) ◦ 收集原材料 ◦ 文档解析(OCR / 转 Markdown) ◦ 文档清洗(去杂质) ◦ 文档分块(最关键,决定检索效果) 06 下篇预告 本篇讲的是"怎么准备知识库",相当于"磨刀"的过程。 下一篇我们聊在线检索匹配——当用户真正提问时,RAG 是怎么从知识库里找到答案,并让大模型生成回复的。 敬请期待~ END 我是Fangfei,一个永远在折腾的普通人 公开我的 AI 学习、思考、成长以及所有的一切 如果觉得文章对你有帮助,欢迎加我:Fangfei kai 写在前面 春节这段时间工作、生活忙得团团转,好不容易闲下来,手痒了,就捣鼓了一个 RAG 相关的小项目。 项目虽然不大,但做完之后,我对 RAG 的理解一下子通透了很多。 所以想写几篇文章,用大白话把 RAG 讲清楚。 如果你对这个词有点好奇,或者想深入了解,希望这个系列能给你一些启发。 📌 本篇是系列的上篇,主要讲 RAG 是什么、为什么需要它,以及离线数据处理的核心步骤。下篇会聊在线检索匹配的部分。 📌 本篇是系列的上篇,主要讲 RAG 是什么、为什么需要它,以及离线数据处理的核心步骤。下篇会聊在线检索匹配的部分。 01 先泼盆冷水:大模型不是万能的 在聊 RAG 之前,我们得先认清一个现实: 大模型(比如 ChatGPT、文心一言、豆包)并不是什么都懂的神仙。 它有三个明显的短板: 那怎么办呢? 很简单:给它开小灶,喂它吃"课外资料"。