OllamaのOpenAI互換APIをWindowsで使う方法|/v1・モデル確認

公開日
2026-08-09
更新日
2026-08-09
情報確認日
2026-08-09
編集・運営
Local AI Compass

OllamaのOpenAI互換APIは、OpenAI向けクライアントのbase URLをlocalhostへ向け替えて使う入口です。Windowsではhttp://localhost:11434/v1/をbase URLにし、公式例のapi_key値、ollama lsで確認したモデル名、/v1/chat/completions・/v1/responses・/v1/embeddingsの違いを分けて確認します。nativeの/api/chat・/api/generate・/api/embedとは別のAPIです。

導入前に確認すること

  • Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
  • 最初は軽量モデル、短い質問、少ない同時作業から始める
  • 公式サイトの対応OS、利用規約、モデルのライセンスを確認する

先に結論:OpenAI互換はbase URLを変えるだけでなく、endpointとモデル能力を確認する

Ollama公式docsでは、OpenAI APIの一部との互換性を提供し、既存アプリをOllamaへつなぐ例として http://localhost:11434/v1/ のbase URLが示されています。互換性は「OpenAIと完全に同じ」という意味ではありません。使うendpoint、request field、stream、tool、vision、embedding、Responsesの状態保持を機能ごとに確認します。

Ollama OpenAI互換APIの確認対象
目的最初に見る場所確認すること
Chat CompletionsPOST /v1/chat/completionsmodel、messages、stream、response_format、tools、visionの対応
ResponsesPOST /v1/responsesinput、instructions、tools、stream。stateful機能の制限
保存済みモデルollama ls / GET /v1/models実際に指定できるモデル名とタグ
EmbeddingPOST /v1/embeddingsembedding用モデル、input、次元、vector DB側の整合
Ollama native APIPOST /api/chat・/api/generate・/api/embedOpenAI互換とは別のrequest・response形式

OpenAI SDKの初期化が成功しても、モデルが存在すること、Ollamaが起動していること、目的のendpointが対応していることまでは保証しません。最初はlocalhostの短いchatをstream=falseで試し、次にstream、JSON、tools、vision、embeddingを一つずつ追加します。

Windowsでlocalhost APIとモデルを先に確認する

Windows版OllamaをAPIから使う前に、Ollama本体が起動しているか、モデルが保存済みか、指定したモデル名が一覧にあるかを確認します。API clientのエラーを先に直そうとせず、Ollama単体の状態を分けて記録すると切り分けやすくなります。

  1. OllamaをWindowsで起動し、PowerShellを新しく開いてollama lsとollama psを実行する。
  2. 使うモデルが一覧にない場合は、モデル名・タグ・空き容量を確認してollama pull MODELを実行する。
  3. GET http://localhost:11434/api/tagsでnative APIのモデル一覧を取得し、APIの接続先が自分のPCか確認する。
  4. 短いモデル名と短いpromptを使い、まずnative APIまたはCLIで単体応答を確認する。
  5. その後にOpenAI clientのbase_urlをhttp://localhost:11434/v1/へ向け、/v1/chat/completionsを試す。
ollama ls
ollama ps
ollama pull MODEL
GET http://localhost:11434/api/tags

localhost APIを使う構成でも、モデル取得、更新、cloudモデル、ログ、別アプリ連携の通信条件は別に確認します。Ollamaを使っているというだけで全処理がPC内に限定されるとは限りません。

OpenAI SDKのbase_url・api_key・modelを合わせる

Ollama公式のOpenAI互換例では、OpenAI clientのbase URLをhttp://localhost:11434/v1/にし、api_keyにはollamaという値を指定しています。例ではclient側が値を要求するため指定しますが、local Ollamaのこの例の値を本物の秘密鍵として扱うものではありません。外部hostやcloud、別providerを使うと認証条件が変わるため、同じ値を一般化しないでください。

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1/",
    api_key="ollama",
)

result = client.chat.completions.create(
    model="MODEL",
    messages=[{"role": "user", "content": "短い質問"}],
)
print(result.choices[0].message.content)
Ollama OpenAI互換API clientの基本設定
設定例よくある取り違え
base_urlhttp://localhost:11434/v1/endpointまで含めて二重に /v1/chat/completions を付ける
api_keyollamalocal例のダミー値を認証の安全保証とみなす
modelollama lsに表示された名前OpenAIのモデル名や画面表示だけをそのまま使う
API callclient.chat.completions.createResponsesやnative /api/chatとresponse形式を混ぜる

