# SDK- und Framework-Integrationen - GateLLM

> Verbinden Sie jedes SDK oder Framework mit GateLLM: OpenAI, Anthropic, Gemini, DashScope, LangChain, LlamaIndex, CrewAI, Vercel AI SDK, OpenAI Agents SDK, Ollama und 30+ weitere — ein base_url-Wechsel, Gotchas pro SDK inklusive.

Kanonisch: https://www.gatellm.io/de/integrations/

## 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.
## Funktioniert mit dem SDK, das Sie bereits haben
Richten Sie jedes SDK oder Framework mit einer Zeile auf das Gateway. OpenAI, Anthropic, Gemini und DashScope verbinden nativ; LangChain, LlamaIndex, CrewAI, Vercel AI SDK und 30+ weitere über denselben base_url-Wechsel.
### 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).
### Gateway-Zugriffsschlüssel einsetzen
Kein Upstream-sk-…-Schlüssel — derselbe Zugriffsschlüssel wird in den Header eingetragen, den Ihr SDK erwartet.
### Den Gateway-Modellnamen verwenden
Was Sie in der Konsole konfiguriert haben — nicht der offizielle Name des Anbieters.
```
# base_url convention differs by SDK — match the one you're using
from openai import OpenAI
OpenAI(base_url="https://your-gateway.gatellm.io/v1")        # OpenAI SDK: /v1

import anthropic
anthropic.Anthropic(base_url="https://your-gateway.gatellm.io")  # Anthropic SDK: root (appends /v1/messages)

# Vercel AI SDK createAnthropic: baseURL ".../v1" (appends /messages) — the reverse
# LangChain ChatOpenAI: base_url="https://your-gateway.gatellm.io/v1"
```
### `Authorization: Bearer <key>`
- SDK / Framework: OpenAI · DashScope · generisch
- Bearer-Präfix ist groß-/kleinschreibungsunabhängig

### `x-api-key: <key>`
- SDK / Framework: Anthropic SDK
- Authorization wird ebenfalls akzeptiert

### `x-goog-api-key: <key>`
- SDK / Framework: Gemini SDK
- Authorization wird ebenfalls akzeptiert

## SDK-Auswahlmatrix

### Offizielle Anbieter-SDKs
OpenAI / Anthropic / Google SDKs verbinden nativ — nur base_url ändert sich
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| OpenAI SDK | Python, Node.js | OpenAI | https://docs.gatellm.io/en/sdk/vendor-sdks |
| Anthropic SDK | Python, Node.js | Anthropic | https://docs.gatellm.io/en/sdk/vendor-sdks |
| Google GenAI SDK | Python, JavaScript | Gemini | https://docs.gatellm.io/en/sdk/vendor-sdks |
| OpenAI-compatible third parties | Python, Node.js | OpenAI-compatible | https://docs.gatellm.io/en/sdk/vendor-sdks |

### DashScope nativ
Text, Bild, asynchrones Video, Embedding und Rerank über einen Endpunkt
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| DashScope SDK | Python | DashScope | https://docs.gatellm.io/en/quickstart/dashscope |

### Vereinheitlichte SDKs und Gateways
Vercel AI SDK, LiteLLM, Portkey, Semantic Kernel, Spring AI
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| Vercel AI SDK | TypeScript | OpenAI / Anthropic | https://docs.gatellm.io/en/sdk/unified-sdks |
| LiteLLM | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Portkey | Node.js, Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Braintrust / Langbase | TypeScript, Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Semantic Kernel | Python, .NET | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |
| Spring AI | Java | OpenAI-compatible | https://docs.gatellm.io/en/sdk/unified-sdks |

### Orchestrierungs-Frameworks
LangChain, LlamaIndex, CrewAI, AutoGen, DSPy, Haystack
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| LangChain | Python, TypeScript | OpenAI / Anthropic | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| LangGraph | Python, TypeScript | OpenAI / Anthropic | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| LlamaIndex | Python, TypeScript | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| CrewAI | Python | OpenAI-compatible (LiteLLM) | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| AutoGen / AG2 | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| DSPy | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| Haystack | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |
| Llama Stack | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/orchestration-frameworks |

### Agent-SDKs
OpenAI Agents, Claude Agent, Pydantic AI, ADK, Mastra
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| OpenAI Agents SDK | Python, TypeScript | OpenAI Responses | https://docs.gatellm.io/en/sdk/agent-sdks |
| Claude Agent SDK | Python, TypeScript | Anthropic | https://docs.gatellm.io/en/quickstart/anthropic-interop |
| Pydantic AI | Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/agent-sdks |
| Google ADK | Python | OpenAI-compatible (LiteLLM) | https://docs.gatellm.io/en/sdk/agent-sdks |
| Mastra | TypeScript | OpenAI-compatible | https://docs.gatellm.io/en/sdk/agent-sdks |
| Microsoft Agent Framework | .NET, Python | OpenAI-compatible | https://docs.gatellm.io/en/sdk/agent-sdks |
| MCP SDK | Python, TypeScript | MCP | https://docs.gatellm.io/en/reference/mcp-config |

### Echtzeit und Audio
Echtzeit-WebSocket-Sprache + openai_audio ASR / TTS
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| Realtime WebSocket | Any WS client | OpenAI Realtime | https://docs.gatellm.io/en/sdk/realtime-and-audio |
| openai_audio (ASR / TTS) | Python, Node.js | OpenAI audio | https://docs.gatellm.io/en/sdk/realtime-and-audio |

### Lokal / selbst gehostet
Ollama, vLLM, llama.cpp als Upstreams — jedes Client-SDK bleibt erhalten
| SDK / Framework | Sprache | Protokoll | Dokumentation |
| --- | --- | --- | --- |
| Ollama | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| vLLM | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| llama.cpp server | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| SGLang | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| Text Generation Inference (TGI) | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |
| LM Studio | REST | OpenAI-compatible (upstream) | https://docs.gatellm.io/en/sdk/local-inference |

## 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
### Funktioniert GateLLM mit LangChain / LlamaIndex / CrewAI?
Ja — richten Sie das zugrunde liegende Chat-Modell jedes Frameworks auf den OpenAI-kompatiblen Endpunkt des Gateways. Jedes hat einen spezifischen Einstiegspunkt zum Ändern der base_url: LangChain nutzt ChatOpenAI(base_url=…), LlamaIndex nutzt OpenAILike, CrewAI setzt die Umgebungsvariable OPENAI_API_BASE (darunter läuft LiteLLM).
### Kann ich das Claude Agent SDK oder Claude Code über GateLLM nutzen?
Ja. Sie lesen die Umgebungsvariablen ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN — richten Sie sie auf die Gateway-Wurzel und verwenden Sie einen Gateway-Zugriffsschlüssel. Benennen Sie das Gateway-Modell genau wie die ID, die der Agent anfragt (oder gleichen Sie es über ANTHROPIC_MODEL ab).
### Wie verbinde ich das OpenAI Agents SDK?
Richten Sie seinen OpenAI-Client auf das Gateway und setzen Sie das Modell. Beachten Sie, dass es standardmäßig /v1/responses verwendet — ist Ihr Upstream ein Modell mit Chat-Protokoll, wechseln Sie explizit mit OpenAIChatCompletionsModel. Deaktivieren Sie Tracing (set_tracing_disabled), damit Traces nicht ebenfalls das Gateway treffen.
### Kann GateLLM Ollama / vLLM / llama.cpp bereitstellen?
Ja — konfigurieren Sie sie als OpenAI-kompatible Upstreams und behalten Sie jedes Client-SDK. Das Gateway ergänzt Routing, Fallback und Governance auf Ihren selbst gehosteten Modellen.
### Enthält die base_url /v1 oder nicht?
Das 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). Die Dokumentation nennt den genauen Wert pro SDK.
### Was ist ein Gateway-Zugriffsschlüssel im Vergleich zu einem Upstream-Schlüssel?
Der Gateway-Zugriffsschlüssel ist das, was Ihr Client präsentiert, in dem Header, den Ihr SDK verwendet (Authorization, x-api-key oder x-goog-api-key). Upstream-Anbieterschlüssel bleiben im Gateway und werden Ihrem Client nie offengelegt.

