☰
Windows 11 本地知识库部署:DeepSeek + Dify + Ollama 避坑指南
2026/10/25 12:00:21 网站建设 项目流程

简介:这份PDF资料面向希望零基础搭建私有AI知识库的开发者和AI爱好者,围绕DeepSeek大模型与Dify开源平台,给出从系统环境变量配置、Ollama安装、deepseek-r1与bge-m3模型拉取,到Docker部署、Dify配置及知识库创建的完整本地化落地路径,帮助读者摆脱对云端服务的依赖,在个人电脑上跑通一套可对话、可检索的知识库系统。资源包共1个PDF文件,约1.47MB,以图文步骤形式记录各环节的界面操作与命令输入,便于对照执行。目前已有2345人学习关注。内容覆盖环境变量设置、模型选择与拉取、镜像加速配置、.env参数调整及聊天助手与知识库的关联使用,并附有ollama list等验证命令,可帮助读者快速复现部署流程、理解各组件协作关系,适合作为本地大模型应用入门的实操参考。

1. 从一次“模型下完了却用不上”的翻车说起

Windows 11 上想跑一套本地知识库,DeepSeek + Dify 这套组合大概是目前门槛最低、资料最全的一条路:Ollama 管模型,Docker 管容器,Dify 管应用和知识库,全程不碰一行后端代码。但门槛低不等于不会翻车。我见过最常见的场景是:Ollama 装好了,deepseek-r1:8b也拉下来了,命令行里聊得挺顺,结果一进 Dify 添加模型就报连接失败——模型明明在本地,应用就是够不着。问题往往不在模型,而在环境变量、容器网络和.env配置这三处中的某一处。

这篇笔记按我实际装机的顺序走一遍:先定环境变量和版本,再装 Ollama 拉模型,然后装 Docker 配镜像,接着部署 Dify 并打通 Ollama,最后落到“怎么验证真的跑通了”。适合第一次在 Windows 上做本地大模型部署的开发者,也适合装过一半卡在模型对接环节、想回头排查的人。装之前先把磁盘腾出至少 30GB,8B 模型加 embedding 模型加 Docker 镜像,空间消耗比想象中大。

2. 装前定环境:Windows 11 变量与版本取舍

2.1 先把 OLLAMA_MODELS 定下来

Ollama 默认把模型放在系统盘用户目录下,一个 8B 模型动辄四五个 GB,几个模型下来 C 盘就红了。所以第一步不是装软件,是改模型存储路径。右击“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”里新建:

变量名变量值示例说明
OLLAMA_MODELSE:\Ai\Ollama3模型实际落盘目录,提前建好空文件夹

值里的路径必须是已存在的文件夹,Ollama 不会帮你创建父目录。设完重启系统,这一步别省——环境变量对已运行的服务不生效,重启是最省事的办法。我一般会在设完后打开一个新的 cmd 窗口执行echo %OLLAMA_MODELS%,能回显出路径才算数。

2.2 版本选择:模型按显存挑,不按心情挑

DeepSeek-R1 在 Ollama 上有多个尺寸,选哪个看机器。常见做法是按显存和内存对号入座:

模型标签大致体积适用机器
deepseek-r1:1.5b约 1.1GB8GB 内存、无独显的轻薄本
deepseek-r1:7b / 8b约 4.7GB16GB 内存、6GB 以上显存
deepseek-r1:14b约 9GB32GB 内存、12GB 显存
deepseek-r1:32b约 20GB64GB 内存、24GB 显存

原文用的是 8b,这也是大多数 16GB 内存机器的甜点档。embedding 模型固定用bge-m3,它负责把知识库文档转成向量,和对话模型是两回事,两个都得拉。Docker Desktop 走官网 Windows AMD64 版本即可,Dify 用 GitHub 主分支压缩包,解压后目录名统一改成dify,后面所有路径都基于它。

提示:模型目录、Docker 镜像目录、Dify 解压目录尽量放同一个数据盘,迁移和备份时少跨盘折腾。

3. 装 Ollama 并拉模型:两条命令的先后顺序

3.1 安装与验证服务

从 Ollama 官网下载OllamaSetup.exe,双击后点 Install,装完托盘会出现 Ollama 图标。装完先别急着拉模型,开一个 cmd 验证服务在跑:

