DeepSeek + 本地知识库:30 分钟给团队搭一个能回答内部问题的问答机器人
最近有几个同事老在群里问报销流程是啥“请假怎么走”明明文档里都写了就是没人翻。我想着干脆用 DeepSeek 搭一个能读我们资料的问答机器人贴到群里谁想问就直接问。折腾了一下午跑通了代码不多这里把过程和踩的坑记一下。为什么非要搞 RAG 而不是直接问大模型很多人一开始都有这个疑问。大模型确实强但有两个毛病它训练数据的截止时间摆在那你公司上个月新改的制度它根本不知道。它不懂的东西会一本正经给你编这就很要命。RAG 的思路其实很朴素把你的资料先切成一小块一小块存进向量库别人提问的时候先从那堆块里把最相关的几段捞出来再连问题一起丢给大模型让它照着资料回答。资料是真实的答案自然就靠谱幻觉也少很多。整体流程把文档切成块 → 每块转成向量存起来 → 提问时按相似度把最相关的块捞出来 → 连同问题一起给大模型 → 得到基于资料的答案。就这四步没有别的玄机。装环境pipinstalllangchain langchain-community chromadb sentence-transformers openaiDeepSeek 提供的是 OpenAI 兼容接口所以不用装它专用的包直接用 openai 库就行。代码1. 先接上 DeepSeekimportosfromlangchain_openaiimportChatOpenAI os.environ[DEEPSEEK_API_KEY]sk-你的key# 在 https://platform.deepseek.com 申请llmChatOpenAI(modeldeepseek-chat,api_keyos.environ[DEEPSEEK_API_KEY],base_urlhttps://api.deepseek.com/v1,temperature0.1,# 问答场景温度调低点别让它自由发挥)2. 读文档 切块fromlangchain_community.document_loadersimportDirectoryLoader,TextLoaderfromlangchain.text_splitterimportRecursiveCharacterTextSplitter loaderDirectoryLoader(./docs,glob*.md,loader_clsTextLoader)documentsloader.load()splitterRecursiveCharacterTextSplitter(chunk_size512,# 一块约 512 字chunk_overlap80,# 相邻块重叠 80 字防止关键句被切裂separators[\n\n,\n,。,,,,, ,],# 按中文标点切)chunkssplitter.split_documents(documents)print(f切出了{len(chunks)}块)3. 向量化存库fromlangchain_community.embeddingsimportHuggingFaceEmbeddingsfromlangchain_community.vectorstoresimportChroma# 本地中文 embedding 模型免费不用联网embeddingsHuggingFaceEmbeddings(model_nameshibing624/text2vec-base-chinese)vectorstoreChroma.from_documents(documentschunks,embeddingembeddings,persist_directory./chroma_db,)4. 检索问答fromlangchain.chainsimportRetrievalQA retrievervectorstore.as_retriever(search_kwargs{k:4})# 取最相关的 4 块qa_chainRetrievalQA.from_chain_type(llmllm,retrieverretriever,return_source_documentsTrue,# 把依据的来源也返回方便核对)resultqa_chain.invoke({query:报销流程是什么})print(result[result])print(\n--- 依据的来源 ---)fori,docinenumerate(result[source_documents][:3]):print(f[{i1}]{doc.page_content[:120]}...)跑出来的效果大致是回答 按公司制度报销要填报销单并附发票直属主管先批财务在 3 个工作日内 复核打款单笔超 5000 元需 CTO 再批一次。 --- 依据的来源 --- [1] 报销管理制度……5000 元以上需 CTO 审批…… [2] 财务指引……报销单需在当月月底前提交……中文 RAG 最容易踩的 5 个坑这 5 个坑我基本全踩过一遍写出来帮你们省点时间。坑现象怎么解分块把信息切裂一句话被切成两半检索不到overlap 调到 60~100 字按英文标点切中文长句被粗暴切断separators 加上 。默认 embedding 不适配中文检索结果对不上问题换 text2vec / bge 这类中文模型温度设太高答案开始自己发挥问答场景 temperature 压到 0.1 以下不返回来源答错了没法排查打开 return_source_documentsTrue翻车后调出来的实测对比指标刚开始调完之后中文检索命中率61%93%平均回答时间4.2s2.8s幻觉率抽检18%4%主要就是换了中文 embedding、把 overlap 调大、温度压低了效果差别挺明显。还能往哪走要支持多轮对话换ConversationalRetrievalChain把历史带上。要是 PDF加载器换成PyMuPDFLoader。数据量大了Chroma 会有点吃力换 Faiss 或 Milvus。想给多人用用 FastAPI 包个 HTTP 接口就行。收个尾说白了 RAG 不复杂核心就是把块切好、中文向量化、检索生成这三步。难点不在大模型而在中文分块和检索质量。上面 5 个坑避开基本就能交付一个能真正用的内部问答机器人了。你在搭 RAG 的时候还踩过哪些坑评论区说说我看看能不能一起解决。

