1708 字
9 分鐘

Ollama 出現 model not found 怎麼辦?從 API、模型名稱到執行中程序排查

Ollama API 出現 model not found 或 HTTP 404 時,通常不是推論內容有問題,而是請求裡的模型字串在「這一台 Ollama host」找不到。最常見的差異包括:模型尚未 pull、tag 少了版本、OpenClaw 連到另一台主機,或把 cloud model 名稱當成 local model 使用。

直接答案是:先用同一個 baseUrl 呼叫 /api/tags,再用回應中的完整 name 去測試 /api/show/api/chat;不要先盲目重裝 Ollama。 官方 API 把 /api/tags 定義為列出模型、/api/chat 則要求請求提供模型名稱,這兩個端點正好能把「模型不存在」和「模型存在但推論失敗」分開。

先保留完整錯誤與連線位置#

先把錯誤中的三項資料記下來:

  • 實際呼叫的 host 和 port,例如 127.0.0.1:11434gpu-box.local:11434
  • 請求裡的 model 字串,例如 qwen3.5:9bkimi-k2.5:cloud
  • 使用的 API 路徑,是原生 /api/chat/api/generate,還是某個 OpenAI-compatible /v1 代理。

如果程式在 Docker、遠端 server 或另一個 systemd service 裡執行,終端機上可用的 localhost 不一定是程式看到的 localhost。先確認連線位置,再判斷模型。

第一關:確認 Ollama API 可達#

在出錯的同一個執行環境中執行:

Terminal window
curl -i http://127.0.0.1:11434/api/tags

你要先看到 HTTP 200 和 JSON,而不是直接得到 connection refused、timeout 或 HTML 錯誤頁。若 host 不在本機,替換成程式實際使用的主機:

Terminal window
curl -i http://gpu-box.local:11434/api/tags

Ollama 官方文件的 /api/tags 回應會列出每個模型的 name、digest、大小與 details。後面的測試要以這個回應中的 name 為準,不要自己猜 tag。

也可以用 CLI 對照本機 daemon:

Terminal window
ollama list
ollama ps

ollama list 表示已安裝的模型;ollama ps 表示目前載入記憶體的模型。模型沒有出現在 ollama ps 不代表不存在,第一次呼叫時仍可能才載入;真正判斷「能不能被 API 找到」要看 /api/tags

第二關:精確比對模型名稱#

假設 /api/tags 回傳的名稱是 qwen3.5:9b,以下幾個字串就不應視為相同:

字串可能的問題
qwen3.5缺少 tag,可能依賴 latest,不一定等於已安裝名稱
qwen3.5:9b若出現在 /api/tags,才是可直接測試的名稱
qwen3.5:9b-cloud可能是另一種 hosted/cloud tag,不能當成本機模型
ollama/qwen3.5:9bOpenClaw 的 provider/model 參照,不是原生 Ollama API 的 model 值

原生 API 的 body 使用模型名稱本身:

{
"model": "qwen3.5:9b",
"messages": [
{ "role": "user", "content": "Reply with exactly: ok" }
],
"stream": false
}

如果你是從 OpenClaw、LangChain 或其他 provider abstraction 複製設定,先把 ollama/ 這類路由前綴和原生 API 的 model 欄位分開。這是「上層找得到、下層卻 404」的常見來源。

第三關:用 /api/show 檢查模型詳情#

/api/tags 取得完整名稱後,傳給官方的 model details endpoint:

Terminal window
curl http://127.0.0.1:11434/api/show \
-H 'Content-Type: application/json' \
-d '{"model":"qwen3.5:9b"}'

/api/show 成功,代表這個 host 至少能解析該模型的 manifest 與設定。若這裡回 404,問題仍在模型名稱、host 或模型尚未安裝,不需要先調整 prompt、temperature 或 context。

需要安裝時,使用同一個 Ollama host 執行:

Terminal window
ollama pull qwen3.5:9b
ollama list

如果模型來自自訂 Modelfile,先檢查 ollama create 使用的名稱與實際 API 呼叫的名稱;自訂名稱可以和來源模型名稱不同。

第四關:用最小 /api/chat 重現#

模型存在後,用最小請求測試對話,不要一開始帶入工具、長上下文或多輪 history:

