news 2026/10/20 12:08:54

DeepSeek 本地部署完整指南:Ollama、LM Studio、Jan 安装配置与避坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek 本地部署完整指南:Ollama、LM Studio、Jan 安装配置与避坑

简介:这份文档面向希望将开源大模型落地到个人项目或团队工作中的技术人员,系统讲解在本地环境部署DeepSeek的完整路径。内容围绕Ollama、LM Studio与Jan三款主流工具展开,从最低与推荐硬件配置、操作系统与Python、CUDA等软件依赖,到模型拉取、服务启动与接口调用,均给出可跟随的命令行示例,并对比各工具优缺点,帮助读者按自身设备条件做出选择。资源包为1个docx文档,约20KB,以文字指南形式承载部署流程、环境要求与测试方法,便于离线查阅与逐步实践。目前已有1436人学习。读者可据此掌握本地运行DeepSeek的完整思路,理解不同模型规格对硬件的要求,学会通过本地端口调用模型接口,并借助Python示例将模型接入实际应用,从而以较低成本获得可自定义、可离线使用的AI能力,降低实验门槛,为后续研究与开发提供可复用的部署参考。

1. 本地跑 DeepSeek 这件事,版本选错比显卡不够更让人头疼

上周帮一个做 NLP 的朋友排查本地推理环境,他机器是 RTX 3090 + 64GB 内存,按理说跑个 7B 模型绰绰有余,结果折腾了一下午连模型都没加载起来。最后发现是 Ollama 版本太老,不支持 DeepSeek-R1 的 GGUF 量化格式,终端里只报了一句含糊的Error: model requires more system memory,实际上内存还剩一大半。这种坑在本地部署里太常见了——硬件够、软件版本不对,照样翻车。

DeepSeek 本地部署现在主流就三条路:Ollama、LM Studio、Jan。Ollama 适合习惯命令行的开发者,LM Studio 适合想快速上手图形界面的,Jan 适合需要多模态能力的场景。三条路我都走过,各有各的版本坑。这篇笔记按「装什么 → 怎么装 → 坏了怎么救」的顺序,把三个工具的安装、配置、验证和排错一次讲透。如果你正在找 DeepSeek 本地部署的完整流程,或者已经装了一半卡在某个报错上,下面的内容应该能帮你省下不少时间。

2. 环境先列清:硬件底线、系统版本和依赖对照

2.1 硬件配置的底线和推荐值

本地跑 DeepSeek 这件事,硬件决定了你能跑多大的模型,软件决定了你能不能跑起来。先看硬件底线,这是绕不过去的硬门槛。

配置项最低要求推荐配置说明
CPU支持 AVX2 指令集支持 AVX2 的现代多核 CPU老 CPU 不支持 AVX2 会直接报 illegal instruction
内存16GB32GB 及以上7B 模型推理时内存占用约 8-12GB
存储30GB 可用空间50GB 以上 SSD模型文件本身 4-8GB,加上缓存和系统占用
GPU非必须NVIDIA RTX 3090 或更高有 GPU 时推理速度提升明显,显存 8GB 起步

这里有个容易忽略的点:内存和显存是两回事。Ollama 默认会优先用 GPU,但如果显存不够,它会回退到 CPU + 内存模式。很多人看到「16GB 内存」以为够了,结果跑 14B 模型时系统直接卡死,因为 14B 的 GGUF 量化版加载后内存占用轻松超过 20GB。我一般建议:7B 模型配 16GB 内存,14B 模型配 32GB,32B 模型至少 64GB。别信「最低配置能跑」这种话,能跑和能用是两码事。

2.2 操作系统和 Python 环境

操作系统这块,Ubuntu 20.04+ 和 Windows 10/11 都没问题,macOS 需要 12 以上。Linux 下 Ollama 的安装最省心,一条脚本搞定;Windows 需要手动下载安装包;macOS 用 Homebrew 或者直接下 dmg 都行。

