资讯详情

DeepSeek 本地部署全攻略:Ollama、手机端与 Open WebUI 三条路线

📅 2026/10/20 9:56:45 | 华诺云谱 👁 阅读
DeepSeek 本地部署全攻略:Ollama、手机端与 Open WebUI 三条路线
简介这份文档面向希望在个人设备上落地大模型的开发者、研究人员与技术爱好者系统梳理了多平台环境下DeepSeek模型的部署路径。内容覆盖基于Ollama的macOS、Linux、Windows本地部署从环境安装到命令行拉取模型并进入终端交互针对移动端分别给出iPhone快捷指令与Android Termux的完整操作流程同时介绍借助Docker容器化集成Open WebUI通过浏览器访问和管理模型。资源包为1个docx文档约15KB结构紧凑、命令与官方网址齐全便于按平台快速检索对照。已有3770人学习下载读者可据此掌握不同硬件条件下的模型配置方法理解大模型运行机制并将NLP服务能力迁移到实际工作与业务流程中提升效率与体验。1. 多平台部署 DeepSeek从终端到浏览器的三条落地路线第一次在本地跑 DeepSeek 是在一台 16GB 内存的 MacBook 上当时想当然地拉了个 14b 的模型结果加载到一半内存直接飙红风扇狂转终端卡死。后来换成 7b 量化版才顺利跑起来。这个坑让我意识到模型部署不是「下载完就能用」那么简单硬件、量化等级、运行方式三者必须匹配。DeepSeek 目前主流的本地部署路线有三条Ollama 命令行、手机端 Termux 或快捷指令、以及 Open WebUI 浏览器方案。每条路对硬件和操作习惯的要求完全不同。如果你手头只有一台普通笔记本或者想在地铁上用手机跑个推理又或者想给团队搭一个浏览器就能访问的对话入口下面这几套方案基本能覆盖。接下来我会按「装什么、怎么装、坏了怎么救」的顺序把每一步的命令和参数都拆开讲清楚。2. Ollama 本地部署从安装到拉取 DeepSeek-R1 的完整链路2.1 安装 Ollama 与版本选择Ollama 的安装本身不复杂但版本选择有个容易被忽略的点不同操作系统对 Ollama 的最低版本要求不一样。macOS 需要 12 以上Linux 内核建议 5.15 以上Windows 则要求 Win10 21H2 之后的版本。我一般会先去 Ollama 官网下载对应系统的安装包macOS 直接拖进 ApplicationsLinux 用一条脚本搞定# Linux 一键安装脚本会自动检测架构并下载最新稳定版 curl -fsSL https://ollama.com/install.sh | sh # 安装完成后验证版本确认 ollama 命令已加入 PATH ollama --versionWindows 用户下载.exe安装包后双击即可安装程序会自动把ollama加入系统环境变量。这里有个细节如果你之前装过旧版 Ollama建议先卸载再装新版否则可能出现ollama serve端口被占用但版本不匹配的情况。安装完成后Ollama 默认会在11434端口启动一个本地服务这个端口后面在 Open WebUI 和手机端都会用到记一下。2.2 拉取 DeepSeek-R1 模型与参数取舍Ollama 安装好之后拉模型就是一条命令的事但选哪个 tag 直接决定了你能不能跑起来。DeepSeek-R1 在 Ollama 库里有多个尺寸常见的有deepseek-r1:1.5b、7b、8b、14b、32b等。我的经验是8GB 内存选 1.5b 或 7b 的量化版16GB 内存可以上 8b32GB 以上再考虑 14b。别看着参数大就冲动跑不动的模型等于没装。# 拉取并运行 7b 版本Ollama 会自动下载模型文件到本地 ollama run deepseek-r1:7b # 如果只想下载不立即运行可以用 pull 命令 ollama pull deepseek-r1:7b # 查看本地已下载的模型列表 ollama listollama run的逻辑是先检查本地有没有这个模型没有就去官方模型库拉取下载完成后自动进入交互式对话模式。你可以在终端里直接输入问题模型会流式输出回复。如果想退出对话输入/bye即可。这里有个常见误区很多人以为ollama run每次都会重新下载其实它只会在本地缺失时才触发下载。模型文件默认存在~/.ollama/models目录下7b 量化版大约 4-5GB提前留好磁盘空间。2.3 配置 Ollama 服务与远程访问默认情况下Ollama 只监听127.0.0.1:11434也就是只有本机能访问。如果你想让同一局域网内的其他设备也能调用需要改一下服务配置。Linux 下用 systemd 管理的话编辑/etc/systemd/system/ollama.service在[Service]段里加一行环境变量# 让 Ollama 监听所有网卡允许局域网访问 EnvironmentOLLAMA_HOST0.0.0.0:11434 # 改完后重载配置并重启服务 sudo systemctl daemon-reload sudo systemctl restart ollamamacOS 下则通过launchctl setenv OLLAMA_HOST 0.0.0.0:11434设置然后重启 Ollama 应用。改完之后用curl http://localhost:11434验证一下返回Ollama is running就说明服务正常。注意开放到0.0.0.0意味着同网络下任何人都能访问你的模型测试完建议改回127.0.0.1或者至少加个防火墙规则限制来源 IP。3. 手机端部署Termux 编译 Ollama 与快捷指令方案3.1 Android Termux 环境准备与依赖安装Android 上跑 Ollama 属于「能跑但别指望太快」的方案适合应急或轻量测试。核心工具是 Termux一个 Android 终端模拟器。安装 Termux 时要注意不要从应用商店下那个版本太旧直接去 GitHub Releases 页面找termux-app_v0.119.0beta.1apt-android-7-github-debug_universal.apk这个包。装好后先做两件事设置存储权限和更新软件包。# 请求存储权限Termux 会弹出系统授权对话框 termux-setup-storage # 更新包管理器并升级已安装的包 pkg update pkg upgrade -y # 安装编译 Ollama 所需的依赖 pkg install git cmake golang libjpeg-turbo -ytermux-setup-storage是为了让 Termux 能访问手机存储后面下载模型文件会用到。pkg update更新的是 Termux 自己的包索引不是 Android 系统更新。golang是编译 Ollama 源码必需的libjpeg-turbo则是处理图像相关依赖。这几步在手机上执行会比较慢建议连上 WiFi 再操作。3.2 编译 Ollama 并启动服务Termux 里没有现成的 Ollama 二进制包需要从源码编译。这个过程在手机上大概需要 5-10 分钟取决于手机性能。# 克隆 Ollama 仓库--depth 1 只拉最新一次提交节省时间和空间 git clone --depth 1 https://github.com/ollama/ollama.git cd ollama # 生成必要的代码文件 go generate ./... # 编译生成可执行文件 go build . # 后台启动 Ollama 服务 ./ollama serve go generate ./...会跑一遍代码生成逻辑有些平台相关的文件需要这一步才能正确编译。go build .在当前目录生成ollama可执行文件。启动服务时加让它后台运行否则终端会被占用。启动后用curl http://localhost:11434验证返回版本信息就说明服务起来了。如果编译报错大概率是 Go 版本太旧用pkg install golang确保是最新的。3.3 拉取模型与手机端运行限制服务起来之后拉模型的命令和桌面端一样# 拉取 8b 版本手机端建议不要超过 8b ./ollama pull deepseek-r1:8b # 运行模型进入对话 ./ollama run deepseek-r1:8b但这里必须说清楚手机端跑 8b 模型推理速度大概在每秒几个 token响应会比较慢。如果手机内存小于 8GB建议换成deepseek-r1:1.5b虽然效果打折扣但至少能跑完。另外 Termux 后台容易被 Android 系统杀掉长时间运行建议用termux-wake-lock保持唤醒。iPhone 用户走的是另一条路——快捷指令加 API Key 的方式不需要本地跑模型而是调用远程接口。在 Safari 里下载快捷指令后打开快捷指令应用把获取到的 API Key 填进去首次运行会弹出网络访问授权点允许即可。这种方式对手机性能没要求但依赖网络和外部服务。4. Open WebUI 部署Docker 容器化与浏览器访问配置4.1 Docker 环境准备与 Ollama 联动Open WebUI 解决的是「不想在终端里敲命令想要一个浏览器界面」的需求。它的部署依赖 Docker所以先把 Docker Desktop 装好。Windows 和 macOS 去 Docker 官网下载安装包Linux 用包管理器装docker-ce和docker-compose-plugin。装完后确认 Docker 服务在运行# 检查 Docker 版本和运行状态 docker --version docker info # 拉取 Open WebUI 镜像 docker pull ghcr.io/open-webui/open-webui:maindocker info如果报错说连不上 daemon说明 Docker 服务没启动Windows 下打开 Docker Desktop 即可Linux 下用sudo systemctl start docker。Open WebUI 的镜像在 GitHub Container Registry 上国内拉取可能会慢耐心等或者配置镜像加速。4.2 启动 Open WebUI 容器并连接 OllamaOpen WebUI 需要和 Ollama 通信所以启动容器时要指定 Ollama 的地址。如果 Ollama 跑在宿主机上用host.docker.internal这个特殊域名来访问# 启动 Open WebUI 容器映射 3000 端口并指定 Ollama 地址 docker run -d \ -p 3000:8080 \ --add-hosthost.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main-p 3000:8080把容器内的 8080 端口映射到宿主机的 3000浏览器访问http://localhost:3000即可。--add-host让容器内能解析host.docker.internal到宿主机 IP。-v open-webui:/app/backend/data把对话记录和配置持久化到 Docker 卷删容器不丢数据。--restart always保证 Docker 重启后容器自动拉起。启动后打开浏览器首次访问需要注册一个管理员账号注册完进入设置页面在「连接」里填http://host.docker.internal:11434保存后就能在模型列表里看到 Ollama 已下载的 DeepSeek 模型。4.3 模型管理与对话测试Open WebUI 的模型管理界面比较直观左下角设置里点「模型」可以看到 Ollama 里已有的模型也可以直接在这里拉取新模型。选择deepseek-r1:7b后新建对话输入测试问题如果能看到流式回复说明整条链路通了。这里有个容易翻车的点如果 Ollama 服务没启动或者地址填错Open WebUI 会显示「无法连接到 Ollama」但不会告诉你具体原因。排查顺序是先curl http://localhost:11434确认 Ollama 活着再docker exec -it open-webui curl http://host.docker.internal:11434确认容器内能访问宿主机最后检查 Open WebUI 设置里的地址有没有写错。5. 避坑与排查部署 DeepSeek 时最容易翻车的五个点5.1 模型拉取卡住或超时现象是ollama pull进度条长时间不动最后报 timeout。原因通常是模型文件较大网络波动导致下载中断。解决方法是先检查磁盘空间然后重试如果反复失败可以手动设置OLLAMA_MODELS环境变量把模型目录指向空间更大的分区或者换个时间段再拉。我一般会在拉大模型之前先df -h看一眼剩余空间7b 留 10GB14b 留 20GB别等下载到 90% 才报磁盘满。5.2 内存不足导致模型加载失败现象是ollama run后终端卡死或者系统弹出内存不足警告。原因是模型尺寸超过了物理内存。解决方法是换更小的量化版本比如从7b降到1.5b或者关闭其他占内存的应用。在 Linux 下可以用free -h看可用内存macOS 用活动监视器。经验值是模型文件大小乘以 1.5 大约就是运行时的内存占用比如 4GB 的模型需要至少 6GB 可用内存。5.3 Termux 编译 Ollama 报错现象是go build .过程中出现编译错误提示缺少头文件或链接失败。原因通常是依赖没装全或者 Go 版本不匹配。解决方法是先pkg install golang确保 Go 是最新版然后重新执行pkg install git cmake libjpeg-turbo再go clean -cache清掉编译缓存后重试。如果还是不行检查 Termux 是不是从 GitHub Releases 下载的版本应用商店的旧版会有兼容性问题。5.4 Open WebUI 无法连接 Ollama现象是浏览器里 Open WebUI 显示模型列表为空或者提示连接失败。原因可能是 Ollama 没启动、地址填错、或者容器网络不通。解决方法是按顺序排查宿主机curl http://localhost:11434确认 Ollama 正常docker ps确认 Open WebUI 容器在运行docker exec -it open-webui curl http://host.docker.internal:11434确认容器内能访问宿主机。如果容器内访问不了检查启动命令里有没有加--add-hosthost.docker.internal:host-gateway。5.5 端口冲突导致服务起不来现象是 Ollama 或 Open WebUI 启动时报address already in use。原因是 11434 或 3000 端口被其他程序占用。解决方法是lsof -i :11434或netstat -ano | findstr 11434找到占用进程杀掉或者换个端口。Ollama 换端口用OLLAMA_HOST0.0.0.0:11435Open WebUI 换端口改-p参数里的宿主机端口即可。我习惯在部署前先跑一遍端口检查省得装到一半才发现冲突。6. 装完怎么验证三条命令确认 DeepSeek 真的跑通了部署完成后别急着关终端。我一般会用三条命令做最终验证确保模型、服务、界面三层都正常。第一条确认 Ollama 服务在监听# 检查 Ollama 服务是否响应返回版本信息即正常 curl http://localhost:11434/api/version第二条直接调用 API 发一个推理请求不经过任何界面验证模型本身能出结果# 向 DeepSeek 模型发送一个简单请求观察返回的 JSON 结构 curl http://localhost:11434/api/generate -d { model: deepseek-r1:7b, prompt: 用一句话说明什么是机器学习, stream: false }返回的 JSON 里response字段如果有内容说明模型加载和推理都正常。stream: false表示一次性返回完整结果方便脚本处理如果设成true会像终端里那样流式输出。第三条如果你部署了 Open WebUI打开浏览器访问http://localhost:3000新建对话输入同样的问题看界面是否能正常返回。三条都通过这套环境才算真正落地。有个细节值得注意/api/generate这个接口在 Ollama 不同版本间参数名有过变化早期版本用prompt后来有些版本推荐用messages数组。如果你用的是较新版本可以改成# 新版 API 格式用 messages 数组传对话历史 curl http://localhost:11434/api/chat -d { model: deepseek-r1:7b, messages: [{role: user, content: 用一句话说明什么是机器学习}], stream: false }两种格式在多数版本里都能用但/api/chat更适合多轮对话场景。验证的时候如果返回model not found说明模型名字写错了用ollama list看一眼实际拉下来的 tag 是什么照着填就行。从那以后我每次部署完模型都会强制走一遍这三条验证命令不管终端里看着多正常。因为终端交互模式有时候会掩盖服务配置的问题比如端口监听正常但 API 路由没起来只有直接打接口才能暴露。希望这套流程能帮你少走点弯路一次把 DeepSeek 跑通。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

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

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

你可能需要的服务

订阅华诺云谱资讯周报

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

↑