ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

DeepSeek本地部署实战:Ollama+ChatBox两小时搭建专属AI助手

DeepSeek本地部署实战:Ollama+ChatBox两小时搭建专属AI助手

简介:一份面向DeepSeek进阶使用者的本地部署教程,针对线上服务频繁中断、响应不稳等痛点,给出从Ollama安装、模型选型到ChatBox图形界面接入的完整方案,兼顾隐私保护与低延迟需求。文档为单个docx,压缩包共1个文件、大小约1.28MB;内容不仅涵盖1.5B、7B、32B版本的内存/显存适配建议,还逐个说明Ollama下载检测、命令行拉取模型、ChatBox自定义提供方连接等关键步骤。入门级可选1.5B版本,进阶推荐7B版本,高性能设备可尝试32B版本,大部分普通电脑也能流畅运行。读者可参考其中的硬件门槛和常见问题说明完成自主部署,也可借助网盘备用链接解决官方下载缓慢的问题。已有3698人学习下载。整篇以可复现操作为主线,同时提示当前版本尚不具备联网检索能力,便于后续按需扩展。

1. 为什么把 DeepSeek 装进本地:两小时绕开排队与隐私账

DeepSeek 本地部署这件事,真正让我下决心的不是参数有多强,而是在线服务反复卡顿。某天下午刷新十几次都只看到“服务繁忙”,数据发出去半天不回,那一刻我想通了:与其和别人挤在线通道,不如把模型装进自己电脑里。这套教程用到的工具一共两个——Ollama 负责下载和运行模型,ChatBox 负责给模型套一个像样的聊天界面。装完之后,每次对话只走本机端口,不经过任何第三方服务器,延迟从秒级降到毫秒级,隐私也留在自己的机器里。适合被服务稳定性折磨过、又想动手把模型跑起来的人。

2. 先把环境装好:Ollama 下载、硬件下限与安装自检

2.1 三档模型到底在“卡”什么

选模型不能只看“能不能下载”,要看加载时电脑扛不扛得住。deepseek-r1 按参数规模分成 1.5B、7B、32B 三档,B 是 Billion,十亿参数。三档不是同一个模型的三个变体,而是同一套模型家族里裁剪出的不同尺寸:参数量越大,回答越完整、上下文理解越好,但运行时占用内存和显存也越大。Ollama 会把模型权重改写成 4bit 量化格式,占用远小于原始权重,这也是普通电脑能跑得动的原因。量化会带来轻微精度损失,但换来的是内存占用直接砍半以上,对本地部署来说这笔账划算。

模型标签内存底线显卡需求磁盘占用(约)适合场景
deepseek-r1:1.5b4GB核显可跑约 1GB功能验证、低配机
deepseek-r1:7b8GB4GB 显存独显约 4.5GB日常问答、代码片段
deepseek-r1:32b32GB12GB 显存约 20GB长文本、追求效果

参数说明:内存底线指的是系统可用内存,不是硬盘剩余空间。1.5b 是入门体验档,核显就能跑,速度尚可;7b 是大多数人的甜点档,8GB 内存加一块独立显卡就能流畅跑,也是本篇推荐的主力档;32b 就要实打实的内存和显存堆料了,内存小于 32GB 甚至不建议下载,很多机器就是下载完加载时被杀进程,白占磁盘。如果内存长期低于 8GB,别硬上 7b,先用 1.5b 把流程跑通再考虑升级。硬件账算清楚比下载更重要,下载失败还能重来,加载失败只能干瞪眼。

2.2 安装与自检:版本号、目录与第一条命令

安装从 Ollama 官网取对应系统的安装包,Windows 版本是标准 exe 安装方式,一直下一步就行。安装完成后桌面或开始菜单会出现一个羊驼图标,说明程序本体已经落地。这里多说一句:Ollama 的 Windows 版安装后会自动在后台开一个本地服务,不需要手动去启动,命令行窗口可以随时调它。服务平时不占什么资源,只有模型被调用时才会把内存吃起来。

验证安装是否正常,不用肉眼猜,直接看版本号:

# 能打印出版本号,说明 Ollama 命令行工具可以正常调用 ollama --version

这个命令能打印版本号,就说明命令行工具正常。接着查当前有没有模型:

