你手里已经有一个下好的模型文件,可能是别人拷给你的 GGUF,也可能是从别处拉下来的权重目录,想直接用 Ollama 跑起来,结果 ollama list 里空空如也,ollama run 一个自造的名字又报找不到模型。这篇就把导入这两条路的判断标准、动手步骤和加载失败时的排查顺序讲清楚,顺便说清哪些格式根本导不进去。
你手里已经有一个下好的模型文件,可能是别人拷给你的单个 GGUF,也可能是从别处拉下来的一堆权重分片,想直接用 Ollama 跑起来,结果列表命令里空空如也,运行一个自造的名字又报找不到模型。这事卡人的地方通常不在 Ollama 本身,而在你没分清手里的文件属于哪一类,以及没把它注册成一个 Ollama 认得的模型名。
下面按四件事讲:先判断文件能不能被吃下,再用 Modelfile 把它挂成一个模型,然后给出加载不上时的排查顺序,最后说跑通之后怎么确认它真的可用。全程只讲判断标准和动手动作,具体参数取值和资源数字请到站内对应页面按当时的情况核对。
先判断手里的文件到底能不能被 Ollama 吃下
这一步判断错了,后面所有操作都是白费。Ollama 直接认的是 GGUF 单文件,或者它自己从仓库拉下来的分片目录。原生 safetensors、PyTorch 的 bin、以及各种量化框架产出的权重,都不属于能直接导入的范畴,硬塞只会得到格式不兼容的报错。
| 你手里的东西 | 能不能直接导 | 该怎么办 |
|---|---|---|
| 单个 .gguf 文件 | 能 | 直接写 Modelfile 注册 |
| 仓库分片目录 | 能 | 确认索引文件齐全,按原样引用 |
| 散装 .safetensors | 不能 | 先做格式转换,或换推理框架 |
| 只有 config.json 加权重 | 通常不能 | 补齐缺失文件或先转换 |
| 带量化后缀的框架权重 | 不能 | 换到支持该格式的推理框架 |
用 Modelfile 把本地文件注册成一个 Ollama 模型
Modelfile 就是一个纯文本文件,作用是告诉 Ollama「这个模型叫什么、从哪个文件来、带什么参数」。放在模型文件同级目录最省心,写路径时相对路径和绝对路径都行,重点是路径里有空格或中文字符要处理好,这类问题排起来最费时间。
- 建文件在模型文件同级目录新建一个纯文本文件,命名随意但要自己记得住,内容先只写来源那一行,指向你的模型文件
- 补参数需要控制上下文长度、温度这类行为时再加参数行,含义去 /ai-dict/category/tips 查清楚再填,不要照抄别人的数值
- 执行创建用创建命令把它注册成一个模型名,命令走完后立刻用列表命令确认这个名字已经出现
- 试跑一次用运行命令做一次短问答,确认是能出字并且回答结束,而不是加载完卡着不回话
# 目录里准备一个 Modelfile,FROM 指向你的本地模型文件
# 然后执行创建,再列表确认,最后运行试一句
ollama create my-local-model -f ./Modelfile
ollama list
ollama run my-local-model模型默认存在哪个目录、想换到别的盘该改什么,站内已经有两篇把结论讲透了,去 ubuntu-ollama-models-path 和 ollama_models路径 看现成的,这里不重复。你只需要记住一点:存模型的位置一旦定下来,后面所有文件搬运都要跟着它走,别一半在这边一半在那边。
加载不上时的排查顺序
报错信息往往只给一句结果,不给原因,所以按固定顺序排查比反复重装有效得多。下面四层从便宜到贵,每层确认过再往下走,不要跳步。
- 第一层看名字:创建时用的模型名和运行时敲的名字必须完全一致,大小写和连字符都算数,也要确认没和官方仓库里的同名模型撞车
- 第二层看文件:路径是否被移动过、分片是否缺、文件是否下载完整,用文件大小和校验值比对,比重新装一遍靠谱
- 第三层看资源:显存或内存不够时的表现是加载到一半卡住,或者直接被系统结束进程,按你的卡和量化档位算一遍上限,测算口径参考 /models/deploy
- 第四层看日志:手动把服务起在前台,让报错留在屏幕上,关键词通常直接指向格式不兼容、文件损坏或权限不足
| 现象 | 最可能的原因 | 先查什么 |
|---|---|---|
| 提示找不到模型 | 名字对不上或没创建成功 | 重跑列表命令,核对拼写 |
| 加载到一半停住 | 资源不够 | 算显存和内存上限 |
| 报格式不支持 | 文件类型不对 | 回到第一步重新判断格式 |
| 启动就退出 | 文件损坏或权限问题 | 看前台日志关键词 |
跑通之后怎么确认它真的可用
能出字只代表加载成功,不代表这个东西可用。至少要过两道:命令行端到端问一次,上层工具连一次。本地服务的地址和端口别记错,接口相关的清单去 /ai-dict/category/infra 看。
常见的上层接法是把 Ollama 当成兼容接口来用。连接失败时的通用排查思路可以参照 chatbox-ollama-connect-fail,不要每换一个客户端就把流程重新研究一遍。
- 命令行问一次:看它能不能完整答完,而不是出几个字就断
- 上层工具连一次:确认地址端口和模型名都对得上,客户端能选到你的模型
- 换台机器复现:把启动方式、模型存放路径、用过的 Modelfile 记成一页小抄,照抄能跑起来才算稳
- 质量自己压:导入只是把文件挂上去,速度和回答质量还是拿几个真实问题试,别只看能不能出字
导入成功不等于效果达标,能加载只是入场券。下一步想比较不同本地部署方案和常见推理工具的取舍,可以到工具目录按类别翻一遍,再回头决定你的文件该走转换还是换框架。→
常见问题
我下载的是 safetensors 权重,能直接导进 Ollama 吗?
不能直接导。Ollama 走的是 GGUF 这条路,safetensors、bin、AWQ、GPTQ 都要先转成 GGUF 再注册。转换过程对量化档位有选择,转之前先确认目标文件的格式和量化方式,转完再用 Modelfile 挂上去,不然会卡在格式不兼容上。
导入后提示找不到模型或者加载失败,先查什么?
按名字、文件、资源、日志四层走。先确认创建和运行用的模型名一字不差,再确认文件没被移动或分片缺漏,然后算一遍显存内存够不够,最后手动起服务看前台输出。这四步能覆盖绝大多数情况,比反复重装省时间。
导入本地文件和直接从仓库拉模型,有什么实际差别?
拉仓库省事,版本和量化档位由上游决定;导入本地文件自由度高,可以用别人给的微调版或自己转的量化版,但兼容性和完整性得自己保证。断网环境、内网机器、要固定某个具体权重文件时,导入这条路更合适。