前言
這篇文章將搭配簡單的範例,介紹最近推出的 Docker Model Runner。內容比較隨意粗略,希望能成為讓讀者了解這項工具的契機!
什麼是 Docker Model Runner?
這是一項可以從 Docker Hub 輕鬆下載並執行大型語言模型(LLM)的功能。使用條件
需使用 Docker Desktop 版本 4.40 以上。 在 Docker Desktop 的設定畫面中,前往「Features in Development」>「Beta features」,並啟用「Enable Model Runner」(預設是已經啟用的)
可用的模型
目前在 Docker Hub 上已有 12 個模型公開,包括 deepseek-r1-distill-llama、mistral、gemma3 等。 有關可用模型的最新資訊,請參考以下連結。
實際操作
這裡會介紹一個執行 Gemma 3 的範例。
請執行以下指令來下載 Gemma 3 模型。
docker model pull ai/gemma3:latest
下載完成後,請執行以下指令來運行 Gemma 3 模型。
docker model run ai/gemma3:latest
執行後,將會進入聊天模式。在聊天模式中輸入提問後,回覆就被生成出來了!
Interactive chat mode started. Type '/bye' to exit.
>
也可以從其他 Docker 容器呼叫 API!
在以下範例中,我們將從 alpine 容器使用 curl 指令來訪問 Gemma 3 的 API。
docker run -it alpine:latest sh -c "apk update && apk add --no-cache curl && bash"
也可以在 http://model-runner.docker.internal/ 訪問。
curl http://model-runner.docker.internal/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ai/gemma3",
"messages": [
{
"role": "system",
"content": "你是個美國經濟學家"
},
{
"role": "user",
"content": "試論川普關稅方案對台灣與世界各國的衝擊"
}
]
}'
總結
Docker Model Runner的設定很簡單(只要安裝 Docker 就可以立即使用),我覺得它對於在開發中使用 Docker 的應用程式來整合 LLM 會非常有幫助。目前還是實驗性功能,所以可選的模型還比較少,但未來值得期待。