Terminal window
curl http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen3.5:9b",
"messages": [
{"role": "user", "content": "Reply with exactly: ok"}
],
"stream": false
}'

官方的 Chat API 要求 modelmessages,並支援 streamtoolsoptions 等欄位。先讓最小文字請求成功,再逐項加回工具或其他設定,才能知道是哪一層引入錯誤。

如果 /api/chat 回傳成功,但整合工具仍顯示 model not found,請把整合程式的實際 request URL、provider name 和 model 值記錄下來。很多時候,命令列測的是本機 127.0.0.1,服務實際卻連到容器內的另一個 host。

Cloud model 不要當成 local model#

Ollama 現在也支援 cloud model。這會讓模型名稱看起來像已安裝,但實際路由與登入狀態不同。先確認你要的是哪一種:

本機模型#

Terminal window
ollama pull gemma4
curl http://127.0.0.1:11434/api/chat \
-d '{"model":"gemma4","messages":[{"role":"user","content":"ok"}],"stream":false}'

透過本機 daemon 使用 cloud model#

Terminal window
ollama signin
ollama pull kimi-k2.5:cloud
ollama list

直接呼叫 Ollama Cloud#

這時 base URL、API key 與可用模型目錄都不同,不要把本機 127.0.0.1:11434 的測試結果當成雲端驗證。若你是從 OpenClaw 呼叫,也要分清楚 ollama/<model>ollama-cloud/<model> 的 provider 參照;可參考 OpenClaw 串接 Ollama 的本機與 Cloud 設定

常見整合錯誤分流#

現象先查什麼不要先做什麼
connection refuseddaemon、host、port、容器網路重新 pull 模型
model not found/api/tags 與完整 model tag調 prompt 或 context
/api/show 成功但聊天失敗最小 /api/chat、模型能力與 options直接加入全部 tools
本機 curl 成功、應用程式失敗應用程式的環境變數、容器 host、provider 設定假設是 Ollama 隨機壞掉
CORS 錯誤OLLAMA_ORIGINS 與服務啟動方式把 CORS 當成 model not found

如果最後一列才是你的問題,站內已有 Ollama CORS 環境變數設定可作為背景;CORS 和模型不存在是兩個不同的失敗層。

最小排查清單#

Terminal window
# 1. 確認 daemon 與 host
curl -fsS http://127.0.0.1:11434/api/tags
# 2. 確認安裝與執行中模型
ollama list
ollama ps
# 3. 對某個確實存在的完整名稱查詳情
curl http://127.0.0.1:11434/api/show \
-H 'Content-Type: application/json' \
-d '{"model":"你的完整模型名稱"}'
# 4. 做最小 chat smoke test
curl http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d '{"model":"你的完整模型名稱","messages":[{"role":"user","content":"ok"}],"stream":false}'

這套順序的重點,是每一關只回答一個問題:服務在哪裡、模型是否存在、模型詳情能否讀取、最小推論能否完成。等這四關都通過,再回頭處理整合工具的 provider、工具呼叫或長上下文設定。

常見問題#

Q: ollama list 有模型,為什麼 API 還是回傳 404?#

A: ollama list 只代表你執行 CLI 的 daemon 有該模型;應用程式可能連到另一個 host、容器或 port。請在應用程式實際執行環境呼叫同一個 <baseUrl>/api/tags,再比較回應中的完整 name

Q: model not found 需要先重啟 Ollama 嗎?#

A: 不一定。先確認 model tag 是否正確,以及該模型是否已在同一個 host 安裝。只有在服務沒有載入新設定、daemon 本身無法連線,或你修改了啟動環境變數時,重啟才是合理的下一步。

Q: ollama ps 沒有模型就是模型不存在嗎?#

A: 不是。ollama ps 列的是目前載入記憶體的模型,模型可能尚未被請求而未載入。判斷模型是否可用,先看 /api/tags;再用 /api/show 和最小 /api/chat 驗證。

參考資料:

Ollama API:List models

Ollama API:Show model details

Ollama API:Generate a chat message

Ollama FAQ:模型載入與 ollama ps

Ollama 出現 model not found 怎麼辦?從 API、模型名稱到執行中程序排查
https://laplusda.com/posts/ollama-model-not-found/
作者
Zero
發佈於
2026-08-04
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。