☰
DeepSeek多平台部署指南:Ollama本地、手机端与Open WebUI
2026/10/20 9:54:08 网站建设 项目流程

简介:这份文档面向希望在个人设备上落地大模型的开发者、研究人员与技术爱好者,系统梳理了多平台环境下DeepSeek模型的部署路径。内容覆盖基于Ollama的macOS、Linux、Windows本地部署,iPhone快捷指令与Android Termux的移动端方案,以及借助Docker与Open WebUI实现浏览器访问的集成方式,帮助读者把AI研究成果转化为可用的NLP服务。资源包为1个docx文档,约15KB,以图文步骤与命令说明为主,结构紧凑便于按平台查阅。目前已有3770人学习下载。读者可从中获得各平台从环境安装、模型拉取到启动交互的完整操作链路,掌握不同硬件条件下的配置要点,并理解模型运行机制,从而提升部署效率与使用体验。

1. 多平台部署 DeepSeek:从终端到手机,三条路怎么选

很多人第一次接触 DeepSeek 模型部署,都会卡在同一个问题上:到底该用哪种方式跑起来?是直接在笔记本上装个 Ollama 命令行对话,还是折腾手机端随时随地用,又或者搭一套 Open WebUI 让浏览器访问?这三种方案背后对应的是完全不同的使用场景和硬件门槛。Ollama 本地部署最直接,适合有台性能还行的电脑、想快速验证模型效果的开发者;手机端部署胜在便携,但 Android 上需要 Termux 编译,iPhone 上走快捷指令调 API,两条路的体验差异很大;Open WebUI 则是把 Ollama 包装成 Web 服务,适合团队共享或者想要图形界面的用户。这篇笔记把三条路都拆开讲清楚,包括每一步的命令、参数含义、容易翻车的地方,以及我实际跑下来觉得最值得注意的细节。如果你正在纠结选哪种方案,或者已经动手但卡在某个环节,下面的内容应该能帮你省不少时间。

2. Ollama 本地部署:从安装到模型拉取的完整链路

2.1 为什么选 Ollama 作为本地推理入口

在本地跑 DeepSeek 模型,最省心的方式就是用 Ollama。它把模型下载、量化版本管理、推理服务启动这几件事打包成了一个命令行工具,不需要你手动配置 Python 环境、CUDA 版本或者推理框架。Ollama 支持 macOS、Linux、Windows 三个平台,安装包直接下载双击就行,省去了编译环节。另一个关键点是 Ollama 内置了模型库,ollama run命令会自动从官方仓库拉取对应模型的量化版本,默认是 4-bit 量化,对显存和内存的要求比原始 FP16 模型低很多。以 DeepSeek-R1 7B 为例,4-bit 量化后模型文件大约 4-5GB,16GB 内存的笔记本就能跑起来。如果你选的是 8B 或更大的版本,内存建议至少 16GB 起步,32GB 会更从容。Ollama 的另一个好处是它同时启动了一个本地 API 服务,默认监听 11434 端口,后面要接 Open WebUI 或者其他前端时直接复用这个端口就行,不用额外配置。

2.2 安装 Ollama 与拉取 DeepSeek 模型

安装步骤本身不复杂,但不同系统下有几个细节容易忽略。macOS 和 Windows 直接去 Ollama 官网下载安装包,双击安装即可。Linux 用户可以用一行脚本完成安装:

# Linux 下安装 Ollama curl -fsSL https://ollama.com/install.sh | sh # 安装完成后验证版本 ollama --version

安装完成后,拉取并运行 DeepSeek 模型:

# 拉取 DeepSeek-R1 7B 模型并进入交互模式 ollama run deepseek-r1:7b # 如果需要指定其他版本,比如 8B ollama run deepseek-r1:8b

第一行命令执行后,Ollama 会自动从模型库下载对应的量化文件,下载进度会在终端显示。下载完成后直接进入交互式对话界面,输入问题回车即可看到模型回复。这里有个参数值得注意:模型名称里的7b、8b指的是参数量,参数量越大模型能力越强,但对内存和显存的要求也越高。7B 模型在 16GB 内存的机器上跑起来比较流畅,8B 会稍微吃紧一些。如果你机器配置一般,建议先从 7B 开始试。

2.3 验证服务与常见配置调整

