首页 > Technology > 正文

Ollama 报 model not found?六类坑一次排清

fenij 2026-08-17 33 Technology

明明 ollama pull 跑过,代码一调用却报 model not found,甚至 ollama run 也找不到模型——这种报错九成不是模型文件丢了,而是模型名/标签写错、服务实例对不上、或索引没刷新。按 “看列表 → 对齐实例 → 重启服务” 三步走,绝大多数情况当场解决。

一、最常见:模型名或标签写错

Ollama 的模型名是带标签的,qwen2qwen2:7b 是两个不同标识,只写模型名不带 tag 会直接找不到。调用时 model 字段必须和 ollama list 输出的 NAME原样一致,包括大小写和标签:

ollama list
# NAME        ID      SIZE    MODIFIED
# qwen2:7b    xxxx    4.7 GB  2 days ago

# Python 调用必须写完整带 tag 的名字
requests.post("http://127.0.0.1:11434/api/generate",
  json={"model":"qwen2:7b","prompt":"hello"})

二、多实例冲突:命令行和后台不是同一个服务

Windows/macOS 上 Ollama 装完会开机自启一个后台服务,你又手动 ollama serve 起一份,两份实例的模型库是互相隔离的。命令行 pull 的模型,API 调的是后台那个,自然找不到。

echo $OLLAMA_HOST          # 看 Python/curl 连的是哪个地址
curl http://127.0.0.1:11434/api/tags   # 用 API 视角核对模型列表

两边对不上,就关掉系统托盘的 Ollama、统一用同一个 ollama serve 实例。

三、拉取中断留下碎片

网络差时 ollama pull 中途断开,磁盘上会有不完整的 blob 碎片,列表看不到但占用空间。先清理再重拉:

ollama rm qwen2:7b
ollama pull qwen2:7b

四、改了模型目录没重启服务

手动设了 OLLAMA_MODELS 换存储路径,但没重启 ollama serve,服务还在读旧目录。改完环境变量必须完全退出进程、重新启动服务,它才会在启动时扫描新目录建索引。

五、Docker 里宿主机拉模型,容器看不到

Docker 和宿主机文件隔离,你在宿主机 ollama pull,容器内的实例 ollama list 是空的。要在容器内部拉,并正确挂数据卷:

docker run -d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama
一句话判断 解法
标签不一致 ollama list 有,代码写简写 用完整带 tag 名
多实例冲突 api/tags 为空但 list 有 对齐到同一 11434
拉取碎片 磁盘占空间但列表空 rm 后重新 pull
换目录未重启 新路径有模型但识别不到 重启 ollama serve
Docker 卷没挂 宿主机有、容器内空 容器内 pull + 挂卷
远端 404 pull 直接 404 manifest 核对模型库名/tag

踩坑实录

我在服务器上用 ollama pull qwen2.5:7b 拉完,Python 脚本却一直报 model not found。我第一反应是网络问题,反复重装 Ollama,越搞越糟。后来 curl http://127.0.0.1:11434/api/tags 返回的是空数组,可 ollama list 明明列着模型。查 echo $OLLAMA_HOST 才发现:系统后台那个 Ollama 监听 11434,而我终端里手动 ollama serve 起在了另一次会话、根本不是同一个实例。把脚本和命令行都对齐到同一个 11434 后,调用立刻正常。教训:API 和命令行必须连同一个服务实例,别在两个 Ollama 之间反复横跳。

常见问题

Q:pull 总超时、进度卡一半?
A:模型仓库在国外,国内常不稳。给 Ollama 设代理 export HTTPS_PROXY=http://127.0.0.1:7890 再拉;实在不行在能下载的环境先把 GGUF 下好拷过来。

Q:换了大模型还是提示找不到?
A:先确认显存够不够,nvidia-smi 看一眼。模型太大加载失败有时也会表现为找不到,换个量化版(如 q4_K_M)通常就稳了。

Q:用 Docker 部署要注意什么?
A:核心就是数据卷 -v ollama:/root/.ollama 一定要挂,并且模型要在容器内部执行 ollama pull,不要宿主机拉完指望容器能看到。

本地大模型部署里的报错大多有套路,把这几类坑记熟能省不少时间。如果你在 Ollama 上还踩到别的奇葩坑,欢迎到 fenij.com 留言,一起把排错清单补全。

相关完整手册

系统化的排查与配置思路,建议顺手收藏这几篇完整手册: