简介这份PDF资料面向希望零基础搭建本地AI知识库的开发者与AI爱好者围绕DeepSeek大模型与Dify开源平台给出从系统环境变量配置、Ollama安装、模型拉取到Docker与Dify部署的完整落地路径帮助读者在个人电脑上跑通一套可对话、可检索的私有知识库无需深厚技术背景即可上手。资源包共1个PDF文件约1.47MB以图文步骤形式串联各环节涵盖环境变量设置、deepseek-r1与bge-m3模型拉取、Docker镜像配置、Dify源码部署及知识库创建与助手对话等关键节点便于对照操作与排错。目前已有2345人学习适合想低成本实践大模型本地化、构建个人或团队知识库的读者参考。1. 从一次“模型下完却找不到”的翻车说起DeepSeekDify 本地知识库部署Windows 11 上装 DeepSeekDify 本地知识库最容易翻车的不是 Docker也不是 Dify 本身而是 Ollama 把模型下到了 C 盘系统盘一夜之间红了重装时又找不到模型文件在哪。这套组合——Ollama 跑 deepseek-r1 加 bge-m3Docker Desktop 起容器Dify 做知识库应用——是当前大模型本地部署里门槛相对低、复现率很高的一条路线适合想把资料喂给模型、又不想把文档传到外面的开发者。装不好会怎样模型拉取中断、Docker 镜像拉不动、Dify 页面打不开、知识库建完检索不到内容四个环节任何一个卡住整套环境就白搭。这篇按我实际装过一遍的顺序把版本选择、环境变量、模型拉取、容器配置和验证方法一次讲清。2. 装前把环境列清Windows 11、Ollama 与 Docker 的版本取舍2.1 系统与硬件的最低线这套方案的原生环境是 Windows 11Windows 10 22H2 也能跑但 WSL2 的体验差一截Docker Desktop 在旧版本上偶发启动卡死我一般建议直接上 Win11。硬件上分两块看跑 deepseek-r1 的 8B 量化版本内存至少 16GB留出 8GB 以上给模型跑 14B 或 32B内存要 32GB 起步否则加载阶段就开始吃交换分区响应慢到没法用。磁盘方面Ollama 模型目录、Docker 镜像目录、Dify 源码目录三处都要预留空间deepseek-r1:8b 大约 5GBbge-m3 约 1.2GBDocker 镜像全套下来 10GB 上下加上系统本身建议单独准备一个 60GB 以上的数据盘。显卡不是硬性要求纯 CPU 也能跑 8B只是首字延迟明显有 NVIDIA 显卡的话Ollama 会自动调用Docker 侧不需要额外配 CUDA这点比早年自己编译推理框架省心得多。2.2 版本选择别追最新追能对上的Ollama 从官网下载 Windows 安装包即可版本上我倾向用当前稳定版不刻意锁旧版因为它对模型的兼容是向前覆盖的。Docker Desktop 要注意一点必须确认 WSL2 后端已启用安装时勾选 “Use WSL 2 instead of Hyper-V”否则后面docker compose起容器会报引擎未运行。Dify 走 GitHub 主分支压缩包解压后直接用不需要 Node 环境所有依赖都在容器里。组件用途版本策略占用参考Ollama拉取并运行 deepseek-r1、bge-m3官网稳定版模型约 6GBDocker Desktop承载 Dify 全部容器当前稳定版WSL2 后端镜像约 10GBDify知识库应用平台GitHub 主分支压缩包源码数百 MB2.3 先设环境变量再装 Ollama这一步顺序不能反。先右击“此电脑”→“属性”→“高级系统设置”→“环境变量”在系统变量里新建OLLAMA_MODELS值指向数据盘上的空文件夹比如E:\Ai\Ollama3。设完重启系统让变量对安装程序生效。为什么强调先设Ollama 安装后会以服务形式常驻模型默认落在用户目录等发现 C 盘爆了再改得停服务、迁文件、改路径多绕一圈。# 设置完成后在 cmd 里验证变量是否生效 echo %OLLAMA_MODELS% # 期望输出E:\Ai\Ollama3这条命令只是确认变量写进去了不涉及模型操作。如果输出是%OLLAMA_MODELS%原样说明变量没建在系统级或者没重启回到环境变量窗口检查变量名拼写注意是下划线不是横杠。3. 拉模型与起容器Ollama 拉取 deepseek-r1 和 bge-m3 的实操3.1 安装 Ollama 并拉取对话模型双击OllamaSetup.exe点 Install装完托盘会出现 Ollama 图标。打开命令行执行拉取命令。模型规格按机器来16GB 内存选 8B32GB 可以试 14B命令里的标签要对应# 拉取并进入交互式对话首次执行会先下载模型 ollama run deepseek-r1:8b # 出现 提示符后输入一句话测试比如“你好” # 测试完按 CtrlC 退出对话再按 CtrlD 退出模型run的语义是“没有就拉、有就直接跑”所以第一次执行会看到下载进度条。测试时随便问一句能正常回复就说明推理链路通了。退出用 CtrlC 中断当前生成CtrlD 退出交互两个键别搞混只按 CtrlC 有时会停在半截。3.2 拉取向量模型 bge-m3知识库的检索靠向量化对话模型不干这个活必须单独拉 embedding 模型# 拉取 bge-m3 向量模型供 Dify 知识库做文本嵌入 ollama pull bge-m3 # 拉完后列出本地全部模型核对名称和大小 ollama listpull只下载不运行适合后台准备。ollama list的输出里要能看到deepseek-r1:8b和bge-m3两行名称后面跟的是模型 ID 和体积。Dify 里填模型名称时必须和这里显示的一字不差包括标签写成deepseek-r1不带标签大概率匹配不上。3.3 Docker Desktop 安装与镜像加速配置从 Docker 官网下载 Windows AMD64 安装包双击安装过程中保持默认勾选 WSL2 后端。装完启动 Docker Desktop进 Settings → Resources → Advanced先把 Disk image location 改到数据盘比如D:\Docker\DockerDesktopWSL避免镜像把系统盘撑满。再进 Docker Engine把配置改成下面这样{ builder: { gc: { defaultKeepStorage: 20GB, enabled: true } }, experimental: false, registry-mirrors: [https://hub.rat.dev] }defaultKeepStorage控制构建缓存保留上限20GB 对这套环境够用registry-mirrors是镜像拉取地址国内网络下拉官方源经常超时配一个可用镜像源能显著减少docker compose up卡住的时间。改完点 Apply restart等引擎重启完成托盘图标变绿再继续。这里有个细节镜像源不是永久有效某天拉取又变慢先怀疑镜像源失效换一个再试不要急着怀疑 Dify 配置。3.4 解压 Dify 并改 .env下载 Dify 主分支压缩包解压到数据盘并命名为dify。进入dify\docker目录把.env.example复制一份改名为.env用记事本打开拉到末尾追加两行# 允许 Dify 接入自定义模型供应商 CUSTOM_MODEL_ENABLEDtrue # 容器内访问宿主机 Ollama 服务的地址端口固定 11434 OLLAMA_API_BASE_URLhost.docker.internal:11434host.docker.internal是 Docker 提供的宿主机别名容器里访问它等于访问本机比写127.0.0.1可靠因为容器内的回环地址指向容器自己。端口 11434 是 Ollama 默认监听端口没改过就照抄。保存后在docker文件夹空白处右键“在终端中打开”执行# 后台拉起 Dify 全部依赖容器首次执行会拉取镜像 docker compose up -d # 查看容器状态确认没有反复重启的 docker compose ps-d是后台运行不加会占住终端。首次执行时间长是正常的镜像总量摆在那。docker compose ps里每个服务的 State 应该是 running如果某个容器不断 restart先看它的日志docker compose logs 服务名多数是端口冲突或镜像没拉全。4. 避坑与排查Dify 起不来、模型连不上的四类现场4.1 现象浏览器打开 127.0.0.1 一直转圈原因通常是容器还没起全或者 80 端口被别的服务占了。解决先docker compose ps看 nginx 和 api 两个服务是否 running没起来就看日志端口冲突的话改.env里的EXPOSE_NGINX_PORT换成 8080 之类再docker compose up -d重建。我遇到过本机装了别的 Web 服务占 80排查了半小时才发现血泪经验是装之前先netstat -ano | findstr :80看一眼。4.2 现象Dify 添加 Ollama 模型时提示连接失败原因分两种一是.env里地址写成了127.0.0.1:11434容器内访问不到宿主机二是 Ollama 服务没在跑。解决确认.env用的是host.docker.internal:11434改完必须docker compose up -d让容器重建才生效只改文件不重建等于没改。再在宿主机浏览器访问http://127.0.0.1:11434能看到 Ollama 的返回就说明服务正常。4.3 现象知识库建完提问却答不出内容原因多半是索引方式或检索设置不匹配。创建知识库时选“高质量”索引就必须配好 Text Embedding 模型也就是 bge-m3如果 embedding 模型没在 Dify 里添加成功索引会失败但页面不一定报错。解决回设置里检查 Ollama 下是否同时有 LLM 和 Text Embedding 两类模型缺一个就补一个然后删掉知识库重建别在原库上反复重试。4.4 现象模型拉取到一半中断重试又从零开始原因是网络抖动导致分片下载失败Ollama 对未完成的分片会重新拉。解决换时间段重试或者先ollama rm 模型名清掉半成品再拉避免残留文件干扰。另外确认OLLAMA_MODELS指向的盘剩余空间足够空间不足时下载会在最后阶段失败报错信息不明显容易被当成网络问题。5. 装完怎么验证从模型对话到知识库检索走一遍闭环验证不要只看页面能不能打开要按数据流走一遍。第一步命令行确认两个模型都在ollama list输出包含deepseek-r1:8b和bge-m3。第二步宿主机访问http://127.0.0.1:11434有响应说明 Ollama 服务对外可用。第三步浏览器打开http://127.0.0.1/install设置管理员账号进入主界面进设置 → 模型供应商 → Ollama分别添加 LLM 和 Text Embedding模型名称照抄ollama list的输出基础 URL 填http://host.docker.internal:11434保存时如果报错回到 4.2 节对照排查。第四步建一个聊天助手应用再建一个知识库数据源选导入文本分段用通用索引选高质量检索选向量检索保存并处理等状态变成可用。第五步回到应用里把知识库挂到上下文问一个只有你上传的文档里才有的问题答案能引用到文档内容整条链路才算通。验证点操作通过标准模型就位ollama list两个模型名称完整显示服务可达浏览器访问 11434返回 Ollama 运行提示模型接入Dify 添加 LLM 与 Embedding保存无报错检索闭环上传文档后提问回答引用文档内容这套环境我装过几次最深的教训是每次重装都先把OLLAMA_MODELS和 Docker 镜像目录改到数据盘再动安装包顺序错一步就要多花一小时迁文件。从那以后我每次装完都强制走一遍上面这张验证表五项全过才认为环境可用不靠“页面能打开”这种玄学判断。希望帮到你。本文还有配套的精品资源点击获取