模型跑起来之后,建议验证一下 Ollama 的 API 服务是否正常。打开另一个终端窗口,执行:

# 检查 Ollama 服务是否在监听 curl http://localhost:11434 # 查看已下载的模型列表 ollama list # 查看正在运行的模型 ollama ps

curl http://localhost:11434如果返回Ollama is running,说明服务正常。ollama list会列出本地已经下载的所有模型及其大小,方便你管理磁盘空间。如果你想让 Ollama 监听所有网络接口(比如后面要用 Open WebUI 从 Docker 容器里访问),需要设置环境变量:

# Linux/macOS 下设置监听地址 export OLLAMA_HOST=0.0.0.0:11434 ollama serve

Windows 下则是在系统环境变量里添加OLLAMA_HOST,值为0.0.0.0:11434,然后重启 Ollama 服务。这个配置在后面接 Open WebUI 时会用到,因为 Docker 容器内部的localhost和宿主机的localhost不是同一个东西,不设这个变量容器里访问不到宿主机上的 Ollama。

3. 手机端部署:iPhone 快捷指令与 Android Termux 两条路

3.1 iPhone 快捷指令方案:轻量但依赖 API Key

iPhone 上跑 DeepSeek 模型,严格来说不是“本地部署”,而是通过快捷指令调用远程 API。整个流程分三步:安装快捷指令、配置 API Key、测试运行。快捷指令可以从 iCloud 链接直接下载安装,安装后在快捷指令应用里找到对应的指令,点击编辑,把获取到的 API Key 填入指定位置。首次运行时系统会弹出权限请求,点击“允许访问”即可。这个方案的优势是零门槛,不需要越狱也不需要装额外应用,适合只想在手机上快速体验模型对话的用户。但要注意两点:一是 API Key 需要妥善保管,不要截图分享或者提交到公开仓库;二是这种方式的响应速度取决于网络状况和 API 服务端的负载,和本地推理的体验有本质区别。

3.2 Android Termux 方案:真·本地推理的硬核路线

Android 上通过 Termux 部署 Ollama 是真正在手机本地跑模型,不依赖外部 API。但这条路对手机性能有要求,建议至少 8GB 内存起步,存储空间预留 10GB 以上。整个流程分四步:环境准备、编译 Ollama、启动服务、拉取模型。

第一步,安装 Termux 并配置基础环境:

# 设置存储权限 termux-setup-storage # 更新软件包列表并升级已安装的包 pkg update && pkg upgrade # 安装编译 Ollama 所需的依赖 pkg install git cmake golang libjpeg-turbo

这里termux-setup-storage会弹出系统权限请求,允许后 Termux 才能访问手机存储。pkg update && pkg upgrade是更新包管理器索引和已安装软件,建议每次安装新包之前都跑一遍。git用于克隆仓库,cmake和golang是编译 Ollama 的必要工具,libjpeg-turbo是图像处理相关的依赖库。

第二步,克隆 Ollama 仓库并编译:

# 浅克隆 Ollama 仓库,减少下载量 git clone --depth 1 https://github.com/ollama/ollama.git # 进入仓库目录 cd ollama # 生成必要的代码文件 go generate ./... # 编译 Ollama 二进制文件 go build .

--depth 1表示只克隆最近一次提交,能显著减少下载体积。go generate ./...会执行仓库里定义的代码生成任务,这一步不能跳过,否则编译会报错。go build .在当前目录生成可执行文件,编译时间取决于手机处理器性能,一般在几分钟到十几分钟之间。

第三步,启动 Ollama 服务并验证:

# 后台启动 Ollama 服务 ./ollama serve & # 验证服务是否正常运行 curl http://localhost:11434

如果curl返回 Ollama 的版本信息或运行状态,说明服务启动成功。&符号让服务在后台运行,这样你可以继续在同一个终端窗口执行其他命令。

第四步,拉取并运行 DeepSeek 模型:

# 拉取 DeepSeek-R1 8B 模型 ./ollama pull deepseek-r1:8b # 运行模型进入交互模式 ./ollama run deepseek-r1:8b

手机端跑 8B 模型对硬件压力比较大,如果出现卡顿或者内存不足的报错,可以换更小的版本试试。另外 Termux 的后台进程在手机锁屏后可能会被系统杀掉,建议在 Termux 设置里开启 wake lock,保持后台运行。

3.3 两种手机方案的选型对比

