【AI技术教程】5分钟用Python+FAISS搭建本地RAG知识库,无需云服务

发布时间:2026/7/9 1:22:57
【AI技术教程】5分钟用Python+FAISS搭建本地RAG知识库,无需云服务 前言你是不是也遇到过这样的场景手里有一堆技术文档、API手册、会议纪要每次查东西全靠 CtrlF 盲搜效率极低RAGRetrieval-Augmented Generation检索增强生成就是为了解决这个问题而生的。它的核心思想很简单先把知识存起来需要时先检索再回答而不是让大模型全靠记忆硬编。今天这篇博客不整虚的直接带你用纯 Python FAISSFacebook 开源的向量检索库搭建一个本地 RAG 知识库完全离线、零成本、不依赖任何云 API。文末附完整可运行代码。一、RAG 到底是什么大白话解释RAG 流程可以分为三个核心步骤步骤英文名称做了什么类比1. 向量化Embedding把文字变成数字指纹给每本书编一个唯一编号2. 存储检索Vector Search在海量向量中快速找到相似的图书馆的索引目录3. 生成回答LLM Generation带着检索结果让大模型回答把相关书页递给老师看核心优势✅ 知识可更新文档改了重新向量化就行不用重新训练模型✅ 答案有出处每次回答都基于真实检索到的内容✅ 本地可控敏感数据不出门隐私有保障二、环境准备整个项目只需要两个核心依赖sentence-transformers将文本转为向量Embeddingfaiss-cpuFacebook 开源的高效向量检索库安装命令pipinstallsentence-transformers faiss-cpu 如果你的机器有 NVIDIA 显卡可以把faiss-cpu换成faiss-gpu检索速度会快几十倍。本文以 CPU 版本演示开箱即用。三、实操步骤从零到一搭建知识库步骤 1准备文档数据假设我们有以下技术文档片段实际使用时可以是 PDF、Markdown 文件的切分内容documents[Docker 容器是一种轻量级的虚拟化技术它将应用及其依赖打包在一个隔离环境中运行。,Kubernetes 是一个容器编排平台用于自动化部署、扩展和管理容器化应用。,Python 的 requests 库是一个简单易用的 HTTP 客户端库支持 GET、POST 等常用方法。,Git 是一个分布式版本控制系统支持分支管理、合并和提交历史记录。,Docker Compose 允许通过 YAML 文件定义和运行多容器 Docker 应用。,]步骤 2文本向量化使用sentence-transformers的预训练模型将每段文字转换为 768 维向量fromsentence_transformersimportSentenceTransformerimportfaissimportnumpyasnp# 加载预训练 embedding 模型首次运行会自动下载约 420MBmodelSentenceTransformer(all-MiniLM-L6-v2)# 对文档进行向量化embeddingsmodel.encode(documents,show_progress_barTrue)print(f向量维度:{embeddings.shape})# 输出: (5, 768) 模型说明all-MiniLM-L6-v2是一个轻量级中文/英文通用模型体积小、速度快适合入门。如果需要更高精度可以换用all-mpnet-base-v2。步骤 3构建 FAISS 索引将向量存储到 FAISS 索引中实现毫秒级相似度检索dimensionembeddings.shape[1]# 768# 使用 L2 距离欧几里得距离构建索引indexfaiss.IndexFlatL2(dimension)# FAISS 要求 float32 格式embeddings_32embeddings.astype(float32)index.add(embeddings_32)# 向索引中写入向量print(f已存储{index.ntotal}条向量)步骤 4实现检索功能defsearch(query:str,top_k:int3)-list:根据问题检索最相关的文档query_embeddingmodel.encode([query])query_32query_embedding.astype(float32)# FAISS 检索返回距离最近的前 top_k 个distances,indicesindex.search(query_32,top_k)results[]fori,(dist,idx)inenumerate(zip(distances[0],indices[0])):results.append({rank:i1,distance:round(float(dist),4),content:documents[idx]})returnresults# 测试检索query如何管理容器化应用resultssearch(query,top_k2)forrinresults:print(f[{r[rank]}] 相似度分数:{r[distance]})print(f 内容:{r[content]}\n)步骤 5连接大模型生成答案检索到相关文档后交给大模型生成最终回答。这里以本地 Ollama 为例importrequestsdefgenerate_answer(query:str,retrieved_docs:list)-str:基于检索结果生成回答context\n.join([d[content]fordinretrieved_docs])promptf你是一个专业的技术助手。请基于以下参考资料回答问题。 如果资料中没有答案请明确说参考资料中未提及。 参考资料{context}问题{query}# 调用 Ollama需先安装并启动 ollama serveresponserequests.post(http://localhost:11434/api/generate,json{model:qwen2.5:7b,prompt:prompt,stream:False})returnresponse.json().get(response,)# 完整 RAG 流程queryDocker 和 Kubernetes 有什么关系docssearch(query,top_k3)answergenerate_answer(query,docs)print(answer)四、进阶优化技巧优化方向具体做法效果文档切分使用 LangChain 的 RecursiveCharacterTextSplitter 按段落/字符数切分检索精度提升 30%混合检索结合关键词检索BM25 向量检索解决向量检索语义模糊问题重排序Rerank用 Cross-Encoder 模型对 top-20 结果重新打分取 top-5 精度显著提升索引压缩使用 FAISS 的 IVF PQ 量化在精度损失5%时压缩 8 倍千万级向量也可内存加载五、常见问题解答Q1检索出来的内容不够准确怎么办优先检查文档切分策略。一段文字太长的话嵌入向量会信息稀释。建议单段控制在 200-500 字。Q2中文效果不好可以尝试专为中文优化的 embedding 模型如BAAI/bge-base-zh-v1.5BGE 模型族中文语义检索能力更强。Q3数据量大了怎么办FAISS 单机可处理千万级向量。如果数据量超 500 万条建议升级到faiss-gpu或考虑 Milvus、Qdrant 等专用向量数据库。总结今天我们用不到 50 行 Python 代码搭建了一个完整的本地 RAG 知识库。核心要点回顾Embedding 是基石把文字变成向量相似度才能计算FAISS 是引擎高效的向量检索毫秒级返回大模型是出口带着检索结果生成有依据的答案完整代码可以直接复制运行无需任何配置。你可以把公司内部文档、学习笔记导入这个知识库打造一个专属的 AI 问答助手。下一步推荐试试把检索结果接入 Claude API 或本地 Ollama看看实际效果。动手试试吧

