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

あなたはどのタイプ?

関連チェック先

  • 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などを一覧する仕様を確認できます。

関連ツール

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