REST API
本機預設:
雲端模型可用同一套路徑,改成 https://ollama.com/api(需 API key/登入)。文件:Introduction。
先打一槍確認服務
curl http://localhost:11434/api/generate -d '{
"model": "gemma4",
"prompt": "Why is the sky blue?",
"stream": false
}'
對話(多輪)用 /api/chat:
curl http://localhost:11434/api/chat -d '{
"model": "gemma4",
"messages": [{ "role": "user", "content": "用一句話說明 Ollama 是什麼" }],
"stream": false
}'
預設 stream 為 true,回應是一行一個 JSON(NDJSON)。寫腳本時若不想自己拼片段,把 stream 設成 false 會得到單一 JSON。
常用端點(概念)
| 端點 | 用途 |
|---|---|
POST /api/chat |
多輪對話,帶 messages |
POST /api/generate |
單次補全,帶 prompt |
POST /api/embed(或 embeddings) |
向量 |
| 模型管理 | 對應 CLI 的 list/pull/delete 等 |
欄位名稱以官方 OpenAPI/文件為準。常見選項放在 options 裡,例如 num_ctx、temperature。format 可要求 "json" 或 JSON Schema,讓輸出比較好解析。
預載模型(之後第一句比較快)可送不含 prompt 的請求,或 CLI:ollama run gemma4 ""。keep_alive 控制卸載:-1 一直留在記憶體,0 用完立刻卸。
安全注意
本機 API 預設沒有帳密。只綁迴路位址時,只有這台電腦上的程式能連。若設 OLLAMA_HOST=0.0.0.0:11434 或用反向代理對外,等於任何人都能用你的 GPU、讀你的提示。請放在防火牆、VPN 或有驗證的 proxy 後面,不要裸露到公網。
瀏覽器擴充要連 Ollama 時,可能還要設 OLLAMA_ORIGINS,見 FAQ。
從 CLI 走到應用程式
示範 /api/generate、串流、options、JSON 格式,以及為什麼不該把未驗證的 11434 埠公開。適合寫完 curl 之後再對照。