相关新闻

网站建设加推广需要多少钱这坑我算是趟明白了

网站建设加推广需要多少钱这坑我算是趟明白了

说实话,每次看到有人问我“网站建设加推广需要多少钱”,我心里就咯噔一下。不是不想帮,是真怕一开口把人吓跑,或者把人给忽悠了。这行水太深,深到你以为买个域名搭个模板就能上市,结果发现连个像样的后台都搞不定。我有个朋友,上个月非说他要搞个企业官网,预算就两千块…

发布时间:2026/7/9 1:22:26
国内企业私有化部署必看:Gemini Nano嵌入式方案 vs ChatGPT on Azure——端侧推理耗时、内存占用、合规审计支持度三重实测(仅限首批白名单用户获取)

国内企业私有化部署必看:Gemini Nano嵌入式方案 vs ChatGPT on Azure——端侧推理耗时、内存占用、合规审计支持度三重实测(仅限首批白名单用户获取)

更多请点击: https://codechina.net 第一章:国内企业私有化部署的合规性挑战与端侧AI选型逻辑 在《数据安全法》《个人信息保护法》及《生成式人工智能服务管理暂行办法》等法规持续落地背景下,国内企业对AI模型的私有化部署已从技术选型上升…

发布时间:2026/7/9 1:22:03
网站建设规划申请:别等老板骂了才想起这玩意儿能救命

网站建设规划申请:别等老板骂了才想起这玩意儿能救命

内容:昨天半夜两点,我盯着屏幕上那个乱成一锅粥的后台,真想顺着网线过去掐死那个当初说“随便做个页面就行”的项目经理。真的,那种无力感就像吞了一只苍蝇,吐不出来又咽不下去。咱们今天不聊那些虚头巴脑的技术栈,就聊聊那个被无数老板忽视、被无数执行者敷衍的环节——网…

发布时间:2026/7/9 1:21:31
拒绝花架子!一份接地气的学院网站群建设方案实战避坑指南

拒绝花架子!一份接地气的学院网站群建设方案实战避坑指南

做高校网站这行,踩过的坑比走过的路还多。前两天有个老同学找我吐槽,说他们学校刚花的几十万建的官网,后台复杂得连辅导员都玩不转。老师想发个通知,要点七次鼠标,最后还报错。这哪是建设,简直是给老师加负担。今天不聊虚的,就聊聊怎么搞一个真正好用的学院网站群建设方…

发布时间:2026/7/9 2:09:32
河南锦路路桥建设有限公司网站怎么找靠谱工程队?内行人的避坑指南

河南锦路路桥建设有限公司网站怎么找靠谱工程队?内行人的避坑指南

搞工程的兄弟,是不是每次找施工队都头大?网上信息鱼龙混杂,电话打过去要么推诿,要么报价离谱,最后工期延误,赔钱又丢人。别急着在朋友圈乱问,今天咱就聊聊怎么透过“河南锦路路桥建设有限公司网站”这个窗口,看清一家老牌路桥企业的真实底细。这不仅仅是个网页,更是你…

发布时间:2026/7/9 2:09:22
北京华恒智信为物业服务行业破解管家重收费轻服务痛点、实现岗位提质增效

北京华恒智信为物业服务行业破解管家重收费轻服务痛点、实现岗位提质增效

一、物业管家岗位现存核心困局当下物业服务行业普遍存在管家岗位定位偏差问题,多数物业管家添加业主微信后,日常输出内容以催费通知为主,服务沦为收费的附属工具,失去了本身的价值意义。据某物业公司运营总监反馈,目前…

发布时间:2026/7/9 2:09:52
网站建设晋丰避坑指南:别让你的官网变成互联网垃圾场

网站建设晋丰避坑指南:别让你的官网变成互联网垃圾场

别再做那种打开就要转圈三秒、手机上看字像蚂蚁一样的破网站了。真的,我受够了。上周帮一个做建材的朋友看他的网站,那页面加载速度,慢得让我怀疑他是不是用了20年前的服务器。客户点进去,连个联系方式都找不到,满屏都是那种假大空的“追求卓越”、“共赢未来”。我忍不住…

发布时间:2026/7/9 2:09:15
别被割韭菜!学网站建设多少学费才合理?血泪教训告诉你真相

别被割韭菜!学网站建设多少学费才合理?血泪教训告诉你真相

上周有个兄弟私信我,说报了个三千块的培训班,结果老师连FTP怎么上传文件都没讲清楚。我听完心里一紧,这哪是学技术,这是纯纯的交智商税啊。现在网上关于“学网站建设多少学费”的争论太多了。有的说免费教程够用了,有的说必须报班才有人带。作为在这个行业摸爬滚打五年的老…

发布时间:2026/7/9 2:08:34
贵阳网站商城建设避坑指南:别被低价忽悠,这3个坑我替你踩过了

贵阳网站商城建设避坑指南:别被低价忽悠,这3个坑我替你踩过了

说实话,刚入行那会儿,我也觉得做个商城网站跟盖房子似的,给钱就行。直到后来在贵阳跑了几十个客户,见过太多因为贪便宜最后网站打不开、数据泄露的惨案,我才明白:这行水太深,稍不留神就是几万块打水漂。今天不整那些虚头巴脑的理论,就聊聊我在贵阳这行摸爬滚打几年总结…

发布时间:2026/7/9 2:08:02
江苏建设个人信息网站 怎么查才不踩坑?

江苏建设个人信息网站 怎么查才不踩坑?

昨晚十一点半,我还在被窝里刷手机。不是看剧,是焦虑。前脚刚收到个骚扰电话,后脚短信就来了。那种感觉,就像有人在你家窗户底下装了窃听器。气不打一处来。我想查查我的信息到底泄露没。这时候脑子里蹦出个念头:江苏建设个人信息网站。别笑,这名字听着挺官方,挺靠谱。我…

发布时间:2026/7/9 0:01:26
珠海住房和建设局网站怎么查备案?老中介的掏心窝子话,别等踩坑才后悔

珠海住房和建设局网站怎么查备案?老中介的掏心窝子话,别等踩坑才后悔

