ollama 离线 导入 deepseek

模型与算力

讲清无网环境下把 DeepSeek 模型导进 Ollama 的完整做法:提前在有网机器上备好离线包,搬机器后按顺序导入、起服务、验证。

内网、隔离机、机房跳板机,这类机器装不了包也拉不了模型,Ollama 一条 pull 命令直接卡死。很多人这时候才发现得走离线导入,但文件放哪、目录怎么摆、导入后列表里认不认,全靠试。这篇按「先备料、再搬、后导入验证」的顺序把步骤拆开,并给出失败时的排查顺序,让整个流程可回滚。

内网机、隔离机、机房跳板机,这类环境装不了包也拉不了模型,Ollama 一条 pull 命令能直接卡死在那。很多人这时才发现得走离线导入,但文件放哪、目录怎么摆、导入后列表里认不认,全靠一遍遍试。这篇按「先备料、再搬、后导入验证」的顺序把流程拆开。

整个过程的核心就三件事:有网机器上把该拿的都拿齐,搬过去之后先核对再动手,导入失败时按固定顺序排查而不是瞎重试。全程可回滚,任何时候出问题都能退回到上一步重来。

有网机器上先把离线物料备齐

离线导入失败的绝大多数原因,是物料没备齐。别只想着搬模型文件,安装包、权重、配置这三类东西缺一样,到内网都会卡在不同的地方,而且报错信息往往看不出真实原因。

  • Ollama 安装包本体:内网机器上得先能跑起来 Ollama,安装包要跟目标系统架构匹配
  • 模型权重文件:可以是有网机器上 pull 完之后留下的缓存目录,也可以是外部下载的 GGUF 文件
  • Modelfile 或模板配置:走 GGUF 路线时需要,里面写清权重路径和参数,缺了就得现场手写

先决定走哪条路:缓存目录路线对版本匹配要求更严,GGUF 加 Modelfile 路线对文件来源更宽容。定了路线再备料,别两条路的东西混在一个目录里,到内网容易搞混。

文件命名建议带上机器名、模型名、量化档位,放同一个目录,再附一份说明文件写清来源和校验值。文件完整性可以先用站内工具过一遍,路径在 /tools,省得到了内网才发现文件是半截的。

要搬的东西缺了会怎样怎么确认备齐
安装包目标机根本没有 ollama 可执行文件确认安装包与目标系统架构一致
权重文件导入时反复报格式或读取错误比对文件大小与哈希值
Modelfile 或配置GGUF 路线下无法生成模型名确认里面权重路径与本地一致

搬进内网后先核对,别急着导入

大文件跨网传输中断是常态,半截文件导入会直接报格式错,而且报错信息不会告诉你「文件不完整」。所以落地后第一件事是核对,不是导入。

  1. 逐项对哈希和大小用带校验的方式拷贝,落地后拿说明文件里的校验值逐个比对,对不上就重新传,别抱侥幸心理试导入
  2. 确认版本兼容内网机器上的 Ollama 版本和生成文件的那台尽量保持一致或兼容,版本差太多可能读不了;具体版本对照口径去 /models/deploy 核对
  3. 确认存储路径和剩余空间权重文件通常远大于预期,先看目标目录指向哪、还剩多少空间,空间不够会在导入中途失败,属于最难排查的一类

导入的两种路径与操作顺序

两条路线的差别在于文件从哪来、模型名怎么产生。走缓存目录是把文件摆到 Ollama 认识的位置,走 GGUF 是用 Modelfile 手动创建一个本地模型名。先想清楚走哪条,再动手。

缓存目录路线
把离线文件放到 Ollama 的模型存储路径下,重启服务后看列表是否识别
GGUF 加 Modelfile 路线
权重放本地,写 Modelfile 指过去,用创建命令生成一个本地模型名,对文件来源更宽容

存储路径怎么设、目录结构长什么样,站内技术词典里有说明,路径是 /ai-dict/category/tech,照着摆比猜目录名靠谱得多。

# 顺序固定:先起服务,再导入或创建,最后列表确认
systemctl start ollama
ollama list
# 走 GGUF 时用创建命令生成本地模型名
ollama create 你的模型名 -f ./Modelfile

命令顺序固定为「起服务 → 导入或创建 → 列表确认 → 跑一句测试」。列表里看不到就回到上一步,不要连着重复导入,重复导入只会把现场搞乱,反而看不出第一次为什么失败。

量化档位怎么选直接影响文件体积和能不能跑起来,这块不在本篇展开,按 /models/deploy 的测算口径先算一遍再决定搬哪个档位的文件。

导入后怎么验证,出问题按什么顺序查

导入完不等于能用。验证分三步走,三样都过才算成功,任何一步没过都要往回查,而不是继续往下试。

  • 列表里有名字:ollama list 能看到你导入的模型名
  • 能正常加载不报错:发起一次调用,看是否在加载阶段就失败
  • 发一句短提示能出结果:不要一上来就喂长文本,先用短提示确认链路通

常见报错按固定顺序排查,顺序错了容易在无关的地方浪费时间,推荐顺序是:存储路径对不对 → 文件权限和属主 → 文件是否完整 → 服务是否读到了新目录 → 版本兼容性。

现象优先查什么不要急着做什么
列表里没有模型名存储路径和服务是否重启反复重新导入同一文件
加载时报格式错文件哈希与完整性换量化档位重试
能跑但极慢显存是否够、是否退化到 CPU当成导入失败重装
权限相关报错文件属主与读写权限改系统级配置

跑得动和跑得快是两件事。显存不够会退化到 CPU 执行,表现为极慢但不出错,这属于配置问题不是导入问题。配置测算口径按 /compute/sizing 核对,别把性能问题误判成导入失败,那会白折腾好几轮。

离线导入真正的难点不在导入命令,而在备料和核对;把这两步做扎实,后面基本一次过。
下一步备料阶段最容易被忽略的是文件完整性和版本匹配,把这两项对着站内口径过一遍再搬机器,能省掉大半天排查。

常见问题

没有网络的机器,Ollama 本体怎么装?

先在有网机器上下好对应系统的安装包,拷进内网后本地安装。注意安装包要跟目标机器的系统架构和版本匹配,装完先确认服务能起来,再动模型文件。装不上就别急着导模型,先把这个卡点解决。

导入完列表里不显示,一般是哪里的问题?

多数是存储路径没对上,或者服务启动时读的还是旧目录。先确认模型文件放的位置和环境变量指的位置一致,再重启服务看一次。还不行就检查文件完整性,传输中断的半截文件不会被识别成有效模型。

可以用外部下载的权重文件导入吗?

可以,走 GGUF 加 Modelfile 这条路。优点是文件来源灵活,缺点是模板和参数要自己写,写错会表现为答非所问而不是报错。建议先拿小参数量、低量化档位的文件跑通流程,再换大文件。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。