所有文章
AI

Ollama 报错「unknown model architecture」怎么办?别着急,原因和解决办法都在这(附实测)

Ollama 报「error loading model: unknown model architecture」,是模型文件用了 Ollama 内置 llama.cpp 还不认识的架构。升级 Ollama、改用官方模型库版本,或者用更新的 llama.cpp 跑 GGUF。我们用 LFM3 GGUF 在 Ollama 0.40.12 上复现了这个报错。

Ollama 报错 unknown model architecture:青绿色黏土火车车厢停在浅黄色黏土轨道上,柔和日光
其他语言

先说结论:Ollama 报 error loading model: unknown model architecture: '名字',是因为模型文件用的架构,你这个 Ollama 内置的 llama.cpp 还不认识。新模型最容易碰到:要么是从 Hugging Face 下的 GGUF,要么是官方模型库的模型,但你装的版本还没加支持。先看 ollama -v,有新版本支持就升级;如果是还没有任何版本支持的 GGUF,就先用最新的 llama.cpp 跑,或者等 Ollama 更新。我们在 2026 年 10 月 29 日(北京时间)用 LFM3 的 GGUF 在 Ollama 0.40.12 上复现了这个报错,并用 llama.cpp 跑通了同一个文件。

unknown model architecture 完整报错

这个报错一般出现在运行或加载模型时,拉取时不会报:

Error: 500 Internal Server Error: llama-server process has terminated: exit status 1: error loading model: unknown model architecture: 'lfm3'

引号里是 GGUF 文件里记录的架构名。ollama show <模型> 的 architecture 一行显示的就是它,运行前就能查。

报错其实来自 llama.cpp。Ollama 很多模型是靠内置的一份 llama.cpp 来跑的,每个 Ollama 版本固定用一个 llama.cpp 构建。模型架构如果是在这个构建之后才加进 llama.cpp 的,加载就会报 unknown model architecture。Ollama 维护者在 issue #19347 里只回了一句:「GGUF support depends on llama.cpp.」

实测:同一个 LFM3 GGUF,Ollama 和 llama.cpp 对比

我们从 LiquidAI 的 Hugging Face 仓库下载了官方的 LFM3-1.7B-Q4_K_M.gguf,按官方导入文档写了一行 Modelfile(FROM ./LFM3-1.7B-Q4_K_M.gguf),导入 Ollama 0.40.12。

真实终端输出:Ollama 0.40.12 加载 LFM3 GGUF 报 unknown model architecture,llama.cpp b11963 能正常运行同一个文件
  • ollama create 成功,ollama show 显示架构 lfm3、1.7B 参数、上下文 262144。导入这一步不检查引擎能不能加载。
  • ollama run lfm3-gguf hi 失败,报 unknown model architecture: 'lfm3',和 #19347 里那位用户看到的一样。
  • Ollama v0.40.12 源码里固定的 llama.cpp 版本是 b11901。而 llama.cpp 加入 LFM3 的 PR #31252 是 2026 年 10 月 27 日 UTC 16:06(北京时间 10 月 28 日 0:06)才合并的。
  • 单独装的 llama.cpp b11963 能加载同一个文件,在我们这台只有 CPU 的机器上,提示词处理约 85 token/s,生成约 19 token/s。

文件本身没问题,只是这一版 Ollama 里的引擎比模型旧。

三种常见原因

Ollama unknown model architecture 的原因和解决办法:Hugging Face GGUF、官方模型库模型、仅支持苹果硬件的模型

1. Hugging Face 上的 GGUF 比 Ollama 的 llama.cpp 新

也就是我们的实测和 #19347 的情况。直接 ollama run hf.co/... 也一样,那个 issue 的作者用的就是 ollama run hf.co/LiquidAI/LFM3-1.7B-GGUF:Q8_0。只有等 Ollama 发布了带新版 llama.cpp 的版本,升级才有用。在那之前,哪个 Ollama 版本跑这个文件都报 unknown model architecture。

2. 官方模型库的模型,你的版本还没支持

issue #19186 里,用户装了 0.40.8-rc0 预发布版想试新模型 flint,报 unknown model architecture: 'flint'。维护者回复「Not supported in llama.cpp yet」,并附了 llama.cpp 的 PR。第二天,v0.40.9 发布说明写了「Flint now runs on Linux and Windows」,升级就解决了。

3. 模型暂时只支持苹果硬件

有些新模型先通过 MLX 在苹果硬件上跑。v0.40.12 发布说明写着 lfm3 和 d1 2b「are supported on Apple hardware in this release. Support for Linux/Windows coming soon.」在 Linux 上从模型库拉会报 this model requires MLX support, but the MLX runtime is not available,自己导入 GGUF 则报 unknown model architecture。两种报错说的是同一件事:这个平台暂时还不行。

unknown model architecture 解决步骤

1. 运行 ollama -v 和 ollama show <模型>,记下版本号和架构名。

2. 在 Ollama 发布说明里搜模型名或架构名。新版本提到了,就按官方 FAQ升级,Linux 是 curl -fsSL https://ollama.com/install.sh | sh。

3. 如果只有预发布版支持,按 Linux 文档指定版本,版本号要写全。#19186 里有人写 OLLAMA_VERSION=0.40.9 返回 404,因为当时的标签是 0.40.9-rc1。

4. 模型库里有的,优先用模型库版本,别用第三方 GGUF。模型库模型是哪个版本加入的、能在哪些平台跑,发布说明里都写了。

5. 还没有 Ollama 版本支持这个架构,就先用 llama.cpp 直接跑:llama-cli -m model.gguf。参数用法见llama.cpp 加载模型的说明。

6. 重新下载同一个文件没用。文件没坏,是引擎旧了。

Ollama 报 unknown model architecture 的两个真实案例时间线:flint 和 LFM3

常见问题

模型都加载不了,为什么 ollama create 能成功?

在我们的测试里,ollama create 只是导入文件,ollama show 读的是元数据,都没有加载权重,所以 unknown model architecture 要到运行时才出现。

unknown model architecture 和 412 是一回事吗?

不是。412(pull model manifest: 412)出在拉取阶段,意思是模型仓库要求更新的 Ollama,升级就好。unknown model architecture 出在加载阶段,是内置引擎不认识这个文件。

这段时间用什么模型?

先用你这版 Ollama 已经支持的。本地大模型写代码的模型和硬件对照和本地大模型推荐按显存列了现在能用的模型。

留下你的想法

你的邮箱不会公开。