SDK- und Framework-Integrationen

Jedes SDK verbindet sich in denselben drei Schritten mit GateLLM. Finden Sie Ihr SDK, beachten Sie seine base_url-Konvention und Gotcha und kopieren Sie dann das Muster.

Das Gateway ist protokollorientiert: Welches SDK Sie auch nutzen — solange es OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP spricht, können Sie durch Richten seiner base_url auf das Gateway und Einsetzen eines Zugriffsschlüssels jedes konfigurierte Modell aufrufen — einschließlich protokollübergreifender Aufrufe von Modellen anderer Anbieter.

1

base_url auf das Gateway richten

Standard ist https://your-gateway.gatellm.io — ob /v1 enthalten ist, hängt vom SDK ab (jedes Beispiel nennt den genauen Wert).

2

Gateway-Zugriffsschlüssel einsetzen

Kein Upstream-sk-…-Schlüssel — derselbe Zugriffsschlüssel wird in den Header eingetragen, den Ihr SDK erwartet.

3

Den Gateway-Modellnamen verwenden

Was Sie in der Konsole konfiguriert haben — nicht der offizielle Name des Anbieters.

Authorization: Bearer <key>
OpenAI · DashScope · generisch
Bearer-Präfix ist groß-/kleinschreibungsunabhängig
x-api-key: <key>
Anthropic SDK
Authorization wird ebenfalls akzeptiert
x-goog-api-key: <key>
Gemini SDK
Authorization wird ebenfalls akzeptiert

SDK-Auswahlmatrix

SDK / FrameworkSpracheProtokollDokumentation
Offizielle Anbieter-SDKsGitHub-Beispiele ↗
OpenAI SDKPython, Node.jsOpenAIBeispiele
Anthropic SDKPython, Node.jsAnthropicBeispiele
Google GenAI SDKPython, JavaScriptGeminiBeispiele
OpenAI-compatible third partiesPython, Node.jsOpenAI-compatibleBeispiele
DashScope nativ
DashScope SDKPythonDashScopeBeispiele
Vereinheitlichte SDKs und GatewaysGitHub-Beispiele ↗
Vercel AI SDKTypeScriptOpenAI / AnthropicBeispiele
LiteLLMPythonOpenAI-compatibleBeispiele
PortkeyNode.js, PythonOpenAI-compatibleBeispiele
Braintrust / LangbaseTypeScript, PythonOpenAI-compatibleBeispiele
Semantic KernelPython, .NETOpenAI-compatibleBeispiele
Spring AIJavaOpenAI-compatibleBeispiele
Orchestrierungs-FrameworksGitHub-Beispiele ↗
LangChainPython, TypeScriptOpenAI / AnthropicBeispiele
LangGraphPython, TypeScriptOpenAI / AnthropicBeispiele
LlamaIndexPython, TypeScriptOpenAI-compatibleBeispiele
CrewAIPythonOpenAI-compatible (LiteLLM)Beispiele
AutoGen / AG2PythonOpenAI-compatibleBeispiele
DSPyPythonOpenAI-compatibleBeispiele
HaystackPythonOpenAI-compatibleBeispiele
Llama StackPythonOpenAI-compatibleBeispiele
Agent-SDKs
OpenAI Agents SDKPython, TypeScriptOpenAI ResponsesBeispiele
Claude Agent SDKPython, TypeScriptAnthropicBeispiele
Pydantic AIPythonOpenAI-compatibleBeispiele
Google ADKPythonOpenAI-compatible (LiteLLM)Beispiele
MastraTypeScriptOpenAI-compatibleBeispiele
Microsoft Agent Framework.NET, PythonOpenAI-compatibleBeispiele
MCP SDKPython, TypeScriptMCPBeispiele
Echtzeit und Audio
Realtime WebSocketAny WS clientOpenAI RealtimeBeispiele
openai_audio (ASR / TTS)Python, Node.jsOpenAI audioBeispiele
Lokal / selbst gehostet
OllamaRESTOpenAI-compatible (upstream)Beispiele
vLLMRESTOpenAI-compatible (upstream)Beispiele
llama.cpp serverRESTOpenAI-compatible (upstream)Beispiele
SGLangRESTOpenAI-compatible (upstream)Beispiele
Text Generation Inference (TGI)RESTOpenAI-compatible (upstream)Beispiele
LM StudioRESTOpenAI-compatible (upstream)Beispiele

Gotchas

Der Modellname muss zur Gateway-Konfiguration passen

Nicht der offizielle Name des Anbieters, nicht die Upstream-Modell-ID — sondern der Name, den Sie in der Konsole vergeben haben. Falscher Name → 404 model_not_found.

Ob base_url /v1 enthält, hängt vom SDK ab

Das OpenAI SDK erwartet /v1; das Anthropic SDK erwartet die Wurzel (es hängt /v1/messages an); createAnthropic im Vercel AI SDK erwartet /v1 (es hängt /messages an). Ein Fehler hier fügt ein Pfadsegment hinzu oder entfernt es.

Felder werden protokollübergreifend übersetzt und eingeschränkt

Aus max_tokens kann max_output_tokens mit einer Untergrenze werden (z. B. ≥16), wenn der Upstream ein Modell mit Responses-Protokoll ist — zu klein → 400.

Thinking-Blöcke werden vom Gateway umschlossen

Thinking-Inhalte und Signaturen von Claude / Gemini werden durchgereicht oder entfernt — nehmen Sie das Element mit type == "text" aus dem Content-Array, gehen Sie nicht davon aus, dass content[0] Text ist.

Das OpenAI Agents SDK verwendet standardmäßig /v1/responses

Es ruft die Responses API auf, nicht Chat Completions. Ist der Upstream openai (Chat), wechseln Sie explizit mit OpenAIChatCompletionsModel; ist er openai_response, funktioniert ein String-Modellname unverändert.

LlamaIndex prüft den Modellnamen gegen eine Allowlist

Die OpenAI-Klasse akzeptiert nur bekannte Familien und lehnt benutzerdefinierte Gateway-Namen ab — verwenden Sie OpenAILike (Python) oder deklarieren Sie die Modellinformationen explizit.

CrewAI wird intern von LiteLLM gesteuert

base_url ist kein Framework-Parameter, sondern die Umgebungsvariable OPENAI_API_BASE, und das Modell benötigt das Präfix openai/.

AutoGen benötigt explizite model_info

Unbekannte Modellnamen führen in der Standardliste zu Fehlern — deklarieren Sie model_info explizit, um die Prüfung zu umgehen.

Das Google GenAI SDK zeigt auf die Wurzel

base_url erfolgt über http_options.base_url (ohne /v1), und der Schlüssel wird im Header x-goog-api-key übergeben.

FAQ