相关新闻

解锁500+AI模型:开源AI生成平台的完全自托管方案

解锁500+AI模型:开源AI生成平台的完全自托管方案

解锁500AI模型:开源AI生成平台的完全自托管方案 【免费下载链接】Open-Generative-AI Unrestricted Open-source alternative to AI video platforms — Free AI image & video generation studio with 500 models (Flux, Midjourney, Kling, Sora, Veo). No co…

2026/8/10 23:06:40 阅读更多 →
PCA-GRU模型在时间序列预测中的MATLAB实现与优化

PCA-GRU模型在时间序列预测中的MATLAB实现与优化

1. 项目概述:PCA-GRU回归预测模型在时间序列预测领域,传统方法往往难以有效处理高维数据中的噪声和冗余信息。PCA-GRU组合模型通过主成分分析(PCA)降维和门控循环单元(GRU)时序建模的协同作用,为…

2026/8/10 23:06:40 阅读更多 →
HelloGitHub:发现有趣开源项目的终极指南

HelloGitHub:发现有趣开源项目的终极指南

HelloGitHub:发现有趣开源项目的终极指南 【免费下载链接】HelloGitHub :octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub. 项目地址: https://gitcode.com/GitHub_Trending/he/HelloGitHub …

2026/8/10 23:06:40 阅读更多 →

最新新闻

UE5裸眼3D项目实战:Acer SpatialLabs View Pro配置与优化全攻略

UE5裸眼3D项目实战:Acer SpatialLabs View Pro配置与优化全攻略

1. 项目概述与核心价值如果你是一位游戏开发者、建筑可视化设计师或者数字艺术创作者,最近恰好入手了Acer SpatialLabs View Pro这款裸眼3D显示器,并且想在Unreal Engine 5(UE5)里跑通一个真正的裸眼3D项目,那你来对地…

2026/8/10 23:57:02 阅读更多 →
Linux、内核与发行版:区别在哪?

Linux、内核与发行版:区别在哪?

目录​L​i​n​u​x​​G​N​U​/​L​i​n​u​x​​发​行​版​​结​尾​​本​文​由​J​z​w​a​l​l​i​s​e​r​原​创​,​发​布​在​C​S​D​N​平​台​上​,​遵​循​CC 4.0 BY-NC-SA协​议​。​ ​因​此​,​若​需…

2026/8/10 23:57:02 阅读更多 →
从入门到精通:emhash6/7/8哈希表选型指南与性能对比

从入门到精通:emhash6/7/8哈希表选型指南与性能对比

从入门到精通:emhash6/7/8哈希表选型指南与性能对比 【免费下载链接】emhash Fast and memory efficient c flat hash table/map/set 项目地址: https://gitcode.com/gh_mirrors/em/emhash emhash是一个快速且内存高效的C扁平哈希表/映射/集合库,…

2026/8/10 23:57:01 阅读更多 →
AnimateDiff终极指南:5分钟掌握AI动画精准运动控制技巧 [特殊字符]

AnimateDiff终极指南:5分钟掌握AI动画精准运动控制技巧 [特殊字符]

AnimateDiff终极指南:5分钟掌握AI动画精准运动控制技巧 🎬 【免费下载链接】animatediff 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/animatediff 想要让AI生成的动画动起来吗?AnimateDiff为你提供了简单高效的解决方案…

2026/8/10 23:57:01 阅读更多 →
VMware虚拟机去虚拟化实战:绕过软件检测的Win7环境搭建指南

VMware虚拟机去虚拟化实战:绕过软件检测的Win7环境搭建指南

如果你在游戏多开、软件测试或特定行业应用中,发现虚拟机里的程序运行异常、被检测、甚至直接闪退,那么这篇文章就是为你准备的。这不是一篇普通的虚拟机安装教程。我们将聚焦一个在特定场景下极具价值的技术操作:使用经过深度定制的 VMware …

2026/8/10 23:57:01 阅读更多 →
毕业之家使用体验:开题任务书、文献综述、答辩PPT一站式搞定

毕业之家使用体验:开题任务书、文献综述、答辩PPT一站式搞定

写毕业论文那阵子,我整个人是有点崩溃的。不是写不出来,是那些“周边”活儿太磨人了——开题任务书、文献综述、课程论文、答辩PPT,每一件单拎出来都不算难,但叠在一起,再加上 deadline 在后面追,真的会让人…

2026/8/10 23:56:01 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →