news 2026/9/1 13:24:43

Ollama + BGE-M3:构建本地RAG的检索与生成分离实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ollama + BGE-M3:构建本地RAG的检索与生成分离实践

简介:面向AI应用开发者与知识库智能体搭建者,这份代码包提供基于Ollama与BGE-M3的对接方案,涵盖大语言模型部署、嵌入模型接入、Vllm与Dify集成,以及本地DeepSeek模型的编排使用。资源共4个文件,压缩包体积仅8KB,包含Markdown说明、HTML展示页面、inscode配置和gitignore文件,结构简洁,便于快速对照实践。其中重点梳理了Ollama安装配置、模型文件目录修改、端口号调整、模型选择下载与测试,以及Dify集成过程中的常见报错与解决办法,适合在本地环境复现知识库智能体时参考排错。目前已有193人学习/下载,对于希望低成本搭建本地智能体并理解模型协作原理的开发者,这份小巧的代码包能提供具体落地路径与学习指引,既能快速上手实践,也有助于系统掌握本地大模型与嵌入模型组合应用的关键环节。 做本地知识库问答,最让人上头的往往不是把大模型跑起来,而是让“检索”和“生成”两条链路真正打通。我大半年都在折腾 Ollama 和各类嵌入模型,最终稳定下来的一套组合就是 Ollama + BGE-M3:Ollama 负责对话模型的管理和推理,BGE-M3 负责把文档和问题映射成向量,两边通过本地 HTTP 服务对接。这篇帖子会把完整方案、可复制的代码、以及我踩过的坑都摆出来,适合已经接触过 Ollama、准备把 RAG 落地到本机或内网的读者。如果你刚装好 Ollama,还在为“模型下载慢”“不知道选哪个 embedding 模型”发愁,这一篇也能帮你少走半天的弯路。方案整体不复杂,但按这个思路拆开后,后面加向量库、加 rerank 都会顺很多。

1. 为什么是BGE-M3 + Ollama:先把“检索”和“生成”拆开

很多人在本地 RAG 上翻车,不是模型不好,而是把检索和生成两件事揉成了一团。检索要解决的是“哪几段文档和这个问题最相关”,生成要解决的是“把这些文档组织成一句人话”。前者本质是向量相似度计算,后者本质是语言模型推理,它们本来就应该由不同组件承担。

1.1 本地RAG的常见误区:让一个模型同时干两件事

最典型的做法是什么都往 Ollama 里塞。Ollama 确实能跑 embedding 模型,比如 nomic-embed-text、mxbai-embed-large,也能跑对话模型。但 embedding 模型的生态和对话模型差很多,Ollama 官方模型库里给的选项有限,中文效果尤其一般。于是很多人拉了个 qwen2.5 就让它“自己找资料、自己回答”,结果是模型一本正经地编,因为对话模型在生成时根本没有可靠的外部知识来源。RAG 的意义就在于把“读资料”这一步从生成模型里剥离出来,单独交给检索系统,这正是我坚持用 BGE-M3 做检索侧、用 Ollama 只做生成侧的原因。

1.2 为什么BGE-M3没有出现在Ollama模型库

BGE-M3 是 BAAI 开源的多语言文本向量模型,最大 8192 token,输出 1024 维 dense 向量,中文效果好,这些特性让它很适合做中文知识库底座。但它不是一个标准 GGUF 对话模型,Ollama 官方模型库并没有把它作为 embedding 模型内置。你当然可以手动把 BGE-M3 转成 GGUF 再 create 进 Ollama,但我试下来会遇到 tokenizer 对齐和接口返回格式的问题,ROI 很低。更稳的路径是:BGE-M3 独立起一个 Python 服务,Ollama 只跑对话模型,两边用 HTTP 通信。

方案输出维度中文效果部署复杂度适用场景
BGE-M3 独立服务1024中等中文知识库、长文本检索
Ollama + nomic-embed-text768一般快速验证、英文/代码为主
Ollama + mxbai-embed-large1024一般简单英文 RAG

1.3 这套对接方案的整体结构

最终形态是这样:一个 Flask 服务在 6006 端口接收文本,返回 BGE-M3 向量;Ollama 服务在 11434 端口提供对话补全;中间的自研管道先把 query 向量化,再从文档库里做余弦相似度召回,最后把命中的段落拼成 prompt 交给 Ollama。这样拆开至少有三个好处:第一,嵌入模型升级不影响对话模型,反之亦然;第二,每个环节可以单独用 curl 验证,哪里出了问题一眼就看出来;第三,以后接 Chroma、FAISS 只需替换检索那一段,生成侧完全不用动。

2. 环境准备与模型搬运:安装Ollama、GPU配置、BGE-M3获取

2.1 安装Ollama与下载慢的实用对策

Windows 就直接去官网下安装包,装完托盘里能看到 Ollama 服务。Linux 执行下面这条命令:

curl -fsSL https://ollama.com/install.sh | sh

如果你撞上“下载太慢”,我实测最有效的办法不是反复重试ollama pull,而是改用“本地导入 GGUF”的路线。先去模型社区下载目标模型的 GGUF 文件,比如 qwen2.5 的 4bit 量化版,再写一个 Modelfile:

FROM ./qwen2.5-7b-instruct-q4_k_m.gguf

然后执行ollama create qwen2.5:7b -f Modelfile。这个方式能断点续传,下载工具也更可靠。关于 ollama

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 13:24:38

RevokeMsgPatcher|Windows 微信QQ防撤回补丁:三步上手的完整指南

RevokeMsgPatcher|Windows 微信QQ防撤回补丁:三步上手的完整指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址…

作者头像 李华
网站建设 2026/9/1 13:24:09

PDFMathTranslate:3 分钟完成 PDF 文献翻译,公式图表一个不丢

PDFMathTranslate:3 分钟完成 PDF 文献翻译,公式图表一个不丢 【免费下载链接】PDFMathTranslate [EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/…

作者头像 李华
网站建设 2026/9/1 13:23:59

GEO 优化避坑与落地全指南:从需求诊断到服务商科学选型实操手册

摘要 生成式 AI 已经深度介入采购、比价、方案评估全商业决策,GEO 生成式引擎优化成为企业抢占 AI 增量流量的重要手段。但大量企业在入局时普遍存在问题:分不清自身真实业务诉求、看不懂服务商宣传话术、混淆工具和全案代运营、被模板化服务消耗预算。 …

作者头像 李华
网站建设 2026/9/1 13:19:31

耳夹式耳机选购指南:从佩戴舒适到音质降噪实测

耳夹式耳机在2026年已经不算新鲜品类了,尤其8月这一波选购,几乎每个价位段都能看到对应产品。我的建议比较直接:耳夹式不是入耳式耳机的替代品,而是解决“长时间佩戴舒服”和“需要听到周围声音”这两个具体场景的方案。这篇文章主…

作者头像 李华
网站建设 2026/9/1 13:14:25

glTF/GLB从原理到实战:模型转换、下载与Web3D展示

简介:这份三维模型合集面向三维可视化、地理信息与仿真开发人员,收录卫星、警车、消防车、Cesium 飞机、Cesium 无人机等典型实体模型,覆盖智慧城市、飞行模拟、应急演练和虚拟地球等常见场景,适合用于项目验证或教学演示。压缩包…

作者头像 李华
网站建设 2026/9/1 13:13:28

零基础孩子每天学多久能顺利考过GESP一级

零基础四年级孩子备考GESP一级,按阶段分配每日学习时长,总周期2-3个月就能顺利通关,完全不会占用过多校内学业时间。 一、分阶段每日时长标准 1、入门体验期(前1-2个月)‌: 每天投入‌30分钟‌&#xff0…

作者头像 李华