ollama launch 选不了模型怎么办

模型与算力

排查 ollama launch 启动时选不到模型的原因,从模型清单、标签名、存储路径到服务配置一步步定位。

你用 ollama launch 或带 UI 的客户端起会话,模型列表里空空如也,或者只有一两个残缺条目,明明命令行 ollama list 里能看到。这类问题九成不在模型本身,而在「拉下来的名字」和「客户端查的名字」对不上,或者服务读的是另一份模型目录。这篇按从本地清单到服务配置的顺序给一套排查动作,帮你把能选的模型找回来。

你用 ollama launch 或带 UI 的客户端起会话,模型列表里空空如也,或者只有一两个残缺条目,明明命令行 ollama list 里能看到一堆。这类问题九成不在模型本身,而在「拉下来的名字」和「客户端查的名字」对不上,或者服务读的是另一份模型目录。先别急着重装,按从本地清单到服务配置的顺序走一遍,大概率能把能选的模型找回来。

下面这套排查的思路是:先确认磁盘上到底有什么,再确认客户端要什么,最后确认两边说的是不是同一件事。顺序别乱,从便宜的动作开始,改环境变量和迁目录放到最后。整套走完还不行,再去站内相关页面看别人的记录。

先确认本地到底有没有这个模型

第一步永远是在终端跑一遍模型清单命令,别在客户端里猜。看名字、标签、大小和修改时间四项,把清单里的名字复制下来,和客户端里显示或者你能填的名字逐字对比。大小写、冒号后面的标签都算数,差一个字符就是两个东西。

  • 清单里只有默认标签,而客户端要的是带具体版本后缀的名字,这是标签不匹配,不是模型丢了
  • 清单为空,说明根本没拉下来,或者拉到了另一个目录,先别在客户端折腾
  • 拉取失败但没报错的情况也要看:磁盘空间不足和网络中断都可能留下一个空壳条目
  • 大小显示异常小,基本就是没下完,删掉重拉比修它快
  • 修改时间对不上,说明你看的和你以为在用的不是同一份文件

名字和标签对不上,是最常见的一种

从教程、聊天记录或别人的配置里复制来的名字,经常带额外前缀或后缀。客户端一般是按精确字符串匹配的,多一个字符就查不到,界面上也不会给你任何提示,只是列表里没有。这时候最容易误判成「客户端坏了」。

现象更可能的原因先做什么
清单有条目,客户端列表空名字或标签不匹配把清单里的完整名字原样复制进去
列表里只缺某一个那个标签被删了或没拉全按清单里现存的名字重新选
同名条目出现两次两个标签分别拉过确认客户端认的是哪一个标签
手填能跑、列表里没有客户端列表没刷新退出重进客户端再看
  1. 复制而不是手打在终端里选中清单中的完整名字,复制到客户端的输入框。手打最容易错在冒号和连字符上,肉眼还看不出来。
  2. 手填一次做验证如果客户端支持手动输入模型名,先手填一次。能正常跑起来,就说明模型和服务都没问题,纯粹是列表刷新或匹配逻辑的事。
  3. 同名不同标签分开看同名不同标签属于两个独立条目,删掉其中一个不影响另一个。但客户端可能只认被删的那个,删之前先确认客户端当前在用哪个。

模型目录被改过,服务读的和你看的不是一处

模型存在哪个目录是由环境变量控制的。你改过这个变量之后,旧模型还留在原来的位置,自然不会出现在新目录的清单里。判断方法很直接:清单命令的输出,和文件管理器里实际占空间的位置对不上,那就是两处目录,得先统一。

存储目录变量
决定模型文件放在哪,改过之后新旧两份目录会同时存在
目录迁移
要把整份目录搬过去,只搬单个模型文件会导致清单读取异常
多用户或容器
宿主和容器各有一套目录,先确定客户端连的是哪个服务的那一份
相对路径
配置里写相对路径时,实际位置取决于服务从哪个目录启动,很容易错位
  • 先找一份能跑的模型作为参照,看它落在哪个目录,再判断其他模型是不是在同一处
  • 迁移完留一份旧目录的备份,别急着删,确认客户端能列出来再说
  • 容器场景下用挂载的方式统一目录,比在两边各存一份省事
  • 改完环境变量必须重启服务,否则读的还是旧路径

服务没重启,客户端拿的是旧清单

模型是磁盘上的静态文件,但模型清单通常是服务启动时读一次然后缓存的。你新增或迁移了模型,不重启服务,清单还是旧的那份。客户端本身也常缓存一份列表,反复点刷新不一定有用,退出重进更可靠。

另外注意服务监听地址。如果服务监听在非默认地址,客户端可能连到了另一台机器或者另一个端口的空目录,两边的清单自然不一致。这种情况下的典型表现是:本机命令行看得到,客户端里什么都看不到。

  1. 固定排查顺序本地清单 → 名字逐字比对 → 存储目录 → 重启服务 → 重启客户端。按这个顺序走,从便宜的动作开始,不要一上来就改配置。
  2. 确认服务地址和端口看客户端配置里连的地址,和本机服务实际监听的地址对不对。对不上就先改地址,别去动模型。
  3. 重启后立刻验证服务重启完先用清单命令确认一次,再打开客户端。两步中间不要做别的改动,出问题才知道是哪一步引起的。

哪些情况这套排查不适用

上面这套流程针对的是「本地文件和服务配置」这一类原因。有几类情况按这个查是白费功夫,得换个方向:模型文件本身损坏,或者量化格式不受当前运行环境支持时,它能被列出来,但一加载就失败,那不是清单问题。

还有用了外部推理框架托管的情况,Ollama 只是转发请求,模型清单由对端决定,得去对端查。客户端是第三方应用而非官方工具时,它的模型发现逻辑可能只认特定接口,甚至只认某几个字段,这种情况要看该应用自己的文档,不能拿官方工具的排查路径套。

看起来像清单问题实际原因去哪儿查
列表里能看到,点进去报错模型文件损坏或格式不支持看服务的加载日志
客户端完全看不到模型客户端是对端托管,清单由对端给查对端服务的配置
第三方客户端列表为空只认特定接口或字段看该应用自己的文档
换台机器就正常本机服务或目录配置有差异对比两边的环境变量
选不到模型这件事,先分清是「名字对不上」还是「模型不在」,两边的动作差得很远。
下一步如果你排查完还是没头绪,可以把清单输出和客户端现象对照着记下来,再到站内看看别人遇到过的类似情况,以及各家客户端和中转服务的兼容说明。href 是 /tools/speed-test

常见问题

命令行能看到模型,为什么 launch 或客户端里选不到?

大概率是名字没对上:客户端按精确字符串找,和清单里的名字差一个标点或标签都算不同条目。把清单里的完整名字原样复制过去试一次;能跑通就是列表缓存问题,重启客户端即可。

改过模型存储目录之后模型全不见了,怎么找回?

旧模型还在原来的目录里,只是新目录清单是空的。两个办法:把旧目录整体搬到新位置,或者把环境变量改回去再重启服务。注意整份目录搬,只搬单个文件容易让清单读取出错。

重启服务还是不出现在列表里,下一步查什么?

确认客户端连的是哪台机器哪个端口,是不是连到了一个空目录的服务实例;再看模型文件是否完整、格式是否受支持。到 质量检测(/tools/quality-check) 这类工具页跑一遍基础校验,能快速区分是清单问题还是文件本身有问题。

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