
简介这份资源是面向AI初学者与个人开发者的DeepSeek本地化实践教程围绕本地部署、WebUI可视化与数据投喂训练三条主线展开帮助读者在自有终端上稳定运行开源大模型摆脱在线服务响应迟缓或宕机的困扰。资源包内含1个docx文档大小约2.76MB以图文步骤形式组织内容涵盖Ollama安装、DeepSeek R1模型选择、Page Assist插件配置以及AnythingLLM工作区搭建等关键环节并配有nomic-embed-text嵌入模型的使用说明。教程从显存容量与模型版本匹配讲起逐步过渡到浏览器可视化对话与联网检索最后演示上传PDF、Word、Excel等文档完成知识库投喂使AI能够准确回答专属领域问题。目前已有1183人学习适合希望低成本搭建个人智能知识库、掌握本地大模型训练流程的读者收藏实践。1. 从一次断网事故说起为什么我把 DeepSeek 搬进了本地终端上个月公司网络割接外网断了整整一个下午。同事们的在线 AI 工具全部转圈我这边却照常跑着 DeepSeek-R1 的 1.5b 模型改代码、查文档、整理会议纪要一样没落下。那一刻我才真正体会到本地部署的价值——不是图新鲜而是把「随时可用」这件事攥在自己手里。这套方案的核心链路其实就三段用 Ollama 把 DeepSeek 模型拉到本地跑起来用 Page Assist 插件给它套一个浏览器里的 WebUI 可视化界面再用 AnythingLLM 配合 nomic-embed-text 嵌入模型做数据投喂把通用模型变成懂你业务的知识库。适合谁手上有台带独显的 Windows 机器、想搭私有知识库但不想碰复杂推理框架的从业者。显存 4GB 就能起步往下我会把每一步的参数、坑和验证方法都拆开讲。2. Ollama 部署 DeepSeek从安装到命令行跑通2.1 为什么选 Ollama 而不是自己编译推理框架本地跑大模型的路子有好几条llama.cpp 直接编译、vLLM 做高并发推理、Ollama 做封装管理各有各的适用面。对绝大多数想快速用起来的人来说Ollama 的优势在于它把模型下载、量化格式选择、显存调度、API 暴露这几件事全包了你只需要一条ollama run命令。它底层其实也是 llama.cpp 那套推理引擎但把 GGUF 量化模型的加载和上下文管理做成了开箱即用。常见做法是先用 Ollama 把流程跑通确认模型效果和硬件承载能力之后再考虑要不要换更底层的方案做性能调优。我一般会建议新手直接走 Ollama因为它的模型库更新快DeepSeek-R1 系列从 1.5b 到 671b 都有现成的量化版本省去了自己转模型格式的麻烦。2.2 Windows 下安装 Ollama 与验证到 Ollama 官网下载 Windows 安装包双击安装过程没什么特别的。装完之后打开 PowerShell 或 CMD输入下面这条命令验证ollama --version如果返回版本号说明安装成功。如果提示「不是内部或外部命令」大概率是安装时没有勾选「添加到 PATH」手动把 Ollama 的安装目录加进系统环境变量就行。另一个常见情况是安装完第一次运行会弹防火墙提示允许即可Ollama 默认监听 11434 端口后面 AnythingLLM 和 Page Assist 都要通过这个端口跟它通信。验证服务是否在跑可以用ollama list这条命令会列出本地已经下载的模型。刚装完是空的接下来就要拉模型了。2.3 选对 DeepSeek-R1 版本显存与模型参数的对应关系这是最容易翻车的一步。很多人看到 671b 觉得厉害就往下拉结果硬盘塞满、内存爆掉、跑起来像蜗牛。模型版本和硬件配置的对应关系大致如下模型版本量化后体积约最低显存推荐内存适用场景deepseek-r1:1.5b1.1 GB2 GB8 GB轻量问答、配置低的笔记本deepseek-r1:7b4.7 GB6 GB16 GB日常对话、代码辅助deepseek-r1:8b5.2 GB8 GB16 GB比 7b 略强显存够就选它deepseek-r1:14b9.0 GB12 GB32 GB复杂推理、长文本理解deepseek-r1:32b20 GB24 GB64 GB接近商用效果需要高端卡deepseek-r1:70b43 GB48 GB128 GB工作站级别deepseek-r1:671b404 GB多卡512 GB服务器集群个人别碰我自己的测试机是 4GB 显存的 Windows 笔记本选的是 1.5b 版本日常问答和简单代码补全够用但复杂推理确实力不从心。如果你有 8GB 以上显存直接上 7b 或 8b体验会好很多。拉模型的命令ollama pull deepseek-r1:1.5bpull只下载不运行适合提前把模型准备好。下载速度取决于网络国内有时候会慢可以配镜像源加速具体方法在后面避坑章节讲。2.4 命令行交互与 API 验证模型拉完之后直接跑ollama run deepseek-r1:1.5b进入交互界面后输入问题比如「用 Python 写一个快速排序」它会流式输出结果。退出用/bye。这一步验证的是模型本身能不能正常推理。除了命令行Ollama 还暴露了 REST API默认地址是http://localhost:11434。用 curl 测一下curl http://localhost:11434/api/generate -d {\model\:\deepseek-r1:1.5b\,\prompt\:\你好\,\stream\:false}返回 JSON 里如果有response字段说明 API 通了。这个接口后面 AnythingLLM 和 Page Assist 都会调用所以这一步必须确认没问题。如果 curl 报连接拒绝检查 Ollama 服务是不是在后台运行Windows 下可以在任务管理器里看有没有 ollama.exe 进程。3. Page Assist 插件给本地模型套一个浏览器 WebUI3.1 为什么选 Page Assist 而不是 Open WebUI给 Ollama 套 WebUI 的方案不少Open WebUI 功能最全但需要 Docker 部署对不熟悉容器的人有门槛Page Assist 是一个浏览器扩展装完就能用零额外依赖。它的定位很明确在浏览器侧边栏提供一个跟本地模型对话的界面同时支持读取当前网页内容和 PDF 文档。对于「我就想要个好看的对话框不想折腾 Docker」的人来说Page Assist 是最短路径。当然它也有边界——多用户管理、对话历史云端同步这些它不做适合个人使用。3.2 安装与模型选择以 Chrome 或 Edge 为例打开扩展管理页面搜索「Page Assist」找到后点击获取。安装完成后浏览器工具栏会出现 Page Assist 的图标点击就能打开侧边栏。第一次打开需要配置模型来源。在设置里AI 提供商选「Ollama」地址填http://localhost:11434然后在下拉列表里选择你已经拉下来的 DeepSeek-R1 模型。如果列表是空的说明 Ollama 服务没启动或者地址填错了。选好之后保存就可以在侧边栏直接对话了。3.3 联网开关与文档对话的边界Page Assist 侧边栏底部有一个联网搜索开关。打开后它会尝试用搜索引擎补充最新信息再交给模型回答。但要注意这个功能依赖外部搜索服务返回质量不稳定而且会引入网络延迟。我的习惯是日常问答关掉联网需要查最新资料时再开。文档对话是另一个实用功能。在侧边栏上传 PDF、CSV、TXT、Markdown 或 DOCX 文件Page Assist 会提取文本内容作为上下文传给模型。但它和 AnythingLLM 的投喂有本质区别——Page Assist 的文档对话是「临时上下文」关掉对话就没了AnythingLLM 是「持久化嵌入」文档内容会被向量化存储后续所有对话都能检索到。所以如果你只是临时问一个 PDF 里的问题用 Page Assist 够了如果要建长期知识库往下看 AnythingLLM。4. AnythingLLM 数据投喂把通用模型变成专属知识库4.1 嵌入模型 nomic-embed-text 的作用数据投喂的核心逻辑是 RAG检索增强生成把你的文档切块、向量化、存进向量数据库用户提问时先检索最相关的文档片段再把片段和问题一起交给大模型生成回答。这个流程里负责「向量化」的就是嵌入模型。nomic-embed-text 是 Ollama 支持的一个轻量嵌入模型体积小、速度快适合本地跑。先把它拉下来ollama pull nomic-embed-text拉完之后用ollama list确认它和 DeepSeek-R1 都在列表里。嵌入模型不直接对话它只负责把文本转成向量所以不需要显存很大1.5b 的对话模型加 nomic-embed-text 的组合在 4GB 显存的机器上也能跑。4.2 AnythingLLM 安装与 LLM 首选项配置到 AnythingLLM 官网下载 Windows 安装包安装时选择「所有用户」路径可以改到非系统盘。装完打开先点「Get started」创建工作区输入一个名字比如「技术文档库」。接下来是关键配置。点设置图标进入「LLM 首选项」LLM 提供商选「Ollama」Ollama Model 选你下载的deepseek-r1:1.5b或其他版本Ollama URL 保持默认http://localhost:11434点「Save changes」然后进「Embedder 首选项」嵌入引擎提供商选「Ollama」Ollama Embedding Model 选nomic-embed-text保存如果界面是英文在「Customization」里把语言改成 Chinese。这两步配完之后AnythingLLM 就同时具备了对话能力和向量化能力。4.3 工作区设置与数据投喂全流程回到工作区点工作区名称旁边的设置按钮配置这个工作区用哪个模型聊天设置里工作区 LLM 提供者选「Ollama」工作区聊天模型选deepseek-r1:1.5b点「Update workspace agent」代理配置里同样选 Ollama 和对应模型再点一次更新然后就是投喂数据。在工作区界面点上传按钮选择你的文档支持 PDF、TXT、Word、Excel、PPT勾选文件后点「Move to Workspace」再点「Save and Embed」。这时候 AnythingLLM 会调用 nomic-embed-text 把文档切块向量化进度条走完就表示投喂完成。验证方法很直接投喂前问一个文档里才有答案的问题比如「正点原子公司的名称是什么」模型会答不知道投喂包含这个信息的文档后再问它能准确回答。这说明 RAG 链路通了。4.4 文档切块参数与检索效果调优AnythingLLM 默认的文本切块大小是 1000 字符重叠 200 字符。这个参数在「工作区设置」的「文档相似度与切块」里可以调。切块太大检索精度下降切块太小上下文碎片化模型拼不出完整答案。我的经验是技术文档用默认值就行如果是问答对格式的数据把切块调小到 500 左右效果更好。另外「相似度阈值」和「最大上下文片段数」也影响回答质量阈值太高会漏掉相关内容太低会引入噪声一般保持默认遇到回答不准再微调。5. 避坑与排查本地部署最容易翻车的五个地方5.1 模型下载卡住或速度极慢现象ollama pull执行后进度条长时间不动或者速度只有几十 KB/s。原因Ollama 默认从境外源拉取模型网络波动大。解决配置国内镜像源。在系统环境变量里添加OLLAMA_HOST指向镜像地址或者手动下载 GGUF 文件后用ollama create导入。另一个办法是错峰下载深夜速度通常好一些。5.2 显存不足导致模型加载失败现象ollama run后报错「CUDA out of memory」或者模型加载到一半卡死。原因选的模型版本超过了显卡显存容量。比如 4GB 显存跑 7b 模型量化后虽然只有 4.7GB但推理时还需要额外显存做 KV 缓存。解决降级到更小的模型版本或者用 CPU 推理速度慢但能跑。在 Ollama 里可以用OLLAMA_GPU_LAYERS环境变量控制有多少层跑在 GPU 上设小一点可以缓解显存压力。5.3 Page Assist 连不上 Ollama现象插件里模型列表为空或者对话时报「连接失败」。原因Ollama 服务没启动或者地址填错或者防火墙拦了 11434 端口。解决先在浏览器里访问http://localhost:11434如果返回「Ollama is running」说明服务正常。如果访问不了检查 Ollama 进程是否在跑防火墙是否放行。Page Assist 里地址要填完整的http://localhost:11434不能只填localhost。5.4 AnythingLLM 投喂后回答仍然不准现象文档已经「Save and Embed」但提问时模型还是答非所问。原因可能是嵌入模型没配对或者文档切块参数不合理或者相似度阈值设得太高导致检索不到相关内容。解决先确认 Embedder 首选项里选的是 nomic-embed-text 并且保存成功。然后检查工作区的「文档相似度」设置把阈值调低一点试试。如果还不行把文档删掉重新投喂有时候嵌入过程会因为网络或服务中断而失败。5.5 模型回答质量差或胡言乱语现象1.5b 模型回答简单问题还行稍微复杂一点就开始编造。原因模型参数太小推理能力有限。1.5b 适合轻量问答不适合复杂逻辑推理。解决如果硬件允许换 7b 或 14b 版本。如果硬件不允许在提示词里明确要求「只根据提供的文档内容回答不知道就说不知道」减少编造。另外 RAG 场景下检索到的文档片段质量比模型大小更关键把文档整理干净、切块合理小模型也能有不错的表现。6. 进阶技巧用 API 把本地 DeepSeek 接进自己的工作流跑通 WebUI 和数据投喂之后这套本地部署的真正价值在于它可以被其他工具调用。Ollama 暴露的 REST API 兼容 OpenAI 的接口格式这意味着任何支持自定义 API 地址的客户端都能接进来。比如你在写代码时想用本地模型做代码补全或者在笔记软件里想调用本地模型做摘要都可以通过 API 实现。先确认 API 可用curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d {\model\:\deepseek-r1:1.5b\,\messages\:[{\role\:\user\,\content\:\用一句话解释什么是RAG\}]}返回的 JSON 结构和 OpenAI 的 chat completions 接口一致choices[0].message.content就是模型回答。参数方面model填你在 Ollama 里的模型名messages是对话历史数组stream设为true可以流式输出。温度参数temperature默认 0.8做知识库问答时建议调到 0.3 左右减少随机性。Python 调用示例import requests response requests.post( http://localhost:11434/v1/chat/completions, json{ model: deepseek-r1:1.5b, messages: [ {role: system, content: 你是一个技术助手回答要简洁准确。}, {role: user, content: Ollama 和 vLLM 有什么区别} ], temperature: 0.3, stream: False } ) print(response.json()[choices][0][message][content])这段代码可以直接嵌进你的脚本或工具链里。system消息用来设定模型角色temperature控制输出随机性stream设False方便一次性拿到完整结果。如果你要做批量处理把messages换成循环即可。还有一个实用技巧AnythingLLM 也提供了 API可以把投喂好的知识库以接口形式暴露出来。在 AnythingLLM 设置里找到「API 密钥」生成一个然后就能通过它的接口查询知识库。这样你的其他系统不用直接调 Ollama而是调 AnythingLLM自动带上 RAG 检索能力。最后说一个我踩过的坑本地模型跑久了Ollama 进程可能因为显存碎片积累变慢表现是同样的问题回答时间越来越长。我的习惯是每隔几天重启一次 Ollama 服务或者用ollama stop卸载模型再重新加载。从那以后我每次搭完本地环境都会先跑一轮压力测试——连续问十个问题看响应时间是否稳定——确认没问题再正式用。希望帮到你。本文还有配套的精品资源点击获取