Python 环境不是必须的,但如果你打算用代码调用模型接口,建议装 3.8 以上版本。CUDA 这块要注意:只有用 GPU 加速推理时才需要,版本要求 11.7+,并且必须和 PyTorch 版本匹配。我见过有人 CUDA 装的是 12.x,结果 Ollama 编译时用的还是 11.8 的运行时,导致 GPU 调用失败。如果你不确定,先不装 CUDA,用 CPU 模式跑通流程再说。

# 检查 CPU 是否支持 AVX2(Linux) grep -o 'avx2' /proc/cpuinfo | head -1 # 输出 avx2 说明支持,无输出则不支持 # 检查内存和存储 free -h df -h /home # 检查 Python 版本 python3 --version

上面这几条命令是我拿到新机器后必跑的,尤其是 AVX2 那条。有些云服务商的便宜实例用的是老款 Xeon,不支持 AVX2,Ollama 装上去直接跑不起来,报错信息还不明显。提前查一下能省很多事。

2.3 三个部署工具的版本选择建议

Ollama、LM Studio、Jan 这三个工具,我按使用场景给个版本建议:

  • Ollama:选 0.5.x 及以上版本。0.4.x 对 DeepSeek-R1 的支持不完整,拉模型时可能报unsupported architecture。0.5.6 是我实测比较稳的版本。
  • LM Studio:选 0.3.x 以上。老版本对 GGUF 格式的兼容性有问题,加载 DeepSeek 模型时容易卡在 99%。
  • Jan:选 0.5.x 以上。Jan 的更新频率高,老版本可能缺少对 DeepSeek 新量化格式的支持。

提示:三个工具不要同时装在同一台机器上跑,端口会冲突。Ollama 默认 11434,LM Studio 默认 1234,Jan 默认 1337,同时启动时如果端口被占用,后启动的会静默失败。

3. Ollama 部署 DeepSeek:从安装到拉模型

3.1 安装 Ollama 并验证版本

Ollama 是我最常用的本地部署工具,命令行操作干净利落,适合习惯终端的人。安装方式按系统分:

# Linux 一键安装 curl -fsSL https://ollama.com/install.sh | sh # macOS 用 Homebrew brew install ollama # Windows 去官网下载安装包,双击安装

安装完成后,第一件事是验证版本:

ollama --version # 期望输出:ollama version is 0.5.6

如果版本低于 0.5.0,建议先升级。Linux 下重新跑一遍安装脚本就会覆盖升级,macOS 用brew upgrade ollama。Windows 需要卸载后重新安装,直接覆盖安装有时会残留旧版本的服务进程。

安装脚本做的事情其实不复杂:下载对应平台的二进制文件放到/usr/local/bin/,然后注册一个 systemd 服务(Linux)或 launchd 服务(macOS)。Windows 下则是安装成一个后台服务。理解这一点很重要,因为后面排错时经常需要检查服务状态。

3.2 拉取 DeepSeek-R1 模型并选择合适的大小

Ollama 安装好之后,拉模型就一条命令:

# 拉取默认版本(通常是 7B 量化版) ollama pull deepseek-r1 # 指定模型大小 ollama pull deepseek-r1:7b ollama pull deepseek-r1:14b ollama pull deepseek-r1:32b

模型大小的选择直接决定硬件压力。7B 模型文件大约 4.7GB,加载后内存占用 8-10GB;14B 大约 9GB,内存占用 16-20GB;32B 大约 20GB,内存占用 32GB 以上。如果你只有 16GB 内存,老老实实跑 7B,别想着「试试看能不能跑 14B」,系统卡死的时候连 kill 进程都费劲。

拉取过程中如果中断,Ollama 支持断点续传,重新执行ollama pull会从断点继续。但有一种情况需要注意:如果磁盘空间不足,拉取会失败并留下不完整的 blob 文件,这时候需要先ollama rm deepseek-r1删掉残留,再重新拉。

# 查看已下载的模型列表 ollama list # 删除不完整的模型 ollama rm deepseek-r1:7b

3.3 启动服务并配置监听地址

模型拉下来之后,启动 Ollama 服务:

# 前台启动,方便看日志 ollama serve # 后台启动(Linux systemd) sudo systemctl start ollama sudo systemctl enable ollama # 开机自启

默认情况下 Ollama 监听127.0.0.1:11434,只允许本机访问。如果你需要在局域网内其他机器上调用,需要设置环境变量:

# Linux/macOS export OLLAMA_HOST=0.0.0.0:11434 ollama serve # Windows PowerShell $env:OLLAMA_HOST="0.0.0.0:11434" ollama serve

这里有个参数取舍:绑定0.0.0.0意味着同一网络下任何设备都能访问你的模型接口,如果没有认证机制,相当于把模型暴露出去了。我一般只在调试时临时开,用完就改回127.0.0.1。另外OLLAMA_MODELS环境变量可以指定模型存储路径,默认在~/.ollama/models,如果系统盘空间紧张,可以改到大容量数据盘。

# 指定模型存储路径 export OLLAMA_MODELS=/data/ollama/models

设置完环境变量后需要重启 Ollama 服务才能生效。Linux 下用systemctl restart ollama,macOS 下需要退出 Ollama 应用再重新打开。

4. LM Studio 和 Jan:图形界面下的安装与配置

4.1 LM Studio 安装与模型加载

LM Studio 适合不想碰命令行的人,图形界面操作直观,但有几个配置项容易踩坑。安装很简单,官网下载对应系统的安装包,双击安装即可。首次启动后,界面会引导你下载模型。

在「Discover」标签页搜索「DeepSeek R1」,会看到多个版本。这里要注意格式选择:Windows 和 Linux 选 GGUF 格式,Apple 芯片的 Mac 选 MLX 格式。选错格式的后果是模型能下载但加载时报unsupported format。

下载完成后,切换到「Local Models」标签页,找到刚下载的模型,点击「Load」。加载过程中可以在右侧看到内存占用和推理速度。如果加载失败,最常见的原因是内存不足,LM Studio 会在日志里提示insufficient memory。

加载成功后,进入「Developer」标签页,开启「Start Server」。默认监听http://localhost:1234。LM Studio 的服务器兼容 OpenAI API 格式,可以直接用 OpenAI 的 Python SDK 调用。

import openai client = openai.Client( base_url="http://localhost:1234/v1", api_key="lm-studio" # LM Studio 不校验 key,随便填 ) response = client.chat.completions.create( model="deepseek-r1", # 模型名称要和 LM Studio 里显示的一致 messages=[{"role": "user", "content": "你好"}], temperature=0.7 ) print(response.choices[0].message.content)

这段代码里base_url指向 LM Studio 的本地端口,api_key随便填一个非空字符串就行。model参数必须和 LM Studio 中加载的模型名称完全一致,否则会报model not found。

4.2 Jan 安装与多模态配置

Jan 的定位和 LM Studio 类似,但更强调多模态能力。安装同样是从官网下载安装包。Jan 的模型下载走的是 Hugging Face 渠道,在 Hugging Face 上搜索「unsloth gguf deepseek r1」,找到模型后点击「Use this model」,选择 Jan,模型会自动在 Jan 中打开并开始下载。

Jan 的服务器默认监听http://localhost:1337。加载模型后,选中模型点击「Load」,Jan 会自动启动服务器。Jan 的配置项比 LM Studio 多一些,尤其是多模态相关的设置。如果你只做文本推理,保持默认即可;如果需要处理图像,需要在设置里开启对应的多模态支持。

Jan 的一个坑是依赖项问题。某些 Linux 发行版下,Jan 需要额外的系统库才能正常运行,比如libwebkit2gtk。如果启动时报error while loading shared libraries,用包管理器装上对应的库就行。

# Ubuntu/Debian 下安装 Jan 的依赖 sudo apt install libwebkit2gtk-4.0-37 libgtk-3-0

4.3 三个工具的端口和 API 兼容性对照

三个工具都兼容 OpenAI API 格式,但端口和默认模型名称不同,混用的时候容易搞混。整理成表格方便查阅:

工具默认端口API 路径默认模型名认证方式
Ollama11434/v1/chat/completionsdeepseek-r1:7b任意非空字符串
LM Studio1234/v1/chat/completions加载时的模型名任意非空字符串
Jan1337/v1/chat/completions加载时的模型名任意非空字符串

三个工具的 API 路径都是/v1/chat/completions,这意味着你可以写一套代码,只改base_url就能在三个工具之间切换。我一般会在代码里把base_url做成配置项,方便对比不同工具的推理效果。

5. 避坑与排查:五个真实踩过的坑

5.1 坑一:Ollama 拉模型报 unsupported architecture

现象:执行ollama pull deepseek-r1后,下载完成但加载时报Error: unsupported architecture。

原因:Ollama 版本低于 0.5.0,不支持 DeepSeek-R1 的模型架构。DeepSeek-R1 用的是较新的 GGUF 元数据格式,老版本 Ollama 解析不了。

解决:升级 Ollama 到 0.5.x 以上。Linux 下重新跑安装脚本,macOS 用brew upgrade ollama,Windows 卸载后重新安装。升级后先ollama rm deepseek-r1删掉旧模型,再重新拉取。

5.2 坑二:模型加载后推理速度极慢

现象:模型能加载,但每次生成回复要等几十秒,CPU 占用 100%,GPU 占用 0%。

原因:Ollama 没有正确识别到 GPU,回退到了 CPU 推理。常见原因是 CUDA 版本不匹配或显卡驱动太老。

解决:先确认 Ollama 是否检测到 GPU:

# 查看 Ollama 日志中的 GPU 检测信息 journalctl -u ollama | grep -i gpu

如果日志里没有 GPU 相关信息,说明 Ollama 没找到可用的 GPU。检查 NVIDIA 驱动版本(nvidia-smi),确保 CUDA 运行时版本和 Ollama 编译时用的版本一致。实在搞不定就先接受 CPU 推理,7B 模型在 CPU 上虽然慢,但至少能跑。

5.3 坑三:LM Studio 加载模型卡在 99%

现象:LM Studio 下载完模型后,点击 Load 一直卡在 99%,进度条不动。

原因:模型文件下载不完整,或者 GGUF 格式和 LM Studio 版本不兼容。LM Studio 0.2.x 对某些新量化格式支持不好。

解决:先删除已下载的模型文件,升级 LM Studio 到 0.3.x 以上,重新下载。如果还是卡住,换一个量化版本试试,比如从 Q4_K_M 换成 Q4_0。

5.4 坑四:端口被占用导致服务启动失败

现象:Ollama 启动时报bind: address already in use,或者 LM Studio 的服务器开关打不开。

原因:默认端口被其他进程占用。11434 端口可能被之前的 Ollama 进程占着,1234 端口可能被其他开发工具占用。

解决:先查端口占用:

# Linux/macOS lsof -i :11434 # Windows netstat -ano | findstr 11434

找到占用进程后,要么 kill 掉,要么改 Ollama 的监听端口:

export OLLAMA_HOST=127.0.0.1:11435 ollama serve

5.5 坑五:Python 调用时报 Connection refused

现象:Python 代码调用http://localhost:11434/v1时报Connection refused。

原因:Ollama 服务没启动,或者监听地址不是localhost。有些情况下 Ollama 只监听了 IPv6 的::1,而 Python 的 requests 库默认走 IPv4。

解决:先确认服务在跑(ollama list能正常输出说明服务活着),然后检查监听地址:

# 查看 Ollama 实际监听的地址 ss -tlnp | grep 11434

如果显示的是::1:11434而不是127.0.0.1:11434,把代码里的localhost改成127.0.0.1试试。或者设置OLLAMA_HOST=127.0.0.1:11434强制走 IPv4。

6. 装完怎么验证:三条命令确认环境真的能跑

装完不代表能用,我一般会走一遍完整的验证流程,确认模型真的能推理、API 真的能调通。下面三条命令按顺序执行,任何一条失败都说明环境还有问题。

第一步:确认模型已加载

ollama list # 期望输出包含 deepseek-r1:7b 及其大小

如果列表为空,说明模型没拉下来,回到第 3 章重新拉取。

第二步:命令行直接推理

ollama run deepseek-r1:7b "用一句话解释什么是深度学习" # 期望输出一段合理的中文回复

这一步验证的是模型本身能不能跑。如果卡住不动,大概率是内存不够,检查free -h的可用内存。如果报错退出,看终端输出的错误信息,对照第 5 章的排查方法处理。

第三步:API 接口调用

curl http://localhost:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-r1:7b", "messages": [{"role": "user", "content": "你好"}], "temperature": 0.7 }'

期望返回一个 JSON,包含choices数组和模型生成的回复。如果返回Connection refused,说明 Ollama 服务没启动或者端口不对。如果返回model not found,检查model字段的值是否和ollama list里的名称完全一致。

三条都通过之后,再用 Python 跑一遍第 4 章那段代码,确认 SDK 调用也没问题。我习惯把这三步写成一个 shell 脚本,每次换机器或者升级版本后跑一遍,省得手动敲。

#!/bin/bash # verify_deepseek.sh - 本地 DeepSeek 环境验证脚本 set -e echo "=== 检查模型列表 ===" ollama list | grep deepseek-r1 || { echo "模型未找到"; exit 1; } echo "=== 命令行推理测试 ===" ollama run deepseek-r1:7b "回复OK" || { echo "推理失败"; exit 1; } echo "=== API 接口测试 ===" curl -s http://localhost:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"deepseek-r1:7b","messages":[{"role":"user","content":"回复OK"}]}' \ | grep -q "choices" || { echo "API 调用失败"; exit 1; } echo "=== 全部通过 ==="

这个脚本里set -e让任何一步失败就退出,grep -q只检查关键词是否存在不输出内容。我一般把它放在项目根目录,每次环境变动后跑一次。

从那以后我每次部署完本地模型,都强制走一遍这三步验证,不再凭「终端没报错」就认为装好了。很多问题是在实际调用时才暴露的,提前验证能省下大量排查时间。希望帮到你。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 12:07:41

PYNQ-Z2板DPU v1.4部署指南:从bit/hwh到推理验证

简介:面向在PYNQ-Z2开发板上部署DPU1.4深度学习加速器的FPGA/嵌入式开发者,该Vivado工程压缩包包含从Block Design到比特流生成的整套硬件设计文件,可解决DPU加速器与PS/PL系统集成、配置步骤复杂的问题。压缩包共222个文件,大小5…

作者头像 李华
网站建设 2026/10/20 12:07:29

STC15W4K软件库实战:寄存器封装与外设驱动避坑指南

简介:这份STC15W4K软件库面向使用STC15W4K系列8位单片机进行嵌入式开发的工程师与学生,将I/O端口操作、定时器配置、串行通信、中断处理、ADC转换等常用功能封装为可直接调用的函数模块,省去重复编写底层驱动的工作,提升项目开发效…

作者头像 李华
网站建设 2026/10/20 12:06:58

深入Windows内核对象管理器:用WinObj看清命名空间与设备链接

Windows 系统里有一张大多数人看不见的“地图”,内核对象管理器(Object Manager)的命名空间就是这张地图本身,而 WinObj 就是让你把这张地图铺在桌面上随时查看的那双手。我第一次真正意识到 WinObj 的价值,是在排查一…

作者头像 李华
网站建设 2026/10/20 12:03:24

VeRL框架PPO微调详解:use_pf_ppo参数的作用与调参实践

做过大模型对齐训练的朋友应该都清楚,强化学习微调(RL Finetuning)和传统的 SFT 完全不是一回事。SFT 只要算 loss、回传梯度就行,但 RL 要把生成、奖励计算、优势估计、策略更新整个闭环串起来,任何一个环节出问题&am…

作者头像 李华
网站建设 2026/10/20 12:02:53

Qwen2.5-VL-7B LoRA微调实战:从原理到训练全流程指南

开始前先说一句:这篇是 Qwen2.5-VL-7B 模型低秩适配 LoRA 微调方法应用连载的第八篇,前面几篇已经零零散散聊过部署、数据、评估这些东西,这一篇想把这些内容收敛到一条能从零跑通的实战链路上。Qwen2.5-VL-7B 是目前在文档理解、截图问答、智…

作者头像 李华