# 查看本地已下载的模型列表;首次执行通常显示 no models ollama list

第一次执行会看到一行提示 no models,这很正常——本地还一个模型都没拉,列表为空不代表装坏了。之后每下载一个模型,列表里就会多一行,名称、标签、大小都看得见。安装过程中还有个容易被忽略的点:默认模型目录放在用户目录下的.ollama文件夹里,Windows 一般对应C:\Users\你的用户名\.ollama\models。这个路径决定了两件事:下载模型占的是哪个磁盘,以及后面手动导入模型要往哪里放。如果 C 盘空间吃紧,第 6 章会讲怎么整体迁移。

提示:安装完 Ollama 之后,如果旧命令行窗口里输入 ollama 提示找不到,直接新开一个终端窗口,大多数情况能解决。根因在第 5 章的 PATH 问题里。

Ollama 的命令可以大致分三组:ollama serve负责拉起后端服务,安装后通常已自动在后台运行,无需手动干预;ollama pull、ollama run、ollama list负责模型的下载、启动和查看;ollama ps展示当前正在运行的模型占用了多少显存和内存。后面几章会反复用到,先把这三组的边界记住,排查问题时不容易慌。

2.3 安装后先做一次“家底盘点”:内存、磁盘与显卡

家底盘点不需要多专业,开一个任务管理器就够了。先把内存和磁盘两栏看明白:可用内存决定选哪档模型,磁盘剩余空间决定能不能放得下。7B 模型文件本身约 4.5GB,但加上运行时的临时数据、模型索引和系统缓存,我一般会建议至少留 10GB 空余;32B 更不用说,没有 25GB 以上空余磁盘别轻易动手。很多人光看硬盘大就觉得能装 32b,结果加载时内存直接爆掉,这种翻车我见得太多了。

显卡情况从任务管理器的“性能”页可以看到显存型号和大小。NVIDIA 显卡配合 Ollama 一般能直接用上 GPU 加速;只有核显的机器也不是不能跑,只是推理速度会慢一些,7B 对话会明显感到逐字输出。这一步看明白,后面就不太会被“明明配了电脑为什么这么慢”的问题困扰。核显机型建议直接从 1.5b 起步,别一上来就挑战 7b。

最后确认一下 Ollama 的后台服务是否在跑。正常安装后,任务栏托盘区会有一个羊驼小图标,右键能看到退出、打开日志等操作。如果没有这个图标,从开始菜单手动启动一次 Ollama,再继续下一步。服务没起来的话,后面所有命令都会报连接失败,这一步顺手确认能省掉很多无头苍蝇式的排查。

3. 拉取 deepseek-r1 模型:B 数选型、命令参数与首次对话

3.1 标签与量化:为什么同一模型有不同大小

deepseek-r1 是一个模型家族,Ollama 以“模型名:标签”来区分不同参数量。命令里写deepseek-r1:7b,模型名是 deepseek-r1,标签是 7b;写deepseek-r1:1.5b就是拉最小那档;不带标签的deepseek-r1默认指向 latest,等价于官方默认标签,但建议显式写全,避免拉到自己不想要的体积。

为什么要盯着标签:下载前先确认标签名是否存在、对应多大文件。不同标签对应不同参数量的量化权重,磁盘占用差异巨大,1.5b 文件只有 1GB 左右,7b 要 4.5GB,32b 接近 20GB。如果只凭感觉下载,很可能磁盘被塞满或者加载时内存爆掉。量化这一层再展开讲一下:模型训练出来时的原始权重是 16 位浮点,占空间巨大;Ollama 下发的是 4bit 量化版本,把权重压缩到原来四分之一左右。代价是生成质量轻微下降,但换来普通电脑能跑。

本地部署用户一般不用自己去搞量化,直接用默认标签就好。同一个标签下偶尔会有不同量化精度的子版本,普通场景分辨不出差别,不值得为此额外去折腾。真正决定体验的还是前面那张硬件表,选对尺寸比选哪个量化参数重要得多。

3.2 pull 与 run:下载后进入对话的两条路

命令管理是 Ollama 的核心用法。下载模型有两条路,一条是分开执行 pull 再 run,另一条是直接 run 让它自动下载:

