文章目录RAG是什么一、为什么需要 RAG二、RAG 系统的标准链路搭建RAG知识库系统第一步Ollama 侧补齐 embedding 模型第二步装 AnythingLLM 桌面版第三步向导里把四件套接上第四步建 Workspace 投喂文档第五步提问看引用RAG是什么RAGRetrieval-Augmented Generation检索增强生成知识库系统是当前企业把大模型接私域数据最主流的架构。核心思路一句话回答问题时不让 LLM 只靠训练记忆硬答而是先去你指定的知识库里查资料再把查到的内容拼进 Prompt 让模型基于证据生成——既解决幻觉又解决知识过时和私有数据不可用的问题。一、为什么需要 RAG纯 LLM 的三个硬伤知识有截止日期新政策、新文档它不知道私有数据不能拿来训合同、客服记录、内部 Wiki合规成本都不允许幻觉它编得很自信你没法溯源RAG 的解法是知识存在外挂库里用时才取取来才用。回答可溯源到原始段落这是它比微调更适合大多数企业场景的原因。二、RAG 系统的标准链路文档接入 → 解析清洗 → 切片(Chunk) → Embedding → 向量库 ↓ 用户提问 → 查询改写 → 检索召回 → Rerank重排 → 拼Prompt → LLM生成文档解析PDF / Word / Excel / PPT / 网页 / 图片 OCR。难点在扫描件、表格、多栏排版。常用工具Unstructured、Marker、MinerU。切片策略最容易踩坑的一环固定长度500/800 token 滑动窗口简单但容易把一段话拦腰切断按结构切标题/段落/语义结构化文档效果更好父子文档Parent-Child检索用小块提精度生成时拼回父块保上下文Embedding 向量化把文本转成稠密向量中文场景主流选开源BGE、GTE、M3EAPItext-embedding-3-small便宜够用向量数据库轻量原型FAISS、Chroma生产级Milvus、Weaviate、Qdrant、PGVector托管Pinecone、阿里云 DashVector检索 ≠ 只查向量工业级都会做混合向量检索语义匹配关键词检索BM25 / 全文索引双路召回召回后用Rerank 模型如 BGE-Reranker重排 TopK精度明显提升生成召回片段 用户问题拼 Prompt交给 LLM。Prompt 里一般加一句知识库不足以回答就说不知道防硬编。搭建RAG知识库系统本地部署的模型是 Ollama deepseek-r1:7b详情可参考用Ollama本地部署大语言模型 剩下就是把 AnythingLLM 接上去、补齐 embedding 模型、投喂文档。下面按Ollama 侧补齐 → 装 AnythingLLM → 向导四件套 → 建库投喂 → 验证 → 调优六块走。第一步Ollama 侧补齐 embedding 模型deepseek-r1:7b 有了但 RAG 还需要一个嵌入模型把文档转向量# 嵌入模型约 274MB很小中文通用够用ollama pull nomic-embed-text如果你中文文档多合同/手册/论文nomic-embed-text能用但非最优可以更换成bge-m3Hugging Face 下或 Ollama 社区版bge-m3:latest中文检索匹配度明显高一档。先用 nomic 跑通后面再换也行。确认 Ollama 服务在跑默认http://localhost:11434AnythingLLM 待会连这个。第二步装 AnythingLLM 桌面版去anythingllm.com/desktop下对应系统安装包Windows/macOS/Linux 都有一路下一步不用注册账号纯本地。Docker 党跳过这步直接docker run -d -p 3001:3001 -v anythingllm:/app/server/storage --name anythingllm mintplexlabs/anythingllm:latest但 Ollama Base URL 要填http://host.docker.internal:11434容器内localhost不是宿主机。第三步向导里把四件套接上打开 AnythingLLM首次会弹设置向导也可左下角 Settings 里改关键四项配置项选/填什么说明LLM ProviderOllamaOllama Base URLhttp://127.0.0.1:11434本机Docker 部署填http://host.docker.internal:11434Chat Modeldeepseek-r1:7b下拉框应该能自动识别空的话检查 Ollama 是否在跑EmbedderOllama →nomic-embed-text或 bge-m3把文档转向量用Vector DBLanceDB默认内置的零配置个人场景完全够点 Test / Save能绿就过。第四步建 Workspace 投喂文档Workspace 是 AnythingLLM 的隔离单位——一个区一套文档、一套 prompt建议按主题拆产品/技术/财务各一个别全塞一个里检索精度会高很多。左侧新工作区取名比如「员工手册」进入工作区 → 点上传或工作区名旁边上传图标拖文件进去——支持 PDF / Word / Excel / TXT / Markdown / 网页链接勾选上传的文件 →移动到工作区点保存并嵌入→ 开始解析 → 切片chunk→ 向量化 → 入 LanceDB进度条跑完就好几秒到几分钟看文档大小可以在向量数据库页签中查看向量数量第五步提问看引用对话框直接问比如张三的手机号链路是你的问题 → LanceDB 向量检索 top-k 片段 → 拼进 prompt → 送 deepseek-r1:7b 本地生成 → 回答底部带引用来源点开能看到命中原文。能出引用 RAG 链路通了。这里没有检索出刚上传的文档内容因为聊天模式是“代理”聊天模式决定了 AI“怎么回答你”以及“从哪里找答案”。以下是这三个模式的核心区别和适用场景模式名称核心逻辑回答边界典型适用场景不适合的场景用法提示查询Query严格仅基于你上传的文档内容生成回答完全不调用模型预训练的通用知识文档有明确内容→准确回答文档无相关内容→直接说「未找到相关信息」绝不编造私有知识库查询、合同条款核对、内部人员/数据查找、需要溯源的严谨问答日常闲聊、需要通用常识补充的问题、需要实时信息的场景能避免模型用「保护隐私」为由拒答也不会编造张三的信息回答底部一定会带文档引用可溯源聊天Chat混合调用「上传文档内容模型预训练通用知识」生成回答文档有相关内容会参考文档无内容时会用通用知识补充可能出现轻微幻觉日常咨询、内容润色、非严谨类问答、通用知识科普涉密/内部信息查询、需要100%准确溯源的场景、合同条款类严谨查询容易出现「模型知道通用隐私规则但没读到你的文档」的情况要么拒答要么编造信息代理Agent可自主调用你配置的外置工具搜索引擎、计算器、文件管理器、API接口等完成任务回答能力取决于你开放的工具权限可跨数据源整合信息复杂任务处理比如自动统计Excel数据、搜索最新行业政策、批量处理文件单纯查询内部文档、隐私敏感场景、追求低延迟的简单问答会增加响应延迟还可能触发不必要的工具调用反而干扰文档检索准确性设置为“查询模式”后点“Update Workspace”然后就能检索文档的内容
搭建RAG知识库系统
发布时间:2026/7/8 4:29:21
文章目录RAG是什么一、为什么需要 RAG二、RAG 系统的标准链路搭建RAG知识库系统第一步Ollama 侧补齐 embedding 模型第二步装 AnythingLLM 桌面版第三步向导里把四件套接上第四步建 Workspace 投喂文档第五步提问看引用RAG是什么RAGRetrieval-Augmented Generation检索增强生成知识库系统是当前企业把大模型接私域数据最主流的架构。核心思路一句话回答问题时不让 LLM 只靠训练记忆硬答而是先去你指定的知识库里查资料再把查到的内容拼进 Prompt 让模型基于证据生成——既解决幻觉又解决知识过时和私有数据不可用的问题。一、为什么需要 RAG纯 LLM 的三个硬伤知识有截止日期新政策、新文档它不知道私有数据不能拿来训合同、客服记录、内部 Wiki合规成本都不允许幻觉它编得很自信你没法溯源RAG 的解法是知识存在外挂库里用时才取取来才用。回答可溯源到原始段落这是它比微调更适合大多数企业场景的原因。二、RAG 系统的标准链路文档接入 → 解析清洗 → 切片(Chunk) → Embedding → 向量库 ↓ 用户提问 → 查询改写 → 检索召回 → Rerank重排 → 拼Prompt → LLM生成文档解析PDF / Word / Excel / PPT / 网页 / 图片 OCR。难点在扫描件、表格、多栏排版。常用工具Unstructured、Marker、MinerU。切片策略最容易踩坑的一环固定长度500/800 token 滑动窗口简单但容易把一段话拦腰切断按结构切标题/段落/语义结构化文档效果更好父子文档Parent-Child检索用小块提精度生成时拼回父块保上下文Embedding 向量化把文本转成稠密向量中文场景主流选开源BGE、GTE、M3EAPItext-embedding-3-small便宜够用向量数据库轻量原型FAISS、Chroma生产级Milvus、Weaviate、Qdrant、PGVector托管Pinecone、阿里云 DashVector检索 ≠ 只查向量工业级都会做混合向量检索语义匹配关键词检索BM25 / 全文索引双路召回召回后用Rerank 模型如 BGE-Reranker重排 TopK精度明显提升生成召回片段 用户问题拼 Prompt交给 LLM。Prompt 里一般加一句知识库不足以回答就说不知道防硬编。搭建RAG知识库系统本地部署的模型是 Ollama deepseek-r1:7b详情可参考用Ollama本地部署大语言模型 剩下就是把 AnythingLLM 接上去、补齐 embedding 模型、投喂文档。下面按Ollama 侧补齐 → 装 AnythingLLM → 向导四件套 → 建库投喂 → 验证 → 调优六块走。第一步Ollama 侧补齐 embedding 模型deepseek-r1:7b 有了但 RAG 还需要一个嵌入模型把文档转向量# 嵌入模型约 274MB很小中文通用够用ollama pull nomic-embed-text如果你中文文档多合同/手册/论文nomic-embed-text能用但非最优可以更换成bge-m3Hugging Face 下或 Ollama 社区版bge-m3:latest中文检索匹配度明显高一档。先用 nomic 跑通后面再换也行。确认 Ollama 服务在跑默认http://localhost:11434AnythingLLM 待会连这个。第二步装 AnythingLLM 桌面版去anythingllm.com/desktop下对应系统安装包Windows/macOS/Linux 都有一路下一步不用注册账号纯本地。Docker 党跳过这步直接docker run -d -p 3001:3001 -v anythingllm:/app/server/storage --name anythingllm mintplexlabs/anythingllm:latest但 Ollama Base URL 要填http://host.docker.internal:11434容器内localhost不是宿主机。第三步向导里把四件套接上打开 AnythingLLM首次会弹设置向导也可左下角 Settings 里改关键四项配置项选/填什么说明LLM ProviderOllamaOllama Base URLhttp://127.0.0.1:11434本机Docker 部署填http://host.docker.internal:11434Chat Modeldeepseek-r1:7b下拉框应该能自动识别空的话检查 Ollama 是否在跑EmbedderOllama →nomic-embed-text或 bge-m3把文档转向量用Vector DBLanceDB默认内置的零配置个人场景完全够点 Test / Save能绿就过。第四步建 Workspace 投喂文档Workspace 是 AnythingLLM 的隔离单位——一个区一套文档、一套 prompt建议按主题拆产品/技术/财务各一个别全塞一个里检索精度会高很多。左侧新工作区取名比如「员工手册」进入工作区 → 点上传或工作区名旁边上传图标拖文件进去——支持 PDF / Word / Excel / TXT / Markdown / 网页链接勾选上传的文件 →移动到工作区点保存并嵌入→ 开始解析 → 切片chunk→ 向量化 → 入 LanceDB进度条跑完就好几秒到几分钟看文档大小可以在向量数据库页签中查看向量数量第五步提问看引用对话框直接问比如张三的手机号链路是你的问题 → LanceDB 向量检索 top-k 片段 → 拼进 prompt → 送 deepseek-r1:7b 本地生成 → 回答底部带引用来源点开能看到命中原文。能出引用 RAG 链路通了。这里没有检索出刚上传的文档内容因为聊天模式是“代理”聊天模式决定了 AI“怎么回答你”以及“从哪里找答案”。以下是这三个模式的核心区别和适用场景模式名称核心逻辑回答边界典型适用场景不适合的场景用法提示查询Query严格仅基于你上传的文档内容生成回答完全不调用模型预训练的通用知识文档有明确内容→准确回答文档无相关内容→直接说「未找到相关信息」绝不编造私有知识库查询、合同条款核对、内部人员/数据查找、需要溯源的严谨问答日常闲聊、需要通用常识补充的问题、需要实时信息的场景能避免模型用「保护隐私」为由拒答也不会编造张三的信息回答底部一定会带文档引用可溯源聊天Chat混合调用「上传文档内容模型预训练通用知识」生成回答文档有相关内容会参考文档无内容时会用通用知识补充可能出现轻微幻觉日常咨询、内容润色、非严谨类问答、通用知识科普涉密/内部信息查询、需要100%准确溯源的场景、合同条款类严谨查询容易出现「模型知道通用隐私规则但没读到你的文档」的情况要么拒答要么编造信息代理Agent可自主调用你配置的外置工具搜索引擎、计算器、文件管理器、API接口等完成任务回答能力取决于你开放的工具权限可跨数据源整合信息复杂任务处理比如自动统计Excel数据、搜索最新行业政策、批量处理文件单纯查询内部文档、隐私敏感场景、追求低延迟的简单问答会增加响应延迟还可能触发不必要的工具调用反而干扰文档检索准确性设置为“查询模式”后点“Update Workspace”然后就能检索文档的内容