SDK / フレームワーク統合
どの SDK も同じ 3 ステップで GateLLM に接続します。お使いの SDK を見つけ、base_url の規約とハマりどころを確認し、パターンをコピーしてください。
ゲートウェイはプロトコル指向です。どの SDK を使っていても、OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP を話せるなら、base_url をゲートウェイに向けてアクセスキーに差し替えるだけで、設定済みの任意のモデルを呼び出せます。他ベンダーのモデルへのクロスプロトコル呼び出しも含みます。
base_url をゲートウェイに向ける
既定値は https://your-gateway.gatellm.io です。/v1 を含むかどうかは SDK によって異なります(各例に正確な値を記載)。
ゲートウェイのアクセスキーに差し替える
アップストリームの sk-… キーではありません。同じアクセスキーを、お使いの SDK が期待するヘッダーに載せます。
ゲートウェイのモデル名を使う
コンソールで設定した名前です。ベンダー公式の名前ではありません。
Authorization: Bearer <key>x-api-key: <key>x-goog-api-key: <key>SDK 選択マトリクス
| SDK / フレームワーク | 言語 | プロトコル | ドキュメント |
|---|---|---|---|
ベンダー公式 SDKGitHub のサンプル ↗ | |||
| OpenAI SDK | Python, Node.js | OpenAI | 例 |
| Anthropic SDK | Python, Node.js | Anthropic | 例 |
| Google GenAI SDK | Python, JavaScript | Gemini | 例 |
| OpenAI-compatible third parties | Python, Node.js | OpenAI-compatible | 例 |
DashScope ネイティブ | |||
| DashScope SDK | Python | DashScope | 例 |
統合 SDK / ゲートウェイGitHub のサンプル ↗ | |||
| Vercel AI SDK | TypeScript | OpenAI / Anthropic | 例 |
| LiteLLM | Python | OpenAI-compatible | 例 |
| Portkey | Node.js, Python | OpenAI-compatible | 例 |
| Braintrust / Langbase | TypeScript, Python | OpenAI-compatible | 例 |
| Semantic Kernel | Python, .NET | OpenAI-compatible | 例 |
| Spring AI | Java | OpenAI-compatible | 例 |
オーケストレーションフレームワークGitHub のサンプル ↗ | |||
| LangChain | Python, TypeScript | OpenAI / Anthropic | 例 |
| LangGraph | Python, TypeScript | OpenAI / Anthropic | 例 |
| LlamaIndex | Python, TypeScript | OpenAI-compatible | 例 |
| CrewAI | Python | OpenAI-compatible (LiteLLM) | 例 |
| AutoGen / AG2 | Python | OpenAI-compatible | 例 |
| DSPy | Python | OpenAI-compatible | 例 |
| Haystack | Python | OpenAI-compatible | 例 |
| Llama Stack | Python | OpenAI-compatible | 例 |
エージェント SDK | |||
| OpenAI Agents SDK | Python, TypeScript | OpenAI Responses | 例 |
| Claude Agent SDK | Python, TypeScript | Anthropic | 例 |
| Pydantic AI | Python | OpenAI-compatible | 例 |
| Google ADK | Python | OpenAI-compatible (LiteLLM) | 例 |
| Mastra | TypeScript | OpenAI-compatible | 例 |
| Microsoft Agent Framework | .NET, Python | OpenAI-compatible | 例 |
| MCP SDK | Python, TypeScript | MCP | 例 |
リアルタイム / 音声 | |||
| Realtime WebSocket | Any WS client | OpenAI Realtime | 例 |
| openai_audio (ASR / TTS) | Python, Node.js | OpenAI audio | 例 |
ローカル / セルフホスト | |||
| Ollama | REST | OpenAI-compatible (upstream) | 例 |
| vLLM | REST | OpenAI-compatible (upstream) | 例 |
| llama.cpp server | REST | OpenAI-compatible (upstream) | 例 |
| SGLang | REST | OpenAI-compatible (upstream) | 例 |
| Text Generation Inference (TGI) | REST | OpenAI-compatible (upstream) | 例 |
| LM Studio | REST | OpenAI-compatible (upstream) | 例 |
ハマりどころ
ベンダー公式の名前でもアップストリームのモデル ID でもなく、コンソールで付けた名前です。名前が違うと 404 model_not_found になります。
OpenAI SDK は /v1 を付けます。Anthropic SDK はルートを指定します(/v1/messages を自身で付加)。Vercel AI SDK の createAnthropic は /v1 を付けます(/messages を付加)。間違えるとパスのセグメントが余分に付いたり欠けたりします。
アップストリームが Responses プロトコルのモデルの場合、max_tokens が max_output_tokens に変換され、下限(例:16 以上)が付くことがあります。小さすぎると 400 になります。
Claude / Gemini の thinking コンテンツと署名はパススルーされるか除去されます。content 配列のうち type == "text" の要素を取得し、content[0] がテキストだと仮定しないでください。
Chat Completions ではなく Responses API を呼びます。アップストリームが openai(Chat)の場合は OpenAIChatCompletionsModel で明示的に切り替えてください。openai_response であれば文字列のモデル名でそのまま動きます。
OpenAI クラスは認識できるファミリーしか受け付けず、ゲートウェイのカスタム名を拒否します。OpenAILike(Python)を使うか、モデル情報を明示的に宣言してください。
base_url はフレームワークのパラメーターではなく OPENAI_API_BASE 環境変数で指定し、model には openai/ プレフィックスが必要です。
未知のモデル名は既定の一覧でエラーになります。model_info を明示的に宣言してチェックを回避してください。
base_url は http_options.base_url で指定し(/v1 なし)、キーは x-goog-api-key ヘッダーに載せます。