尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【已解决】Ollama model not found 模型拉取失败、本地调用报错完整处理方案

【已解决】Ollama model not found 模型拉取失败、本地调用报错完整处理方案 前言在本地部署大模型 Ollama 的过程中经常遇到model not found报错。明明执行过 pull代码调用或者 chat 命令依旧提示找不到模型有时 pull 拉取失败、超时、404很多人反复重装 Ollama问题依旧。报错核心本质Ollama 服务实例内不存在该模型标签模型名称写错、未真正拉取完成、服务实例不匹配、镜像源问题、版本标签混淆。本文覆盖命令行、Python调用、API接口调用全部场景梳理完整排查流程、踩坑点、可直接复制的解决方案。一、报错含义与常见子报错报错model not found命令行ollama run xxx返回 model not foundAPI / Python调用{error:model not found}衍生报错pull拉取超时、not found 404、manifest not found区分两个概念model not foundOllama服务中没有识别到这个模型pull 404 Not Found模型仓库不存在该模型或者标签写错。二、七大高频踩坑场景场景1模型名称、版本标签书写错误最高频Ollama模型区分大小写、标签不能省略。例如qwen2和qwen2:7b是两个不同标识。只写模型名不带tag和本地实际存储标签不一致直接报 model not found。# 错误示例标签不匹配ollama run qwen2# 本地实际拉取的是 qwen2:7b场景2pull并未真正拉取完成中途中断网络差ollama pull中途CtrlC终止、网络超时中断。磁盘上存在部分碎片文件但 Ollama 列表看不到调用直接报找不到模型。场景3多实例冲突后台Ollama服务和终端不是同一个实例Windows/macOS系统后台开机自启 Ollama 服务自己命令行又手动启动一份ollama serve。两份实例模型库互相隔离。命令行pull的模型API调用的是后台服务就会提示 model not found。场景4Python/API调用使用模型名和ollama list显示的名字不一致很多人复制网页模型名字忽略tag标签。ollama list输出什么代码请求model字段就必须原样填写不能简写。场景5Ollama存储目录被修改、迁移服务未读取新路径手动修改 OLLAMA_MODELS 环境变量迁移模型目录但是没有重启ollama serve服务服务依旧读取旧目录识别不到已经下载好的模型文件。场景6网络问题pull拉取报404 manifest not found官方仓库访问异常镜像不存在或者标签名字写错执行pull直接返回404。不是本地不存在是远端仓库找不到模型。场景7容器Docker部署Ollama宿主机下载模型容器实例看不到Docker容器和宿主机文件隔离宿主机pull模型容器内部ollama list为空调用直接model not found需要做数据卷挂载。三、标准化万能排查步骤按顺序执行步骤1确认当前Ollama服务内有哪些模型ollama list输出列表里面的NAME列完整字符串就是调用时必须填写的model名称包括tag标签。列表不存在代表服务没有该模型。步骤2确认当前正在连接的ollama服务地址# 查看环境变量确认OLLAMA_HOSTecho$OLLAMA_HOSTPython、curl请求的服务地址必须和你执行ollama pull的服务为同一个。不要一边操作本地serve一边调用后台11434服务。步骤3重启 Ollama 服务刷新模型索引Windows任务管理器结束 Ollama 进程重新打开 Ollama App。LinuxmacOS停止ollama serve进程重新启动服务。Ollama启动时才扫描模型目录构建索引。下载完模型不重启有可能识别不到。步骤4验证接口连通性curlhttp://127.0.0.1:11434/api/tags查看返回models数组确认API视角能看到的模型和ollama list是否一致。四、分场景可直接复制解决方案方案1模型标签不一致严格使用ollama list完整名称调用ollama list输出 NAME 为qwen2:7b那么代码、run命令必须完整写 qwen2:7b不能简写 qwen2。importrequests resrequests.post(http://127.0.0.1:11434/api/generate,json{model:qwen2:7b,# 完整带tag和ollama list完全一致prompt:hello})print(res.text)方案2拉取中断清理碎片重新pull# 删除损坏模型ollamarmqwen2:7b# 重新完整拉取ollama pull qwen2:7b方案3多实例冲突统一服务实例关闭系统后台Ollama App终端手动执行 ollama serve保持这个终端窗口运行新开另外终端执行 pull / runPython请求127.0.0.1:11434全部使用同一个服务实例。方案4修改模型存储目录后必须重启服务设置环境变量 OLLAMA_MODELS修改完成后完全退出ollama进程重新启动ollama serve服务才会扫描新目录。方案5Docker部署模型看不到正确挂载数据卷dockerrun-d-vollama:/root/.ollama-p11434:11434 ollama/ollama模型下载保存在容器数据卷在容器内部执行ollama pull外部API调用。不要宿主机下载给容器用。方案6pull报404 manifest not found核对 ollama.com/library 确认模型正确名称与tag网络差切换国内镜像代理再执行pull。五、Python调用Ollama简易容错封装示例importrequests OLLAMA_URLhttp://127.0.0.1:11434defollama_chat(model_name,prompt):try:resprequests.post(f{OLLAMA_URL}/api/generate,json{model:model_name,prompt:prompt,stream:False},timeout30)dataresp.json()iferrorindata:print(Ollama错误,data[error])returnNonereturndataexceptExceptionase:print(请求异常,e)returnNone# 使用ollama list返回的完整模型名retollama_chat(qwen2:7b,简单介绍ollama)print(ret)六、总结 极简排查思维导图model not found 不是模型文件丢了大多是名称、服务实例、索引三方不匹配。1、执行 ollama list复制完整带tag模型名2、确认API访问的是同一个ollama服务实例3、下载中断执行ollama rm清理碎片重新pull4、修改存储路径后务必重启ollama服务5、Docker环境注意数据卷挂载容器内拉取模型6、pull报404核对模型仓库名称与标签。极简排查思维导图快速通关Ollama model not found排查逻辑1.查看列表 → ollama list确认模型完整名称2.对齐实例 → API/命令行连接同一个11434服务3.清理损坏 → 中断下载执行ollama rm再pull4.重启服务 → 修改存储目录后重启ollama serve5.Docker场景 → 在容器内部pull模型正确挂载卷6.远端404 → 核对模型库名称与tag标签按这套流程排查绝大多数 model not found、拉取失败问题都可以解决不要盲目重装Ollama。
返回列表