ollama --version ollama list

第一条回显版本号,第二条即使为空也说明服务通了。如果ollama list报连接拒绝,多半是托盘程序没起来,手动启动一次 Ollama 再试。这里有个容易忽略的点:装完 Ollama 后要重新开一个命令行窗口,旧窗口继承的是安装前的环境变量,读不到刚设的OLLAMA_MODELS。

3.2 拉对话模型和 embedding 模型

# 拉取对话模型,8b 对应约 4.7GB 下载量 ollama run deepseek-r1:8b # 进入对话后随便问一句验证,退出用 Ctrl+C 再 Ctrl+D # 拉取向量模型,知识库检索依赖它 ollama pull bge-m3 # 确认两个模型都在列表里 ollama list

ollama run第一次执行会先下载再进入交互,下载进度条走完出现>>>提示符就说明模型可用了。测试一句“你好”能正常回复,按Ctrl+C中断生成、再按Ctrl+D退出交互。ollama pull只下载不进入对话,适合 embedding 这类不需要手动聊的模型。最后ollama list应该能看到deepseek-r1:8b和bge-m3两行,NAME 列的名字后面配 Dify 时要一字不差地抄过去。

注意:拉模型过程中断网或关窗口,重新执行同一条命令会断点续传,不用删了重来。

4. 装 Docker 并配镜像:让拉取不再卡住

4.1 安装与存储位置

从 Docker 官网下载 Docker Desktop for Windows AMD64,双击安装,装完重启一次。首次启动进入 Settings → Resources → Advanced,把 Disk image location 改到数据盘,例如E:\Docker\DockerDesktopWSL。这个设置决定镜像和容器数据放哪,默认在 C 盘,Dify 一套镜像拉下来好几个 GB,不改迟早爆盘。改完点 Apply & restart,Docker 会重启并迁移数据,等托盘图标变绿再继续。

4.2 配置镜像加速

进入 Settings → Docker Engine,把配置改成下面这样再 Apply & restart:

{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": ["https://hub.rat.dev"] }

registry-mirrors是拉取 Docker Hub 镜像时走的加速地址,国内网络下拉 Dify 依赖的十几个镜像,不配这一项经常卡在 pulling 不动。defaultKeepStorage控制构建缓存上限,20GB 对本地部署够用,机器紧张可以调小。改完在终端执行docker version和docker compose version,两条都有输出才说明 Docker 和 Compose 插件都就绪——Dify 用的是docker compose新语法,不是老的docker-compose。

5. 部署 Dify 并打通 Ollama:.env 里那两行是关键

5.1 准备 .env 文件

把 Dify 压缩包解压到数据盘并命名为dify,进入dify\docker目录,把.env.example复制一份改名为.env。Windows 资源管理器默认不显示已知扩展名,改名时容易变成.env.txt,建议在终端里用命令改:

cd E:\dify\docker copy .env.example .env

然后用记事本打开.env,拉到文件末尾另起一行,追加:

# 允许 Dify 使用自定义模型供应商 CUSTOM_MODEL_ENABLED=true # 指向宿主机上的 Ollama 服务,容器内访问宿主机用这个特殊域名 OLLAMA_API_BASE_URL=http://host.docker.internal:11434

CUSTOM_MODEL_ENABLED=true打开后,模型供应商列表里才会出现 Ollama 这一项。host.docker.internal是 Docker Desktop 提供的宿主机别名,容器里的 Dify 靠它访问跑在 Windows 上的 Ollama;直接写127.0.0.1在容器里指向的是容器自己,必然连不上。原文这里写的是不带http://的形式,实际配置时补全协议头更稳妥,避免解析歧义。

5.2 启动容器并等健康检查

# 在 dify\docker 目录下执行,-d 表示后台运行 docker compose up -d # 查看容器状态,等所有服务变成 running 或 healthy docker compose ps

第一次执行会拉取 api、worker、web、db、redis、weaviate 等一串镜像,耗时取决于网络,中途别关窗口。docker compose ps里 db 和 redis 通常很快 healthy,api 和 worker 要等初始化,全部起来一般两三分钟。如果某个容器反复重启,用docker compose logs api看日志,最常见的是端口 80 被占用或.env里有语法错误。

5.3 初始化管理员并接入两个模型

浏览器打开http://127.0.0.1/install,出现设置管理员账号的页面就说明 Dify 起来了。设好邮箱密码登录,进入右上角头像 → 设置 → 模型供应商,找到 Ollama 点“添加模型”。

先加 LLM:模型名称填deepseek-r1:8b(和ollama list里完全一致),基础 URL 填http://host.docker.internal:11434,模型类型选 LLM,其余默认,保存。再加 Text Embedding:模型名称填bge-m3,基础 URL 同上,类型选 Text Embedding,保存。两个都保存成功、供应商卡片上出现模型条目,模型这一层才算打通。

提示:模型名称多一个空格、少一个冒号都会导致保存后调用报 404,直接从ollama list复制最稳。

6. 避坑排查:五个装完才发现的坑

6.1 现象:Dify 添加 Ollama 模型报连接失败

原因:.env里OLLAMA_API_BASE_URL写成了127.0.0.1:11434,容器内回环地址指向容器自身。解决:改成http://host.docker.internal:11434,保存后执行docker compose up -d让 api 容器重建生效,只重启不重建读不到新环境变量。

6.2 现象:模型列表里没有 Ollama 供应商

原因:.env没加CUSTOM_MODEL_ENABLED=true,或加了但没重建容器。解决:确认该行在.env末尾且无拼写错误,执行docker compose down再docker compose up -d,刷新页面重新进设置。

6.3 现象:C 盘空间持续下降,模型却不在 C 盘

原因:OLLAMA_MODELS设了但没重启,或 Ollama 服务在设变量前已启动,模型仍写进默认目录。解决:退出托盘 Ollama,确认echo %OLLAMA_MODELS%有值后重启系统,再重新拉模型;已下到 C 盘的模型目录可手动删掉释放空间。

6.4 现象:docker compose up -d卡在 pulling 不动

原因:镜像加速未生效或加速地址不可用。解决:确认 Docker Engine 配置里registry-mirrors已保存并 Apply & restart,docker info输出里能看到 Mirrors 列表;仍卡就换一个可用加速地址再试。

6.5 现象:知识库上传文档后检索不到内容

原因:embedding 模型没配或分段设置与文档类型不匹配。解决:先在模型供应商里确认bge-m3保存成功,再检查知识库创建时索引方式选了“高质量”、检索设置选了“向量检索”;纯文本用通用分段即可,表格密集的文档适当调大分段长度。

7. 验证跑通:从一条命令到一次真实问答

装完不等于跑通,我习惯按“模型层 → 容器层 → 应用层 → 知识库层”四步各验一次,任何一层不过就停在那一层排查,不往下走。

模型层在 cmd 里执行ollama list,确认deepseek-r1:8b和bge-m3都在;再执行ollama run deepseek-r1:8b "用一句话说明什么是向量检索",能出中文回答即模型可用。容器层在dify\docker目录执行docker compose ps,重点看 api、worker、weaviate 三个是否 healthy,任何一个 restarting 都先看日志。应用层打开http://127.0.0.1,能进工作台、模型供应商里两个模型都显示已配置,说明 Dify 到 Ollama 的链路通了。

知识库层做一次端到端验证:新建一个聊天助手应用,进“知识库”→“创建知识库”→导入一份纯文本文件→分段选通用、索引选高质量、检索选向量检索→保存并处理,等状态变成可用。回到应用,在上下文里添加这个知识库,然后问一个只有文档里才有的细节问题。回答里出现引用片段、点开能看到原文出处,才算真正跑通。如果回答泛泛而谈不带引用,多半是知识库没挂上或检索没命中,回上一步查 embedding 配置。

验证层命令或入口通过标准
模型层ollama list两个模型名完整出现
容器层docker compose ps核心服务 healthy
应用层http://127.0.0.1模型供应商显示已配置
知识库层应用内提问回答带引用且可溯源

这套流程我后来每次重装都强制走一遍,因为最容易出问题的从来不是安装本身,而是“以为装好了”的那一步——模型名抄错一个字符、.env少一行、容器没重建,表现都是“能用但不对”。把四层验证当成固定动作,比事后翻日志省事得多。希望帮到你。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询