珠海这地方,买房的人是真多,但水也是真深。很多人第一反应是去中介门店看海报,或者刷短视频听主播喊口号。说句不好听的,那些都是包装出来的“美好”。真正能定心丸的,其实就在那个看起来有点丑、操作有点繁琐的官方平台上——珠海住房和建设局网站。我干了五年房产,见过…

发布时间:2026/7/9 0:01:49
别再被忽悠了!揭秘专业网站建设效果的底层逻辑与真实成本

别再被忽悠了!揭秘专业网站建设效果的底层逻辑与真实成本

很多老板找我聊网站,开口就是“给我整一个高大上的”,预算还卡得死死的,三五千块钱想做出几十万的效果。说实话,这种需求我一般直接劝退。为啥?因为专业网站建设效果从来不是靠堆砌特效或者套用模板能搞定的,它是商业逻辑、技术实现和用户心理的精密结合。今天咱不整那些…

发布时间:2026/7/9 0:01:56
做个人信息管理网站建设,这3个坑我踩了七年,你千万别再跳

做个人信息管理网站建设,这3个坑我踩了七年,你千万别再跳

做了七年建站,见过太多老板花大钱买模板,最后发现根本没法用。特别是现在大家都讲究数据隐私,想搞个个人信息管理网站建设,结果越搞越乱。这篇文不整虚的,直接说怎么把这套系统落地,让你自己的数据真正听话。先说个真事儿。去年有个做自由职业的朋友找我,他说想建个网站…

发布时间:2026/7/8 14:09:51
杨凌规划建设局网站怎么查最新规划?老杨说点大实话

杨凌规划建设局网站怎么查最新规划?老杨说点大实话

杨凌规划建设局网站你是不是也遇到过这种情况?想看看自家旁边要修路,还是建公园。翻遍了手机,搜出来的全是几年前的旧闻。或者好不容易找到个入口,页面加载慢得像蜗牛。心里那个急啊,真的,懂的人都懂。我是老杨,在杨凌混了十几年,跟这行打交道不少。今天不跟你扯那些虚…

发布时间:2026/7/8 12:11:30
杭州网站建设 seo 避坑指南:别被那些只会套模板的忽悠了

杭州网站建设 seo 避坑指南:别被那些只会套模板的忽悠了

昨天半夜两点,我还在改一个客户的后台,咖啡都凉透了。这哥们儿是做机械配件的,在余杭那边,找的前一家公司花了八千块做了个站,结果上线一个月,百度连个影子都没有。他急得给我打电话,说是不是被黑了。我让他把链接发过来,打开一看,好家伙,那代码乱得跟刚被猫抓过的毛…

发布时间:2026/7/8 4:42:51
建站7年才悟出的网站建设思路,别再花冤枉钱了

建站7年才悟出的网站建设思路,别再花冤枉钱了

做建站这行整整7年了。 见过太多老板花几万块, 最后做出来的网站像个垃圾场。 今天不整那些虚头巴脑的术语。 就聊聊我踩过的坑, 和真正能落地的网站建设思路。很多老板一上来就问: “多少钱能做个高大上的?” 我通常直接劝退。 因为方向错了, 你给再多钱也是打水漂。 真正…

发布时间:2026/7/8 9:56:13
合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

合肥的网站建设避坑指南:别被低价忽悠,这3个细节决定生死

做企业官网最怕什么?不是技术难,是交钱后没人管,或者上线一个月连个访客都没有。这篇东西不扯虚的,直接告诉你怎么在合肥找个靠谱的团队,或者自己怎么避坑。先说个大实话,我在合肥混这行五年多,见过太多老板因为贪便宜吃大亏。你去百度搜“合肥的网站建设”,出来一堆报…

发布时间:2026/7/8 3:06:40
别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

别被忽悠了!德州网站建设那些坑,我拿真金白银换来的教训

做这行久了,心里就憋着一股火。每次看到客户拿着网上抄来的模板,问我能不能做成“苹果官网”那种效果。我就想笑。真的,太想笑了。今天咱不整那些虚头巴脑的专业术语。就聊聊德州网站建设里,那些让人头秃的真实事儿。我有个客户,老张。他是做德州本地建材的,实在人。当初…

发布时间:2026/7/8 11:22:51