# 只下载不启动,适合网络不稳、需要反复重试的场景 ollama pull deepseek-r1:7b # 下载并启动对话;如果本地已有模型,则直接进入对话 ollama run deepseek-r1:7b

两条命令的区别和逻辑:pull 的语义是“把模型下载到本地”,run 的语义是“加载模型并进入交互对话”。第一次执行 run 时,如果本地没有这个模型的缓存,Ollama 会先执行一次 pull 再进入对话,所以会看到下载进度条;网络差时下载中断,重新执行 run 会从断点继续,不用白下。参数说明:deepseek-r1 是模型名,冒号后的 7b 是标签,想试小模型就改成 1.5b,机器够好就改成 32b。

下载完成后会进入对话提示符,这时直接输入问题就能得到回答:

>>> 你好,介绍一下你自己 (模型会正常返回一段 DeepSeek-R1 的自我介绍) >>> /bye (退出对话)

对话模式下的内置命令不多,/bye和/exit都能退出,/?可以列出全部可用命令,/context能看当前上下文 token 占用。这里补充一个容易被忽略的点:run 模式下的对话历史只存在当前会话里,退出再启动就是全新对话,不会保留之前聊过的内容。想要长期保存记录、像用聊天软件一样管理会话,就要靠下一章的 ChatBox。

3.3 验证模型状态:list、ps 与内存占用

模型下载完,怎么确认真加载了而不是下载了个寂寞,用两个命令就能查清楚:

# 列出本地已下载的模型,能看到模型名、标签和大小 ollama list # 查看当前正在运行(已加载进内存/显存)的模型 ollama ps

逻辑说明:list 看的是硬盘上有哪些模型文件,只要下载过就会在列表里;ps 看的是此刻有多少模型被加载到内存或显存里。刚跑过对话但已经退出,ps 可能是空,这不代表模型丢了,只是它被释放了。参数说明:ps 输出里有 Name、Size 和 Processor 三列,Processor 是关键——显示 GPU 说明推理走的是显卡,显示 CPU 说明退回纯内存计算,后者会明显慢很多,这时候就要检查显卡驱动是否兼容。

我个人把 ps 当成“体检报告”:对话卡顿、风扇狂转、内存占用异常时,先跑一下 ps 看模型是否真的在 GPU 上。如果模型一直显示 CPU,说明这机器的显卡没被 Ollama 用上,要么驱动版本太老,要么 Ollama 版本需要更新,这类问题先跑 ps 再判断,比乱试配置强得多。

4. 用 ChatBox 给模型装上对话框:API 配置与首次对话

4.1 为什么还要一个 ChatBox:终端交互的三个短板

终端里已经能跑模型了,还要客户端的理由有三个。第一,终端不渲染 Markdown,代码块、表格混在一堆纯文本里,长回答肉眼很难读透;第二,会话管理基本为零,退出 run 模式历史就没了,想翻旧对话只能靠复制粘贴;第三,没有多轮会话的组织形态,同时聊好几个话题会直接串。ChatBox 是个桌面客户端,把 Ollama 在本地提供的 OpenAI 兼容接口包了一层聊天界面,解决的就是这三个问题。

原理层面只需知道一点:Ollama 装好后,默认会在本机的 11434 端口起一个 HTTP 服务,对外提供一套和 OpenAI 风格一致的接口。ChatBox 并不直接碰模型文件,它只是往那个接口发请求、拿响应。所以配置 ChatBox 时填的 API 地址是 127.0.0.1 这种本机地址,密钥也不需要真实申请——服务就裸奔在你的电脑上,外面访问不到。这个原理也解释了一个现象:ChatBox 只是“前端”,真正干活的是 Ollama。关闭 ChatBox 窗口不影响模型,只要 Ollama 还在后台,模型就能继续被其他程序调用。

另外,ChatBox 的设置面板里还留了温度、上下文长度这些生成参数的调整入口,命令行里改这些要写环境变量,界面上动动滑块就行。这件事放到第 6 章细说,先记住有这么个入口。

4.2 自定义提供方配置:三个字段一次填对

安装完 ChatBox 打开,如果弹窗让你选服务提供商,选择“使用自己的 API Key 或本地模型”;如果手快关掉了,在设置里进“添加自定义提供方”。然后按这张表填:

