1、RAG的理解1.1 什么是RAGRAGRetrieval-Augmented Generation检索增强生成是一种结合信息检索Retrieval与文本生成Generation的技术旨在提升大语言模型在回答专业问题时的准确性和可靠性。1.2 为什么需要RAG背景大模型的知识冻结大模型幻觉举例1随着 LLM 规模扩大训练成本与周期相应增加。因此包含最新信息的数据难以融入模型训练过程无法及时反映最新的信息或动态变化导致 LLM 难以应对诸如“请推荐当前热门影片”等时间敏感性问题。举例2大型语言模型LLM的训练依赖于网络上海量公开的静态数据而某些特定领域如企业内部资料、专有技术文档等的数据通常不会作为公开的训练数据导致模型在面对这些领域的查询时可能因缺乏足够的信息而生成不准确甚至虚构的回复。解决方案为了解决这一问题RAG技术通过引入向量数据库Vector Database作为外部知识源将模型缺失的知识以结构化的形式提供。举例1LLM在考试的时候面对陌生的领域答复能力有限然后就准备放飞自我了而此时RAG给了一些提示和思路让LLM懂了开始往这个提示的方向做最终考试的正确率从60%到了90%举例21.3 执行流程图中 RAG 检索增强生成完整流程分步解析整体分为两大阶段文档入库预处理阶段离线构建知识库、用户提问推理阶段在线问答离线阶段本地文档处理构建向量知识库上半部分流程步骤 1加载本地源文件数据源本地文件支持两类数据结构化二维表格非结构化PDF、Word、TXT 等文档组件非结构化数据加载器 Unstructured Loader作用读取各类文件统一提取出纯文本Text。步骤 2文本切分 Text Spliter将完整长文本分割成多段短文本块Text Chunk目的适配嵌入模型、大模型的输入长度限制缩小检索粒度提高后续相似度匹配精度。步骤 3嵌入模型编码Embedding Model把每一段Text Chunk送入嵌入模型将自然语言文本转换成向量嵌入 Vector Embeddings本质把文字映射为高维数字向量语义相近的文本向量距离更近。步骤 4向量入库存储 索引将生成好的文本向量 原始文本块存入向量数据库 Vector Database同时建立向量索引。作用索引用于加速后续相似度检索完成知识库构建离线流程结束。在线阶段用户提问检索 大模型生成答案下半部分流程步骤 1用户输入查询 User Query用户输入自然语言问题发起问答请求。步骤 2问题向量化编码复用同一个嵌入模型 Embedding Model把用户问题同样转换成Vector Embeddings向量。步骤 3向量数据库相似度检索 Similarity Search拿着问题向量在向量库中计算向量距离匹配出语义最相近的若干文本块。取出这些原文片段作为回答的上下文 Context。步骤 4组装提示词 Prompt通过提示词模板 Prompt Template拼接两段内容Prompt 检索到的上下文Context 用户原始问题User Query模板会规范格式告诉大模型 “只能依据给的上下文回答不要编造信息”。步骤 5大模型 LLM 生成答案把组装完成的完整 Prompt 发送给大语言模型 LLMLLM 结合参考上下文理解问题推理生成专属回答Answer。步骤 6返回结果给用户将 LLM 输出的最终回答发送展示给用户完整问答流程闭环。整体核心逻辑总结离线文档→分块→向量化→存向量库搭建私有知识库在线用户问题→向量化→检索相似文档片段→拼接上下文 Prompt→LLM 基于真实文档作答该架构就是标准RAGRetrieval-Augmented Generation检索增强生成解决大模型 “知识滞后、凭空幻觉、无法读取私有本地文件” 的问题。检索-增强-生成过程检索可以理解为第10步增强理解为第13步这里的提示词包含检索到的数据生成理解为第15步。强调一下难点的步骤蓝色部分这里有三个位置涉及到大模型的使用第3步向量化时需要使用EmbeddingModels。第7步重排序时需要使用RerankModels。可对初步召回的较多 chunk如 top 20 或 top 50进行精排提高召回准确率防止LLM 处理无关信息减少时间和成本。第9步生成答案时需要使用LLM。Reranker的使用场景适合追求回答高精度和高相关性的场景中特别适合使用 Reranker例如专业知识库或者客服系统等应用。不适合Reranker相较于RAG的成本更高。此外引入Reranker会增加召回时间增加检索延迟。服务对响应时间要求高时使用Reranker可能不合适。2、知识库的概述2.1 哪些人需要搭建(个人)知识库小型企业主或创业者查阅和分享文件、文档、客户反馈、市场分析大大提升你的工作效率。职场打工人或自由职业者无论是写作、设计、开发还是视频制作知识库都可以管理大量的素材、创意和客户需求通过知识库你可以轻松存储和搜索这些资料并通过大模型二次创作教育工作者或学生利用知识库管理教学资源、课程安排、教材资料等学生则可以将课堂笔记、参考书目和作业整理在一起随时复习和备考。生活中的普通人无论是旅行计划、兴趣爱好还是学习笔记全部都可以集中在知识库管理。2.2 知识库各个搭建平台对比很多平台都支持个人知识库的搭建。2.2.1 核心定位和技术特点AnythingLLM、CherryStudio桌面/图形化 AI 助手 知识库RAG支持对接云模型与本地模型适合个人/小团队快速验证。在“多租户治理、复杂系统集成、生产化观测”等方面通常不如平台型/专业引擎。Dify、FastGPTLLM Agent 与工作流编排平台支持创建知识库支持云端与本地部署可用Docker。RAGFlow基于深度文档理解的开源 RAG 引擎强调复杂文档解析、引用与可视化干预也支持 Agent 能力但通用工作流生态通常不如“全能型 Agent 平台”。支持Docker部署2.2.2 典型场景与选型建议1. 个人知识管理轻量级需求快速验证、低预算开发成本 1周个人/小团队使用以“能用”为主文档以 Markdown、PDF、网页为主。推荐工具Cherry Studio / AnythingLLM理由部署和操作简单上手快可直接对接在线大模型 API也可接本地模型适合快速试错支持多模型对话如 DeepSeek Ollama适合整合笔记/文献2. 应用化交付与团队协作平台型场景需求将知识库能力封装为可复用的 AI 应用或 Agent支持多成员协作、权限控制、应用发布与版本迭代需要流程编排如检索 → 工具调用 → 多轮推理而不仅是简单问答推荐工具Dify / FastGPT理由提供完整的Agent / Workflow 编排能力知识库RAG作为其中一环支持多应用管理、角色与权限控制更适合团队或内部平台使用易于与业务系统集成API / Webhook便于“从 Demo 走向可用系统”3. 企业级文档解析高精度需求需求面向复杂文档长PDF、复杂版式、表格/图片混排、扫描件等强调解析质量与可控性要求可追溯引用。推荐工具RAGFlow理由强调深度文档理解解析/分块结果可视化便于检查与必要时干预对复杂格式更友好适合把“文档解析质量”作为核心竞争力的场景3、Cherry-Studio搭建个人知识库后续我们会重点拿Coze和Dify讲工作流和智能体所以知识库这里我们选另外两个非常不错的平台Cherry-Studio 和腾讯出品的ima3.1 Cherry-Studio特点小白友好Cherry Studio 致力于降低技术门槛零基础用户也能快速上手让用户专注于工作、学习或者创作。一问多答支持同一问题通过多个模型同时生成回复方便用户对比不同模型的表现助手市场内置千余个行业专用助手涵盖翻译、编程、写作等领域同时支持用户自定义助手。服务商模型聚合支持 OpenAI、Gemini、Anthropic、Azure 等规范的三方服务商接入兼容性强。数据安全支持全本地场景使用结合本地大模型避免数据泄漏风险。3.2 LLM的使用步骤1下载与安装客户端工具Cherry Studio官网https://cherry-ai.com/安装过程傻瓜式安装这里省略。步骤2硅基流动注册账号这里的大模型以硅基流动平台为例说明。网址https://siliconflow.cn/zh-cn/models用手机号注册即可新注册的账号有免费的token可以使用。步骤3创建API密钥步骤4复制API密钥步骤5配置API密钥步骤6选择大语言模型3.3 知识库的使用步骤1添加嵌入模型根据下图确认名称回到Cherry Studio添加步骤2创建知识库上面的pro版本的搜索精度更高但收费。提供知识库内容这里支持不同格式文件、文件夹、网页地址、大段文本内容等方式添加到知识库。注意上传的文件中如果有手写内容或者表格或复杂的数据公式那解析的效果就会较差。步骤3支持直接检索检索此时的检索基于RAG检索增强生成技术在数据库中去搜索相应的答案。这里还包括占比得分。步骤4基于知识库生成选中后提问补充增强文档解析能力如果上传的文件中如果有手写内容或者表格或复杂的数据公式那解析的效果就会较差。这里可以提前将文件进行解析处理然后再上传到个人知识库。使用工具Doc2X网址https://doc2x.noedgeai.com/外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传3.4 流程分析4、ima搭建个人知识库4.1 ima特点支持客户端、小程序、网页等多端同步访问支持腾讯混元大模型、DeepSeek-R1满血版通过微信提问模型基于知识库生成答案4.2 搭建知识库过程步骤1下载-安装网址https://ima.qq.com/安装好以后登录一下即可步骤2新建知识库步骤3导入本地文件步骤4基于知识库生成4.3 组合互联网网页构成知识库步骤1我们可以在微信公众号搜索相关主题的公众号文章并将他们加入到ima。步骤2在ima中新建个人知识库将相关文章加入到此知识库。步骤3在文章导入完成以后可以生成自己的知识库进而结合大模型进行搜索4.4 添加第三方知识库在pc端查看添加到相关知识库之后不管在手机端还是同账号的PC端都可以查看。5、使用Dify搭建知识库5.1 Dify介绍DifyDefineModify是一个开源的大语言模型(LLM)应用开发平台由苏州语灵人工智能推出。Dify 为 AI Agent 提供了50多种内置工具如谷歌搜索、DALL·E、Stable Diffusion 和 WolframAlpha 等。官网https://dify.ai/zh说明https://github.com/langgenius/dify/blob/main/README_CN.mdhttps://docs.dify.ai/zh/home5.2 源数据格式通过使用Dify可以方便快捷地构建私有知识库。可以将知识库放在工作流中协同多种工具一起使用。而且Dify提供的知识库功能有着简洁的可视化界面可以很方便地进行管理适用于个人和团队。目前Dify 支持多种源数据格式包括长文本内容TXT、Markdown、DOCX、HTML、JSON、 PDF结构化数据CSV、Excel注私有知识库要达到良好的效果必须与embedding模型和reranker模型相结合请在xinterface中启用相关模型并引入Dify。5.3 构建私有知识库步骤1首先创建一个新的知识库步骤2上传知识库文件这里准备的是一部刑法的txt格式文本用自然段的形式划分了每一条法则步骤3分段设置大语言模型存在有限的上下文窗口通常需要将整段文本进行分段处理后将与用户问题关联度最高的几个段落召回即分段 top-K 召回模式。此外在用户问题与文本分段进行语义匹配时合适的分段大小将有助于匹配关联性最高的文本内容减少信息噪音。分段标识符如果是\n则是以换行为一个分段如果是\n\n则是以一个段落为一个分段。点击预览块查看目前块划分的情况。分段重叠长度一般是分段最大长度的10%-20%。知识库文档里如果有url、邮箱还可以把这些过滤掉。步骤4选择索引方式这里自动选择高质量。高质量的准确性更高但是token消耗也会增加。如果使用的是部署到本地的模型花费就没有影响。还有QA方式。 如果文档是问答方式那选择这种方式是最契合的。步骤5检索设置在这里可以选择Embedding模型和Rerank模型也可以设置Top K也就是选出最相似的前n条。选择Score阈值即筛选文本的相似度阈值。混合检索既包括向量检索涉及rerank检索的大模型也包含全文检索。设置完成后保存并处理即可。5.4 测试接下来我们进行测试使用。创建一个聊天助手将提示词写为你是一个法律小助手请只根据知识库中的信息简要回答用户提问的案件触犯了哪些法律知识库选择刚才添加的刑法.txt然后可以开始提问。可以观察到聊天助手会自动引用知识库中的内容进行回答。