对比项iPhone 快捷指令Android Termux
部署方式调用远程 API本地编译推理
硬件要求无特殊要求8GB 内存起步
网络依赖必须联网下载模型后离线可用
部署难度低,几分钟搞定中高,需要编译
模型版本取决于 API 服务端可自选 7B/8B 等
响应速度受网络影响受手机性能影响

选哪个方案取决于你的核心诉求:如果只是想随时随地有个能对话的入口,iPhone 快捷指令最省事;如果你追求数据不出本地、完全离线可用,Android Termux 是唯一选择,但要做好折腾的心理准备。

4. Open WebUI 部署:用 Docker 把 Ollama 包装成浏览器服务

4.1 为什么需要 Open WebUI:从命令行到图形界面

Ollama 的命令行交互适合快速测试,但如果你想让不熟悉终端的同事也能用,或者想要对话历史管理、多模型切换、提示词模板这些功能,就需要一个图形界面。Open WebUI 是目前比较流行的开源方案,它通过 Docker 容器运行,连接后端的 Ollama 服务,提供一个类似 ChatGPT 的网页界面。整个架构分两层:Ollama 负责模型推理,Open WebUI 负责前端展示和会话管理。两者通过 HTTP 通信,默认走 11434 端口。

4.2 Docker 环境准备与 Open WebUI 启动

在开始之前,确保你已经装好了 Ollama 并且至少下载了一个 DeepSeek 模型。然后安装 Docker Desktop,Windows 和 macOS 去 Docker 官网下载安装包,Linux 用包管理器安装。安装完成后验证 Docker 是否正常:

# 检查 Docker 版本 docker --version # 检查 Docker 服务是否运行 docker ps

接下来拉取并启动 Open WebUI 容器:

# 拉取 Open WebUI 镜像并启动容器 docker run -d \ -p 3000:8080 \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main

逐项解释一下参数:-d表示后台运行容器;-p 3000:8080把容器内部的 8080 端口映射到宿主机的 3000 端口,之后在浏览器访问http://localhost:3000就能打开界面;-v open-webui:/app/backend/data把容器内的数据目录挂载到命名卷,这样重启容器后对话记录和配置不会丢失;--name open-webui给容器起个名字方便管理;--restart always让容器在 Docker 启动时自动运行;最后一行是镜像地址。

4.3 连接 Ollama 与模型管理

容器启动后,打开浏览器访问http://localhost:3000,首次使用需要注册一个管理员账号。登录后在设置里找到“连接”选项,把 Ollama 的地址填进去。如果你是在同一台机器上跑 Ollama 和 Open WebUI,地址填http://host.docker.internal:11434(Windows/macOS)或者宿主机的局域网 IP(Linux)。这里就是前面提到要设置OLLAMA_HOST=0.0.0.0:11434的原因,不设的话容器里访问不到宿主机的 Ollama 服务。

连接成功后,在模型下拉列表里应该能看到已经下载的 DeepSeek 模型。如果没有显示,检查两个地方:一是 Ollama 服务是否在运行,二是地址是否填对。可以在 Open WebUI 的设置页面点击“刷新”按钮重新拉取模型列表。选中模型后就可以在网页里直接对话了,界面支持 Markdown 渲染、代码高亮、对话历史导出这些功能,比终端体验好不少。

5. 避坑指南:部署过程中最容易翻车的五个地方

5.1 模型拉取卡住或超时

现象:执行ollama run deepseek-r1:7b后下载进度条长时间不动,或者报错pull model manifest: Get https://registry.ollama.ai/...: dial tcp: i/o timeout。

原因:模型文件从境外仓库拉取,网络不稳定时容易中断。另外磁盘空间不足也会导致下载失败。

解决:先检查磁盘剩余空间,7B 模型需要至少 5GB 可用空间。如果空间够但下载卡住,可以尝试重新执行命令,Ollama 支持断点续传。如果反复失败,可以手动指定其他镜像源或者用ollama pull命令单独拉取,拉取完成后再ollama run。

5.2 Android Termux 编译报错

现象:执行go build .时报错cannot find package或者undefined: xxx。

原因:依赖没有装全,或者go generate ./...这一步跳过了导致代码生成不完整。