配置项填写值说明
API 地址http://127.0.0.1:11434/v1本机 Ollama 服务,别漏 /v1
API 密钥任意字符串,比如 ollama本地服务不校验,写什么都行
模型名称deepseek-r1:7b必须和 ollama list 输出完全一致

三个字段的错误率从上到下递减,最常翻车的是 API 地址漏掉 /v1。这个 /v1 对应的是 OpenAI 兼容路由的前缀,Ollama 原生接口在 /api 下,但 ChatBox 按 OpenAI 格式去访问,所以地址必须带 /v1。API 密钥是很多新手的纠结点,这里明确说:本地部署没有鉴权,密钥只是占位,填 ollama 或任意字母都能过。模型名称如果和 ollama list 里的名字对不上,请求会报模型不存在,界面上会出现红色错误提示。

保存配置以后,点开新建对话窗口,左侧模型选择里应该能看到 deepseek-r1:7b。如果列表是空的,优先回看表格第三行,名字敲错是最高频原因。常用的确认方式是直接复制ollama list输出的名字,不要手敲。

4.3 首次对话验证:看响应与看负载

配好之后直接问一句“你是谁”,正常的话模型会回答自己是 DeepSeek-R1。这一步有两个观察点:响应速度是不是明显快于在线版;回答内容是否和终端里跑的一致。两点都满足,说明 ChatBox 到 Ollama 的通路没问题。如果回答内容对但速度慢,问题多半出在模型是否走 GPU,而不是配置错误。

验证过程中建议再开一个命令行窗口跑一下ollama ps,边对话边看模型是否被加载、Processor 列显示的是 GPU 还是 CPU。这一手是排查“ChatBox 能用但很慢”的关键——如果模型是 CPU 模式,换更好的显卡驱动往往比换模型更值得。ChatBox 这边还有一个实用功能:多会话管理。每个对话单独保存,历史记录存在本地,重新打开软件还能继续聊,这就是终端做不到的事。

注意:本地部署这个模型默认不带联网搜索。页面里如果有联网按钮,那是给云端模型用的,本地这个不会去互联网上找资料;想让它联网,得另接检索工具,那是后话。

5. 本地部署避坑专题:四个高频问题的现象、原因与解决

5.1 下载速度慢、中断:手动导入 GGUF 的替代路线

现象:执行ollama run deepseek-r1:7b后长时间停留在 pulling,进度条偶尔停滞甚至归零,反复重试依然失败。

原因:模型文件托管在海外对象存储上,网络链路一波动下载就断。这和电脑配置没有关系,再好的机器也扛不住一个传不完的大文件。

解决:别在命令行里死磕,走手动导入路线。先把对应标签的 GGUF 模型文件从随附资源包里取出来,放到一个本地目录,比如D:\models\,然后在同一目录写一个 Modelfile。内容只需要一行:

FROM ./deepseek-r1-7b-q4_k_m.gguf

然后执行导入命令:

ollama create deepseek-r1:7b -f Modelfile

逻辑说明:ollama create会把一个外来的 GGUF 文件注册成 Ollama 可管理的模型,本质上相当于绕开下载这关,直接把现成文件登记进模型目录。参数说明:deepseek-r1:7b是导入后显示的名字,-f Modelfile指定刚才写的配置文件。导入成功后ollama list里会出现这一行,后续ollama run deepseek-r1:7b照常使用。手动导入的模型和官方仓库下载的用法完全一致,代价只是少了自动下载这一步。

5.2 7B 能装不能聊:内存打满或对话卡死

现象:7B 模型下载成功,启动时也正常,但问了两轮问题后系统掉帧,风扇狂转,任务管理器里内存占用接近满格,甚至整个系统卡死。

原因:模型加载进内存后不是静止的,推理时权重和上下文同时占空间。7B 的 4bit 量化版大约要吃 4GB 内存做权重,加上运行时上下文,8GB 内存的机器剩不下多少余量;如果模型没走 GPU 加速而是退回 CPU 计算,内存和 CPU 双高就是必然结果。