OpenAI向けコードを流用する場合も、まずbase_url、model、stream、timeout、response formatを一つずつ固定します。実際のプロジェクトへ組み込む前に、短い固定promptとローカルの非機密データで応答を確認してください。

Chat Completions・Responses・native APIのpathを分ける

OllamaにはOpenAI互換のv1系と、Ollama nativeのapi系があります。同じlocalhost:11434でも、pathを間違えると404、request形式の不一致、response parserのエラーになります。

OllamaのOpenAI互換APIとnative APIのpath比較
APIpath向いている確認注意点
OpenAI Chat Completions/v1/chat/completionsmessages、stream、JSON、tools、visionモデルが機能を実装しているか別に確認
OpenAI Responses/v1/responsesinput、instructions、tools、stream現行公式docsでは非stateful。previous_response_id・conversationを前提にしない
OpenAI Completions/v1/completionsstring promptを受ける既存clientpromptは文字列前提として公式notesを確認
OpenAI Models/v1/modelsOpenAI clientから見えるモデル一覧created・owned_byの意味をOllama docsで確認
Ollama Chat/api/chatnative messages、think、keep_alive、usageOpenAIのchat.completions形式とは別
Ollama Generate/api/generatenative prompt、stream、done、usagemessagesではなくprompt中心
POST http://localhost:11434/v1/chat/completions
POST http://localhost:11434/v1/responses
GET  http://localhost:11434/v1/models
POST http://localhost:11434/v1/embeddings
POST http://localhost:11434/api/chat
POST http://localhost:11434/api/generate

OpenAI互換を選ぶかnative APIを選ぶかは、clientが既にOpenAI形式を前提にしているか、Ollama固有のthink・keep_alive・usageなどを使いたいかで決めます。pathだけを置換してレスポンス形式を同じとみなさないでください。

model名とcontext sizeをOpenAI互換側で調整する

OpenAI向けtoolがgpt-3.5-turboのような固定名を送る場合、Ollama公式docsではollama cpで既存モデルを別名へコピーする例が示されています。実際に利用するモデル・タグ・ライセンス・容量を確認してからaliasを作り、元モデルとaliasを同じものと誤認しないでください。

ollama ls
ollama show MODEL
ollama cp llama3.2 gpt-3.5-turbo
ollama ls

OpenAI APIにはモデルのcontext sizeを変更する同じ形式の設定がないため、Ollama公式docsではModelfileのPARAMETER num_ctxとollama createを使う方法が案内されています。

FROM MODEL
PARAMETER num_ctx 8192

ollama create mymodel
ollama run mymodel
Ollama OpenAI互換APIのモデル名とcontext確認
症状確認すること次の判断
model not foundollama lsの名前・タグ・alias正確なmodelを指定するかpullする
固定モデル名しか受け付けないclientが送るmodel値ollama cpでaliasを作るかclient設定を変更する
長文で止まる・重いcontext、RAM/VRAM、モデルサイズModelfileのnum_ctxとPC負荷を分けて確認
同じ名前でも結果が違うモデルtag、digest、Modelfile、aliasollama showと作成元を記録する

Embeddingsはchatモデルと分けて、RAGのindex・queryをそろえる

OpenAI互換のembedding endpointはPOST /v1/embeddings、Ollama nativeのembedding endpointはPOST /api/embedです。どちらも文章をベクトルへ変換する入口ですが、チャットの回答を返すendpointではありません。RAGではembeddingモデル、入力の分割、vector DB、検索、回答モデルを別の部品として扱います。

POST http://localhost:11434/v1/embeddings
{
  "model": "EMBEDDING_MODEL",
  "input": ["最初の文書", "次の文書"]
}

POST http://localhost:11434/api/embed
{
  "model": "EMBEDDING_MODEL",
  "input": "検索文"
}
OllamaのOpenAI互換embeddingとRAGの確認項目
確認embeddingで見ることchatと混ぜないこと
modelembedding用途のモデル名、保存状態、対応形式chatモデルをembeddingモデルと決めつける
input文字列または複数テキスト、truncate、dimensionsmessagesやpromptのresponse形式を送る
vector次元、dtype、保存先、距離計算ベクトルをそのまま自然文回答として表示する
index/query同じembeddingモデルで処理するindex時とquery時でモデルを変更して比較不能にする