## Verwandt
- [Startseite](https://www.gatellm.io/de/index.md)
- [Preise](https://www.gatellm.io/de/pricing.md)
- [Kostenrechner](https://www.gatellm.io/de/calculator.md)
- [Über uns](https://www.gatellm.io/de/about.md)
- [Demo buchen](https://www.gatellm.io/de/demo.md)
- [FAQ](https://www.gatellm.io/de/faq.md)
- [AI-Gateways vergleichen](https://www.gatellm.io/de/compare.md)
- [LiteLLM vergleichen](https://www.gatellm.io/de/compare/litellm.md)
- [OpenRouter vergleichen](https://www.gatellm.io/de/compare/openrouter.md)
- [Alibaba Cloud AI Gateway vergleichen](https://www.gatellm.io/de/compare/alibaba-cloud.md)
- [Azure API Management vergleichen](https://www.gatellm.io/de/compare/azure-apim.md)
- [Apigee vergleichen](https://www.gatellm.io/de/compare/apigee.md)
- [Cloudflare AI Gateway vergleichen](https://www.gatellm.io/de/compare/cloudflare.md)
- [Kong AI Gateway vergleichen](https://www.gatellm.io/de/compare/kong.md)
- [Portkey vergleichen](https://www.gatellm.io/de/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/de/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/de/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/de/compare/litellm-vs-portkey.md)
- [Anwendungsfälle](https://www.gatellm.io/de/use-cases.md)
- [LLM-Kosten senken](https://www.gatellm.io/de/use-cases/reduce-cost.md)
- [Hochverfügbarkeit](https://www.gatellm.io/de/use-cases/high-availability.md)
- [Multi-Tenant-Isolation](https://www.gatellm.io/de/use-cases/multi-tenant.md)
- [Compliance & Audit](https://www.gatellm.io/de/use-cases/compliance-audit.md)
- [Fehlerbehebung nach Symptom](https://www.gatellm.io/de/use-cases/troubleshooting.md)
- [Gemischter Multi-Vendor-Modellstack](https://www.gatellm.io/de/use-cases/mixed-model-stack.md)
- [KI im Office selbst hosten](https://www.gatellm.io/de/use-cases/self-hosted-office-ai.md)
- [Token-Nutzung: Transparenz & Zuordnung](https://www.gatellm.io/de/use-cases/token-ops.md)
- [Token-FinOps: KI-Kosten zuordnen & steuern](https://www.gatellm.io/de/use-cases/token-finops.md)
- [MCP-Tool-Governance](https://www.gatellm.io/de/use-cases/mcp-tool-governance.md)
- [Websuche für jedes Modell](https://www.gatellm.io/de/use-cases/web-search-grounding.md)
- [Multi-Key-Rotation & Standby](https://www.gatellm.io/de/use-cases/multi-key-pooling.md)
- [Zugangskontrolle für verbundene Clients](https://www.gatellm.io/de/use-cases/client-admission-control.md)
- [Modellrichtlinie durchsetzen](https://www.gatellm.io/de/use-cases/enforce-model-policy.md)
- [Keine Modellwahl im Client](https://www.gatellm.io/de/use-cases/automatic-model-tiering.md)
- [Ein Protokoll, jedes Modell](https://www.gatellm.io/de/use-cases/one-protocol-any-model.md)
- [Office / Microsoft 365 Add-in](https://www.gatellm.io/de/office-addin.md)
- [Glossar](https://www.gatellm.io/de/glossary.md)
- [Modellkatalog](https://www.gatellm.io/de/models.md)
- [KI-Coding-Agents & Harnesses](https://www.gatellm.io/de/coding-agents.md)
- [Sicherheit & Compliance](https://www.gatellm.io/de/security.md)