解决:优先换 1.5b 先把流程跑通,这是性价比最高的止血方案。内存稍好一点的机器,可以在 ChatBox 设置里把上下文长度调小,相当于减少运行时占用的缓冲;同时关掉浏览器和后台大程序,给模型腾地方。再配合ollama ps确认 Processor 列是不是 GPU,如果是 CPU,优先解决显卡驱动问题,而不是继续堆参数。

5.3 ChatBox 报 404 / 连接失败:核对三个字段

现象:ChatBox 保存配置后发消息,界面弹红色报错,常见是 404 Not Found 或类似 Failed to fetch 的提示,有时还带模型不存在。

原因:404 大多数时候是 API 地址漏了 /v1 后缀,Ollama 在根路径下并没有 ChatBox 要的聊天接口;Failed to fetch 一般是本机服务没起来,或地址写成了非本机 IP;模型不存在的报错则指向模型名和列表不一致。

解决:打开设置,按 4.2 的表格逐项核对三项。API 地址必须是完整的http://127.0.0.1:11434/v1;API 密钥随便填但别留空;模型名复制粘贴ollama list里的输出,不要手打。如果还不行,直接在浏览器地址栏访问http://127.0.0.1:11434,能看到一段 JSON 说明 Ollama 服务在跑,问题出在 ChatBox 配置;页面打不开则先处理 Ollama 进程。

5.4 命令行找不到 ollama:PATH 更新问题

现象:安装完成后,旧终端窗口里输入ollama提示“不是内部或外部命令”,PowerShell 里提示无法识别,但是开始菜单里能正常打开 Ollama。

原因:Ollama 安装时向系统 PATH 里添加了自己的目录,但已经打开的终端窗口不会自动刷新环境变量,新装的路径在旧会话里不生效。

解决:关掉所有终端重开一个新窗口试;还不行就注销 Windows 重新登录,让环境变量彻底刷新。如果重开后依旧找不到,打开系统环境变量面板,确认%LOCALAPPDATA%\Programs\Ollama是否真的在 PATH 列表里,不在就手动添加。

提示:能用开始菜单的快捷方式启动,说明程序安装没问题,问题只出在 PATH。这个区分能省掉大半排查时间。

6. 跑顺之后再做两件事:模型目录搬走与 curl 直连验证

6.1 把模型从 C 盘搬走:OLLAMA_MODELS 环境变量

模型文件默认都堆在 C 盘用户目录下,7B 还勉强,32B 直接吃掉 20 多 GB。搬家方法是设置用户环境变量 OLLAMA_MODELS 指定新目录,Windows 下的 PowerShell 写法:

# 设置用户级环境变量,新目录不存在会自动创建 [Environment]::SetEnvironmentVariable("OLLAMA_MODELS","D:\ollama\models","User")

顺序很重要:先复制旧目录下的 blobs 和 manifests 到新位置,再设置变量,再重启 Ollama。如果反过来,Ollama 会在新目录里建一个空的 models 结构,模型列表变成空白,容易被误判成“模型丢了”。重启后跑一遍ollama list,模型还在,搬家就成功了。

6.2 不打开界面也能测:curl 直连与温度参数

ChatBox 报错时先分锅,用 curl 直接打 Ollama 原生接口,能迅速定位问题在哪一侧:

curl http://127.0.0.1:11434/api/generate -d '{"model":"deepseek-r1:7b","prompt":"你好"}'

能看到返回 JSON 里带 response 字段,说明模型和 Ollama 都正常,问题在 ChatBox 配置;连接不上则先检查 Ollama 进程。温度参数也不是非开 ChatBox 不可,想调就记住一个点:温度越低回答越收敛,0.6 到 0.7 日常用足够,太高虽然发散但有概率乱说。这条 curl 命令我建议每个人都跑一次,三秒搞定的事,能帮你把“界面问题”和“模型问题”彻底分开。

另外这篇教程对应的安装包和模型文件都放在资源目录里,7B 的 GGUF 文件已经备好,手动导入直接走 5.1 的 create 流程。从那以后我每次换机器部署,都强制自己按“ollama list 确认模型在位,再开 ChatBox,再跑一句 curl 验证”的顺序走一遍,这套流程帮我跳过了很多次白屏和 404。希望帮到你。

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

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进