Ollamaの公式Embeddings capabilityでは、semantic search用途のcosine similarityと、indexing・queryingで同じembedding modelを使う考え方が案内されています。RAGが動かない場合は、chat APIのpathではなく、embeddingモデル、入力長、次元、vector DB、検索結果の順に確認します。

stream・JSON・tools・visionは最後に一つずつ確認する

Chat Completionsの公式互換表には、streaming、JSON mode、vision、tools、reasoning/thinking controlなどの対応項目があります。ただし、API側がfieldを受け付けても、指定したモデルがvisionやtool callingを実行できるとは限りません。最小リクエストから一項目ずつ追加します。

  1. stream=falseの短いtext chatで、HTTP statusとresponse parserを確認する。
  2. stream=trueへ変え、SSEやSDKのstream iteratorをクライアントが正しく読めるか確認する。
  3. response_formatやJSON Schemaを追加し、出力後にJSON.parseなどの検証を行う。
  4. toolsを1つだけ定義し、モデルのtool calling対応、引数の検証、実行承認を確認する。
  5. visionを試す場合は、対応モデル、image contentの形式、入力サイズ、送信範囲を確認する。
  6. Responsesへ移行する場合は、非statefulの制限を踏まえ、previous_response_idやconversationを前提にしない。
POST /v1/chat/completions
{
  "model": "MODEL",
  "messages": [{"role": "user", "content": "短い質問"}],
  "stream": false
}

対応表にある機能と、手元のモデルで安全に動くことは別です。JSONはstructured outputの記事、tool callingはMCPの記事、visionはモデル形式や入力条件の記事へ分岐します。

Windowsで接続エラーが出たときの順番と公開範囲

OpenAI互換APIのエラーは、Ollamaが停止している、base URLが違う、model名が違う、endpointを混ぜた、stream responseを読めない、embeddingの次元が違う、といった層で起きます。再インストールやLAN公開を先にせず、localhostの状態を一つずつ記録します。

Ollama OpenAI互換APIのWindowsトラブル分岐
症状原因候補最初の確認
connection refusedOllama本体・server停止、port違いWindowsのOllama、localhost:11434、ollama ls
404 Not Foundv1とapiのpath混在、base_urlの二重指定/v1/chat/completionsか/api/chatかをclientと一致させる
model not foundtag違い、pull前、alias違いollama ls、ollama show MODEL、model値
401/認証エラー外部hostやclient側の認証条件local例のapi_keyと実際の接続先を分ける
JSON parse・stream errorstream設定とparserの不一致stream=falseで確認してからSSE処理を追加
RAGの検索が不安定embeddingモデル・次元・index/queryの不一致同じembedding modelとvector DB設定
  • 最初はlocalhostだけで検証し、LANや外部hostへ公開する設定をAPI疎通のために追加しない。
  • api_key、個人パス、機密prompt、文書本文をログや質問文へそのまま残さない。
  • localモデルとcloudモデル、OllamaのAPIと連携アプリの外部送信を分けて確認する。
  • 実運用ではHTTP status、endpoint、model、stream、response末尾、エラー本文を秘密情報を除いて記録する。
  • OllamaのCLI、API、model tag、対応フィールドは更新されるため、記事の固定値より公式docsと自分の応答を優先する。

よくある質問

OllamaのOpenAI互換APIのbase URLは何ですか?

Ollama公式のlocal例では、OpenAI clientのbase URLに http://localhost:11434/v1/ を指定します。clientがendpointを付けるため、base URLへさらに /v1/chat/completions を重ねないようにします。

OllamaのOpenAI互換APIに本物のAPI keyは必要ですか?

公式のlocal例ではclient側が値を要求するため api_key に ollama を指定していますが、その例の値は本物の秘密鍵として扱うものではありません。外部host、cloud、別providerを使う場合の認証条件は別に確認してください。

Ollamaのモデル名はOpenAIのモデル名をそのまま使えますか?

必ずしも使えません。まず ollama ls で実際のモデル名とタグを確認します。OpenAI向けtoolが固定名を要求する場合、Ollama公式docsには ollama cp で別名を作る例があります。

OllamaのOpenAI互換APIでResponses APIは使えますか?

現行のOllama公式OpenAI compatibility docsには /v1/responses の対応が記載されています。ただし非statefulの扱いで、previous_response_id や conversation を前提にする機能は対応しないと説明されています。

OllamaのOpenAI互換APIでembeddingはできますか?

公式docsには /v1/embeddings があり、native APIには /api/embed があります。chat用モデルとembedding用モデル、index/queryで使うモデル、vector DBの次元を分けて確認してください。