解决:确保pkg install git cmake golang libjpeg-turbo全部执行成功,然后按顺序执行go generate ./...和go build .。如果还报错,尝试pkg upgrade更新所有包后重试。另外 Termux 的 Go 版本可能比较旧,可以用go version检查,必要时手动安装新版 Go。

5.3 Open WebUI 连不上 Ollama

现象:Open WebUI 界面里模型列表为空,或者提示连接失败。

原因:Docker 容器内的localhost指向容器本身,不是宿主机。Ollama 默认只监听127.0.0.1,容器访问不到。

解决:设置OLLAMA_HOST=0.0.0.0:11434后重启 Ollama 服务。然后在 Open WebUI 的连接设置里填http://host.docker.internal:11434(Windows/macOS)或宿主机的局域网 IP(Linux)。填完后点刷新,模型列表应该就能出来了。

5.4 内存不足导致模型崩溃

现象:模型加载到一半报错out of memory,或者对话过程中突然退出。

原因:模型参数量超过了可用内存。7B 模型 4-bit 量化后大约需要 4-5GB 内存,8B 需要 5-6GB,加上系统和 Ollama 本身的开销,16GB 内存的机器跑 8B 会比较紧张。

解决:换更小的模型版本,比如从 8B 降到 7B。或者关闭其他占用内存的应用。如果是在 Docker 里跑,检查 Docker Desktop 的内存限制设置,默认可能只分配了 2GB,需要手动调大。

5.5 iPhone 快捷指令运行无响应

现象:点击快捷指令后没有反应,或者提示“无法连接到服务器”。

原因:API Key 填写错误、网络不通、或者快捷指令的权限没有正确授予。

解决:重新检查 API Key 是否完整复制,注意不要有多余空格。确认手机网络正常,尝试切换 Wi-Fi 和移动数据。首次运行时注意点击“允许访问”弹窗,如果误点了“不允许”,去系统设置里找到快捷指令应用,重新授予网络权限。

6. 进阶技巧:模型版本选择与性能调优的实操建议

跑通基本流程之后,下一步就是根据实际需求调整模型版本和运行参数。DeepSeek 在 Ollama 上提供了多个参数量版本,常见的有 1.5B、7B、8B、14B、32B 等。参数量越大,模型的理解能力和生成质量越好,但对硬件的要求也越高。我一般会按下面的逻辑来选:如果只是做简单的文本分类、信息抽取这类任务,1.5B 或 7B 就够用,响应速度快,资源占用低;如果需要处理复杂的推理链、多轮对话或者代码生成,建议上 14B 或更大,但内存至少要 32GB 起步。手机端受限于硬件,7B 是比较现实的选择,8B 在部分旗舰机上也能跑,但发热和耗电会比较明显。

除了模型版本,Ollama 还支持一些运行时参数调整。比如通过--num-ctx参数控制上下文窗口大小,默认是 2048,调大可以支持更长的对话历史,但会占用更多内存:

# 启动时指定上下文窗口为 4096 ollama run deepseek-r1:7b --num-ctx 4096 # 查看当前模型的详细参数 ollama show deepseek-r1:7b

--num-ctx的值需要根据实际对话长度来定,设太大浪费内存,设太小会导致长对话被截断。ollama show可以查看模型的架构、参数量、量化方式等信息,方便你确认下载的版本是否符合预期。

另一个实用技巧是结合 Open WebUI 的模型切换功能做 A/B 测试。在 Open WebUI 里可以同时连接多个模型,对话时随时切换,对比不同版本在同一问题上的表现。我一般会准备两个模型,一个 7B 做日常快速问答,一个 14B 做复杂任务,根据问题难度手动切换。这样既保证了响应速度,又能在需要时获得更好的生成质量。

验证部署是否成功,最直接的方法就是问一个需要多步推理的问题,比如“一个水池有两个进水管和一个出水管,进水速度分别是每小时 3 吨和 5 吨,出水速度是每小时 4 吨,水池容量 60 吨,多久能注满?”观察模型是否能给出正确的推理过程和答案。如果回答逻辑清晰、计算正确,说明模型运行正常。如果回答混乱或者答非所问,可能是模型版本太小或者量化损失太大,考虑换更大的版本试试。

从那以后我每次部署完新模型,都会先用几个标准问题跑一遍验证,确认推理链路没问题再接入实际业务。这个习惯帮我省了不少事后排查的时间。希望帮到你。

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

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

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

立即咨询