资讯详情

本地部署DeepSeek并搭建私有知识库:Ollama+AnythingLLM

📅 2026/10/17 18:28:22 | 华诺云谱 👁 阅读
本地部署DeepSeek并搭建私有知识库:Ollama+AnythingLLM
简介一份docx格式的新手教程专门讲解如何将DeepSeek开源大模型部署到个人电脑并通过网页界面完成可视化对话与数据投喂训练。教程先从安装Ollama开始指导读者下载匹配显存规格的DeepSeek R1模型再通过浏览器插件Page Assist搭建WebUI实现图文交互和联网问答最后使用嵌入式向量模型与AnythingLLM工具完成文档上传、向量化与模型训练从而搭建专属智能知识库。压缩包仅含1个docx文件大小2.76MB全文按部署、可视化、训练三个阶段循序渐进每一步都配有官网入口、命令示例和界面截图还围绕4GB显存的低配环境给出了模型选型建议方便新手边看边操作减少试错成本并提及常见报错与解决思路。该教程已有1187人学习适合AI初学者、个人开发者快速上手本地模型运维与轻量级微调训练。1. DeepSeek本地部署这套组合拳从命令行跑通到私有知识库最近国产大模型DeepSeek火到频繁宕机服务端排队转圈是常态与其等官方恢复不如把模型拉到本地自己掌控节奏。这篇教程不绕弯子直接带你把三件事串起来Ollama承担本地模型运行Page Assist把黑乎乎的终端对话换成浏览器里的可视化界面最后通过AnythingLLM配合nomic-embed-text做数据投喂让AI能回答你私有文档里的内容。全程不需要写一行代码鼠标加命令行的操作量新手也能在一个小时内完整走通。2. 先把模型拉起来Ollama安装与DeepSeek R1的选型逻辑2.1 为什么选Ollama而不是别的部署工具本地跑大模型的工具不少llama.cpp、LM Studio、Ollama是主要的三条路线。llama.cpp性能优化做得深但配置起来要自己编译、自己处理量化格式对只想要能用就行的人来说门槛偏高。LM Studio有图形界面适合玩票但它的模型管理和服务化能力偏弱。Ollama的优势在于把模型下载、依赖管理、运行服务封装成了一条命令模型以GGUF格式分发Quantization等级官方已经替你踩过一遍坑直接pull下来就能跑。它内部自动处理API服务默认监听11434端口给后续接入WebUI和知识库工具留了标准的OpenAI兼容接口。对于新手我一般建议直接从Ollama入手因为它把部署模型这个动作简化到了最低限度。等后面需要做并发调优、张量并行这类事情时再回头研究llama.cpp也不迟。另外Ollama跨平台支持做得比较稳Windows、macOS、Linux三端都有安装包家里老电脑和公司工作站都能用同一套命令。2.2 安装Ollama三步验证是否装好先去Ollama官网下载Windows安装包下载后一路Next安装完成。安装程序默认会把Ollama注册成后台服务同时加入系统PATH这一步很关键后面所有命令行操作都依赖这个环境变量。装完后打开一个新的命令提示符窗口——注意是新的窗口因为旧窗口还保留着安装前的环境变量快照直接敲ollama会提示命令不存在。ollama# 正常输出示例 Usage: ollama [flags] ollama [command] Available Commands: serve Start ollama create Create a model from a Modelfile show Show information for a model run Run a model pull Pull a model from a registry push Push a model to a registry list List models cp Copy a model rm Remove a model help Help about any command看到这串命令列表就说明Ollama核心程序装好了。如果提示不是内部或外部命令先别急着重装检查一下系统环境变量里的Path是否包含Ollama的安装目录默认在C:\Users\用户名\AppData\Local\Programs\Ollama。手动加上再重新开终端就通了。2.3 选DeepSeek R1版本先看显存再看用途Ollama装好后回到官网的模型库页面找到DeepSeek R1系列。这个系列从1.5b到671b跨度很大选型的第一依据是显卡显存因为模型参数需要常驻显存才能达到可用速度。下表是我实际测过的参考值单位是GB模型版本量化精度显存需求参考适合场景deepseek-r1:1.5bQ4_K_M约2GB普通对话、文档问答deepseek-r1:7bQ4_K_M约6GB多数家用显卡可跑deepseek-r1:8bQ4_K_M约6.5GB综合能力更强deepseek-r1:14bQ4_K_M约11GB推理质量明显提升deepseek-r1:32bQ4_K_M约24GB需要较好的显卡deepseek-r1:70bQ4_K_M约48GB服务器级配置判断自己该选哪个最简单的办法是打开任务管理器看一眼专用GPU内存。显存不足时模型会强行借用内存也能跑但每生成一个字都要等上好几秒体验很差。如果显存低于4GB1.5b版基本是唯一流畅的选择8GB显存可以稳定跑7b和8b有16GB显存就直奔14b推理质量的提升幅度比7b到8b的升级明显得多。我的做法是先在ollama pull一个小版本验证链路通了再把模型换成更大一号避免一开始就踩下载时间和配置问题的坑。2.4 拉取模型并完成首次对话选定版本后在模型详情页复制对应的pull命令在命令行执行。以1.5b版为例ollama pull deepseek-r1:1.5b# 下载完成后输出示例 pulling manifest pulling 34cf763ebac4... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 GB/1.1 GB verifying sha256 digest writing manifest successpull命令干了两件事先从模型仓库下载分层的模型文件再做哈希校验确保文件完整性。下载速度取决于网络环境1.5b约1.1GB7b约4.7GB如果网络状况不理想中途失败了重新执行一次pull会自动断点续传不会从头再来。下载完成后验证一下ollama list# 输出示例 NAME ID SIZE MODIFIED deepseek-r1:1.5b 34cf763ebac4 1.1 GB 2 minutes ago此时你可以直接跑ollama run deepseek-r1:1.5b进入终端对话模式但命令行交互体验过于简陋我们继续往下走把它包装成WebUI界面。3. WebUI可视化Page Assist让模型在浏览器里落地3.1 为什么用浏览器插件而不是独立网页服务实现Ollama模型的可视化交互常见的两条路是Open WebUI和Page Assist。Open WebUI功能全支持多用户、文件上传、知识库管理但它本质是一个Python服务部署时要维护依赖和进程。Page Assist走的是浏览器插件路线直接在Edge或Chrome的扩展商店安装它通过Ollama的本地API接口读取模型列表本质上是个前端的壳不需要额外跑服务也不占用多余的端口。对于本地部署给自己用这个需求插件方案在安装成本和资源占用上都更轻。实际操作中还有一个更现实的原因Page Assist的侧边栏可以和正在浏览的网页共存。你在看某份技术文档时想顺手让本地AI解释一段内容侧边栏直接唤起不用切窗口。这种交互形态对日常使用更友好。3.2 安装Page Assist插件打开Edge或Chrome的扩展管理页面在搜索框输入Page Assist找到后点击获取安装。安装完成会在浏览器工具栏出现一个图标。这一步几乎不会出错因为插件商店的分发包和Ollama之间没有依赖关系装的只是一个界面壳。装好后点击工具栏图标插件会先检查本地Ollama服务是否可用。如果页面提示连接失败大概率是Ollama服务没有启动。Ollama安装后会注册开机自启但有时安装后没重启系统后台服务还没跑起来。手动验证方法很简单ollama serve# 服务启动正常时输出 2025/02/09 10:24:33 routes.go:1011: INFO server config envmap[ollama.debug:false OLLAMA_HOST:127.0.0.1:11434]看到服务监听在127.0.0.1:11434插件就能正常连上了。OLLAMA_HOST这个环境变量值得记住后面AnythingLLM连接时也靠它。3.3 连接模型与联网搜索开关进入Page Assist主界面后在模型选择下拉框中会直接列出本机已下载的deepseek-r1:1.5b。这是因为Page Assist通过Ollama的/api/tags接口动态拉取了模型列表不需要手动填写配置。选定模型后就能开始对话。界面里有个联网搜索开关默认是关闭的。它的作用是把你的问题先发给搜索引擎拿回候选结果再把结果连同问题一起交给本地模型做总结。这个设计很聪明既弥补了本地模型知识截止时间的问题又不用把对话内容发给模型服务商。注意开关打开需要额外的网络权限和搜索服务配置如果只是想和本地模型聊天保持关闭状态即可。3.4 侧边栏对话与实际边界Page Assist最有价值的功能是浏览器侧边栏模式访问网页时呼出侧边栏选好模型就能让AI阅读当前页面内容并回答问题。它支持直接对PDF对话、对网页正文对话底层是通过提取页面文本后拼接到系统提示词里实现的。这个功能用来速读长文档很顺手但要注意它不读取图片内容只有文字部分会被传入。这里有个经常被忽略的点Page Assist只是个前端界面模型的计算仍然在你的显卡上跑。1.5b模型在低配机器上响应很快但如果你选了70b又跑不动问题不出在插件上而是模型版本选大了。所以当你觉得界面卡死了先回命令行用ollama ps看一下模型是否在加载那才是性能瓶颈所在。4. 数据投喂训练AnythingLLM搭建私有知识库的完整链路4.1 为什么需要嵌入模型nomic-embed-text让AI回答你私有文档里的内容严格来说靠的不是训练而是检索增强生成。流程是先把文档切成小块用嵌入模型把每个文本块转成向量提问时把问题也转成向量计算它和所有文本块向量的相似度找回最相关的片段最后把这些片段拼到提示词里让大模型生成答案。这个方案的好处是不需要GPU做微调成本低、见效快加新文档随时可以重新嵌入。在这个链路里嵌入模型决定了文档内容能否被有效检索。DeepSeek R1本身是纯对话模型不具备向量化能力所以要单独拉一个nomic-embed-text。选它是因为它对中文和英文的混合文本支持比较均衡体积只有274MB在一个质量尚可的知识库场景下性价比很高。安装命令ollama pull nomic-embed-text# 安装成功输出示例 pulling manifest pulling 0f0bcb3f2d7a... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 274 MB/274 MB verifying sha256 digest writing manifest success到这里本地环境里有两个模型了deepseek-r1负责生成回复nomic-embed-text负责向量检索。两者各司其职缺一个知识库就跑不起来。4.2 安装AnythingLLM并切换到中文界面AnythingLLM是开源的知识库管理应用它把文档管理-向量化-对话检索整合在一个图形界面里相比自己写Python脚本做RAG要省事得多。官网下载对应系统的安装包Windows版直接运行安装程序。安装时选择所有用户可以自定义安装目录默认装在系统盘路径首字符改成其他盘符就能换位置。首次打开点Get started进入引导流程创建工作区时给它起个名字比如company_kb。工作区可以理解为独立的项目空间每个工作区有自己的文档集合和模型设置互不干扰。然后进入外观定制把界面语言切换为Chinese这一步纯粹是为了看得舒服不影响功能逻辑。4.3 全局LLM与Embedder配置一次配好两处模型打开软件设置分两步把底层模型指到Ollama。LLM首选项里提供商选择Ollama模型选择deepseek-r1:1.5b——这里选择的版本要和实际pull下来的对得上。然后是Embedder首选项嵌入引擎提供商同样是Ollama嵌入模型选择nomic-embed-text保存更改。这组配置的含义是告诉AnythingLLM对话生成用哪个模型向量化用哪个模型。LLM首选项 提供商: Ollama Ollama Model: deepseek-r1:1.5b Save changes Embedder首选项 提供商: Ollama Ollama Embedding Mode: nomic-embed-text 保存更改注意Embedder修改后已嵌入过的文档可能需要重新嵌入才会使用新的向量模型所以这一步最好在投喂文档之前就完成否则后面改配置要重新处理一遍文档。4.4 工作区模型与代理配置分开设置才能生效全局配置之外AnythingLLM还有一层工作区设置这层经常被跳过导致最后对话时报错。进入工作区设置聊天设置里把工作区LLM提供者选为Ollama聊天模型选deepseek-r1模型然后更新工作区代理。代理配置界面的工作区代理LLM提供商同样选Ollama代理模型选deepseek-r1。为什么要配两层AnythingLLM的架构是主对话模型处理常规问答代理模型处理工具调用和多轮规划。有些用户只改了全局配置没改工作区配置结果界面上显示模型是对的一发送消息就提示model not found。这个坑我在后面避坑章节会展开讲。聊天设置 工作区LLM提供者: Ollama 工作区聊天模型: deepseek-r1 Update workspace agent 代理配置 工作区代理LLM提供商: Ollama 工作区代理模型: deepseek-r1 Update workspace agent4.5 文档投喂全流程上传、移动到工作区、嵌入以上配置全部就绪后进入工作区主界面点上传按钮选择需要投喂的文件。支持PDF、TXT、Word、Excel、PPT等常见格式。选择文件后勾选它点击Move to Workspace把它纳入当前工作区最后点Save and Embed触发向量化流程。这一步会把文档内容切成文本块逐块交给nomic-embed-text生成向量并写入内置的向量数据库。嵌入完成后验证效果最好的方式是问一个只有文档里才有答案的问题。举个例子某开发板厂商X的内部技术手册里记录了某型号的引脚定义投喂前问某开发板厂商X是哪家公司模型会因为训练数据里没有这个信息而给出含糊回答投喂后就能直接从文档里提取出准确的公司介绍。这个前后对比就是知识库是否生效的判断标准。5. 避坑指南本地部署到知识库的五个常见翻车点本地部署这套链路算法上没有难点多数问题卡在环境配置和模型选择的细节上。这里把最常见的五类问题按现象-原因-解决整理出来遇到过的人会知道每一句都是血泪经验。5.1 命令行输入ollama提示不是内部或外部命令现象安装完成后按教程打开命令提示符敲ollama没有任何反应提示命令不存在。原因Ollama安装程序会把安装路径写入系统PATH环境变量但命令提示符窗口在系统变量变更前就已经打开它读到的还是旧的环境变量快照。另一种情况是安装时选择了非默认目录而安装程序没有正确写入PATH。解决最简单的方法是关掉命令提示符重新开一个。如果重开后仍然不行到系统设置里检查环境变量确认Path中包含Ollama安装目录。默认安装路径是C:\Users\用户名\AppData\Local\Programs\Ollama手动添加后再重新开终端。从那次以后我每装完一个命令行工具都会先关干净终端再验证不给自己留这种低级困惑。5.2 模型下载到一半卡住不动或速度极慢现象ollama pull执行后进度条长时间停留在某个百分比有时显示超时报错重新执行又从头开始。原因Ollama下载模型文件走的是官方仓库受网络环境影响明显。大模型动辄数GB国内直连的速度往往不稳定断流后需要重连。另外在Windows上如果同时挂着代理类软件下载流量走了异常路由也会拖慢进度。解决先重新执行一遍ollama pull deepseek-r1:1.5bOllama下载支持断点续传不会浪费已经下载的部分。如果反复失败换个时间段再试或者改用其他网络环境。更稳妥的办法是一开始就选小版本1.5b只有1.1GB下载压力小得多。链路验证通过后再考虑拉大模型不要一上来就挑战几十GB的70b版。5.3 Page Assist界面里找不到已下载的模型现象模型已经通过ollama pull下载成功ollama list也能看到但Page Assist的模型下拉列表里是空的。原因Page Assist通过Ollama的API读取模型列表如果Ollama后台服务没有运行API请求会失败界面自然显示不出任何模型。另外插件版本和Ollama的API版本相差太大时也可能出现兼容问题。解决先确认Ollama服务在跑命令行执行ollama list能返回模型列表就说明服务正常。如果服务没跑执行ollama serve启动它。确认服务没问题后重新打开Page Assist的弹窗或者点击插件界面里的刷新按钮重新拉取列表。最后再检查插件是否有更新旧版本对新增模型类型的支持有时会滞后。5.4 AnythingLLM保存配置时提示无法连接Ollama现象在AnythingLLM的LLM首选项里选了Ollama作为提供商保存时报连接错误或者后续对话时提示模型找不到。原因AnythingLLM默认连接http://localhost:11434而Ollama的实际监听地址可能不是这个。比如手动设置过OLLAMA_HOST环境变量改了监听端口或者Ollama服务处于停止状态。还有一部分情况是用户只保存了全局设置工作区设置里的模型还是空的。解决先确保Ollama服务正在运行并监听默认端口命令行敲ollama serve查看输出里的监听地址。然后检查AnythingLLM设置里的API地址是否与Ollama监听地址一致。最后确认工作区设置里的LLM和代理模型都选了deepseek-r1四层配置——全局LLM、全局Embedder、工作区LLM、代理LLM——全部指向正确模型才算完。这个配置我每次搭建都要过一遍总有一两层会被漏掉。5.5 文档投喂后AI说不知道答案现象文档上传并完成嵌入后向AI提问文档里的内容它回答我不知道或者给出泛泛的通用回答。原因有三种常见情况。一是Embedding过程没完成上传后没点Save and Embed就开问向量库里根本没数据二是文档太大被整体切块后检索召回时没有命中问题对应的文本片段向量相似度没超过阈值三是工作区的模型没配置对提问被发给了一个没有文档上下文的模型。解决先确认嵌入流程走完在文档列表里看到向量化完成的标记。如果文档比较大在AnythingLLM的嵌入设置里把最大块长度调小比如从默认值调到64或128让每个文本片段更聚焦提高召回率。提问时尽量用文档中的原文或关键词组织问题不要用太口语化的表达。这套排查用熟了以后知识库基本不会再出现答非所问的情况。6. 进阶验证教你用未知提问法确认知识库真的生效搭建完成后最重要的一步是验证知识库不是摆设。我的习惯是准备一套未知提问测试集专门问训练数据里不可能有的信息。这个方法对任何RAG系统都适用不需要额外工具操作就三步。第一步准备三到五个外部未知但本地已知的问题。比如从某开发板厂商X的内部手册里找三个只有内部文档才有的细节——某个型号的引脚定义、某个固件版本的功能变更、某个产品的出厂默认配置。这些信息公开网络上几乎搜不到训练数据中更不可能出现。第二步分别在投喂前和投喂后问一遍。投喂前模型会给出含糊推测或直接说不知道投喂后应该能准确引用文档内容作答。这一步做完了知识库的检索和生成链路就都能确认是通的。第三步检查答案的引用痕迹。AnythingLLM在回答后会自动列出参考了哪些文档片段点开这些引用确认内容确实和答案匹配。有时候模型答得像是那么回事但引用片段根本不相关说明向量检索召回的片段质量不高。这时候回到嵌入设置把块大小从512降到128把重叠窗口打开重新嵌入后再测。块越小每个片段的语义越聚焦召回的相关性通常会更好代价是向量数量变多、占用空间变大。这套方案的本质是RAG而不是微调它不改变模型的权重只是让模型在回答时临时查阅你提供的资料。理解这一点你就知道它的边界在哪里当文档内容与历史对话存在冲突时模型可能会优先听文档的当问题超出所有文档覆盖范围时它又会退回基础能力。想要真正改变模型的说话风格和专业知识底座那是微调的事需要的算力就不是一台个人电脑能轻松扛住的了。从那以后我每搭完一个知识库第一件事就是强制自己跑一遍未知提问测试确认三步全部通过才敢宣布上线。这套流程花不了两分钟但能避免看起来万事俱备、一用就露馅的窘境。希望这篇笔记能帮你跳过那些我已经替你踩过的坑把本地模型真正用起来。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