Ollamaのnative APIとOpenAI互換APIは何が違いますか?

OpenAI互換APIは /v1/chat/completions、/v1/responses、/v1/embeddings などでOpenAI形式のclientをつなぐ入口です。native APIの /api/chat、/api/generate、/api/embed はOllama固有のrequest・response形式なので、pathとparserを混ぜません。

OpenAI互換APIにすればOllamaの回答は速くなりますか?

API形式を変えても、同じモデルをOllamaで動かすPC負荷がなくなるわけではありません。モデルサイズ、context、RAM、VRAM、CPU/GPU、streamの読み方を分けて確認します。

次に読むおすすめルート

開発・API連携したい人

LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。

  1. ローカルAIをAPIで使う方法
  2. Windowsでllama.cppを使う方法
  3. WindowsでローカルAIコーディングを始める
  4. VS CodeでローカルAIを使う
  5. LM Studioのlms CLIを使う
  6. LM StudioのTool Useを使う
  7. LM StudioのStructured Outputを使う
  8. LM StudioのResponses APIを使う
  9. LM StudioのMCPをAPIで使う
  10. ローカルAIでJSON出力する方法
  11. LM StudioとOllamaの違い
  12. コンテキスト長とは
  13. RAG・埋め込み・ベクトルDBの仕組み
  14. OllamaのEmbedding APIを使う
  15. OllamaのResponses APIを使う
  16. OllamaのAPI認証を確認する
  17. OllamaをWindowsのLANから使う前の確認
  18. NVIDIA PAIRで複数PCへ振り分ける
  19. OllamaのモデルID・能力を確認する
  20. OllamaのModelfileを使う
  21. Ollama native API streamingを使う
  22. Ollama Web Search APIを使う
  23. OllamaのThinkingを使う
  24. LM StudioのEmbedding APIを使う
  25. RAG評価と引用確認の基礎
  26. faithfulness確認
  27. ローカルRAGのプライバシー
  28. MCPとは
  29. ローカルLLMの安全性とプライバシー
  30. Gemma 4 12Bの更新メモ
  31. Hermes Desktopとは
  32. Hermes DesktopとLM Studio接続
  33. Hermes DesktopとOllama接続
  34. Hermes Desktop接続トラブル
  35. Hermes DesktopでOpenRouterを使う
  36. Hermes DesktopでDeepSeek APIを使う
  37. Hermes DesktopでProviderを使い分ける
  38. Hermes DesktopとLM Studio接続の確認ポイント
  39. Hermes AgentとDesktopの違い
  40. Ollamaとは
  41. Windows ARMでローカルAIを使う前の確認
  42. WindowsでOllamaをインストールする
  43. Ollamaのローカルモデルとcloudモデルの違い
  44. Ollamaのモデル保存場所と移動
  45. Ollamaのモデル一覧・削除・容量整理
  46. Ollamaのtool callingを使う
  47. OllamaのStructured Outputsを使う
  48. OllamaのEmbedding APIを使う
  49. OllamaのResponses APIを使う
  50. OllamaのAPI認証を確認する
  51. OllamaのモデルID・能力を確認する
  52. OllamaのModelfileを使う
  53. Ollama native API streamingを使う
  54. LM StudioのEmbedding APIを使う
  55. Ollamaの解説
  56. 診断基準
  57. 比較表

あなたはどのタイプ?

関連チェック先

  • Ollama OpenAI compatibility - OpenAI互換のbase URL、Chat Completions、Responses、models、embeddings、対応フィールドを確認できます。
  • Ollama Windows - WindowsでのOllama本体、localhost API、モデルや環境の前提を確認できます。
  • Ollama CLI Reference - pull、ls、show、cp、createなど、モデルの取得・確認・名前変更・作成の入口を確認できます。
  • Ollama Chat API - Ollama native chat APIのmessages、stream、think、keep_aliveなどを確認できます。
  • Ollama Generate API - Ollama native generate APIのprompt、stream、usageや応答形式を確認できます。
  • Ollama Embed API - native /api/embedのmodel、input、truncate、dimensions、embeddingsレスポンスを確認できます。
  • Ollama Embeddings capability - embeddingモデル、semantic search、indexとqueryで同じモデルを使う考え方を確認できます。
  • Ollama List models API - 保存済みモデルのname、size、digestなどを一覧する仕様を確認できます。

関連ツール

比較表を見る / 最初に検討しやすいツールを確認する