# Intégrations SDK et frameworks - GateLLM

> Connectez n’importe quel SDK ou framework à GateLLM : OpenAI, Anthropic, Gemini, DashScope, LangChain, LlamaIndex, CrewAI, Vercel AI SDK, OpenAI Agents SDK, Ollama et plus de 30 autres — un seul remplacement de base_url, pièges par SDK inclus.

Canonique: https://www.gatellm.io/fr/integrations/

## Intégrations SDK et frameworks
Chaque SDK se connecte à GateLLM en trois étapes identiques. Trouvez votre SDK, notez sa convention de base_url et son piège, puis copiez le schéma.
La passerelle est orientée protocoles : quel que soit le SDK que vous utilisez, tant qu’il parle OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP, pointer son base_url vers la passerelle et remplacer la clé par une clé d’accès vous permet d’appeler n’importe quel modèle configuré — y compris des appels inter-protocoles vers les modèles d’autres fournisseurs.
## Fonctionne avec le SDK que vous avez déjà
Pointez n’importe quel SDK ou framework vers la passerelle en une ligne. OpenAI, Anthropic, Gemini et DashScope se connectent nativement ; LangChain, LlamaIndex, CrewAI, Vercel AI SDK et plus de 30 autres via le même remplacement de base_url.
### Pointer base_url vers la passerelle
Par défaut https://your-gateway.gatellm.io — la présence de /v1 dépend du SDK (chaque exemple donne la valeur exacte).
### Remplacer par une clé d’accès à la passerelle
Ce n’est pas une clé amont sk-… — la même clé d’accès s’insère dans l’en-tête attendu par votre SDK.
### Utiliser le nom de modèle de la passerelle
Celui que vous avez configuré dans la console — pas le nom officiel du fournisseur.
```
# 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 · générique
- Le préfixe Bearer est insensible à la casse

### `x-api-key: <key>`
- SDK / framework: SDK Anthropic
- Authorization est également accepté

### `x-goog-api-key: <key>`
- SDK / framework: SDK Gemini
- Authorization est également accepté

## Matrice de sélection des SDK

### SDK officiels des fournisseurs
Les SDK OpenAI / Anthropic / Google se connectent nativement — seul le base_url change
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| 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 |

### Natif DashScope
Texte, image, vidéo asynchrone, embedding et rerank via un seul point de terminaison
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| DashScope SDK | Python | DashScope | https://docs.gatellm.io/en/quickstart/dashscope |

### SDK et passerelles unifiés
Vercel AI SDK, LiteLLM, Portkey, Semantic Kernel, Spring AI
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| 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 |

### Frameworks d’orchestration
LangChain, LlamaIndex, CrewAI, AutoGen, DSPy, Haystack
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| 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 |

### SDK d’agents
OpenAI Agents, Claude Agent, Pydantic AI, ADK, Mastra
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| 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 |

### Temps réel et audio
Voix WebSocket en temps réel + ASR / TTS openai_audio
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| 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 |

### Local / auto-hébergé
Ollama, vLLM, llama.cpp comme amonts — conservez n’importe quel SDK client
| SDK / framework | Langage | Protocole | Docs |
| --- | --- | --- | --- |
| 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 |

## Pièges
### Le nom du modèle doit correspondre à la configuration de la passerelle
Ni le nom officiel du fournisseur, ni l’ID du modèle amont — celui que vous lui avez donné dans la console. Un nom erroné → 404 model_not_found.

### La présence de /v1 dans base_url varie selon le SDK
Le SDK OpenAI prend /v1 ; le SDK Anthropic prend la racine (il ajoute /v1/messages) ; createAnthropic du Vercel AI SDK prend /v1 (il ajoute /messages). Se tromper ajoute ou supprime un segment de chemin.

### Les champs sont traduits et contraints d’un protocole à l’autre
Un max_tokens peut devenir max_output_tokens avec une borne inférieure (par exemple ≥16) lorsque l’amont est un modèle au protocole Responses — une valeur trop petite → 400.

### Les blocs de réflexion sont encapsulés par la passerelle
Le contenu et les signatures de réflexion de Claude / Gemini sont transmis ou supprimés — prenez l’élément type == "text" du tableau content, ne supposez pas que content[0] est du texte.

### Le SDK OpenAI Agents utilise /v1/responses par défaut
Il appelle l’API Responses, pas Chat Completions. Si l’amont est openai (Chat), basculez explicitement avec OpenAIChatCompletionsModel ; si c’est openai_response, un nom de modèle sous forme de chaîne fonctionne tel quel.

### LlamaIndex valide le nom du modèle par rapport à une liste d’autorisation
La classe OpenAI n’accepte que les familles qu’elle reconnaît et rejette les noms personnalisés de passerelle — utilisez OpenAILike (Python) ou déclarez explicitement les informations du modèle.

### CrewAI est piloté par LiteLLM en interne
base_url n’est pas un paramètre du framework — c’est la variable d’environnement OPENAI_API_BASE, et le modèle a besoin du préfixe openai/.

### AutoGen exige un model_info explicite
Les noms de modèles inconnus produisent une erreur sur la liste par défaut — déclarez model_info explicitement pour contourner la vérification.

### Le SDK Google GenAI pointe vers la racine
base_url passe par http_options.base_url (sans /v1) et la clé s’insère dans l’en-tête x-goog-api-key.

## FAQ
### GateLLM fonctionne-t-il avec LangChain / LlamaIndex / CrewAI ?
Oui — pointez le modèle de chat sous-jacent de chaque framework vers le point de terminaison compatible OpenAI de la passerelle. Chacun a un point d’entrée spécifique pour « changer base_url » : LangChain utilise ChatOpenAI(base_url=…), LlamaIndex utilise OpenAILike, CrewAI définit la variable d’environnement OPENAI_API_BASE (c’est LiteLLM sous le capot).
### Puis-je utiliser le Claude Agent SDK ou Claude Code via GateLLM ?
Oui. Ils lisent les variables d’environnement ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN — pointez-les vers la racine de la passerelle et utilisez une clé d’accès à la passerelle. Nommez le modèle de la passerelle exactement comme l’ID demandé par l’agent (ou alignez via ANTHROPIC_MODEL).
### Comment connecter le SDK OpenAI Agents ?
Pointez son client OpenAI vers la passerelle et définissez le modèle. Notez qu’il utilise /v1/responses par défaut — si votre amont est un modèle au protocole Chat, basculez explicitement avec OpenAIChatCompletionsModel. Désactivez le traçage (set_tracing_disabled) pour que les traces n’atteignent pas aussi la passerelle.
### GateLLM peut-il exposer Ollama / vLLM / llama.cpp ?
Oui — configurez-les comme amonts compatibles OpenAI et conservez n’importe quel SDK client. La passerelle ajoute le routage, le repli et la gouvernance au-dessus de vos modèles auto-hébergés.
### Le base_url inclut-il /v1 ou non ?
Cela dépend du SDK : le SDK OpenAI prend /v1 ; le SDK Anthropic prend la racine (il ajoute /v1/messages) ; createAnthropic du Vercel AI SDK prend /v1 (il ajoute /messages). La documentation donne la valeur exacte pour chaque SDK.
### Quelle différence entre une clé d’accès à la passerelle et une clé amont ?
La clé d’accès à la passerelle est ce que votre client présente, dans l’en-tête utilisé par votre SDK (Authorization, x-api-key ou x-goog-api-key). Les clés des fournisseurs amont restent dans la passerelle et ne sont jamais exposées à votre client.

## Voir aussi
- [Accueil](https://www.gatellm.io/fr/index.md)
- [Tarifs](https://www.gatellm.io/fr/pricing.md)
- [Calculateur de coûts](https://www.gatellm.io/fr/calculator.md)
- [À propos](https://www.gatellm.io/fr/about.md)
- [Réserver une démo](https://www.gatellm.io/fr/demo.md)
- [FAQ](https://www.gatellm.io/fr/faq.md)
- [Comparer les passerelles IA](https://www.gatellm.io/fr/compare.md)
- [Comparer LiteLLM](https://www.gatellm.io/fr/compare/litellm.md)
- [Comparer OpenRouter](https://www.gatellm.io/fr/compare/openrouter.md)
- [Comparer Alibaba Cloud AI Gateway](https://www.gatellm.io/fr/compare/alibaba-cloud.md)
- [Comparer Azure API Management](https://www.gatellm.io/fr/compare/azure-apim.md)
- [Comparer Apigee](https://www.gatellm.io/fr/compare/apigee.md)
- [Comparer Cloudflare AI Gateway](https://www.gatellm.io/fr/compare/cloudflare.md)
- [Comparer Kong AI Gateway](https://www.gatellm.io/fr/compare/kong.md)
- [Comparer Portkey](https://www.gatellm.io/fr/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/fr/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/fr/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/fr/compare/litellm-vs-portkey.md)
- [Cas d’usage](https://www.gatellm.io/fr/use-cases.md)
- [Réduire le coût des LLM](https://www.gatellm.io/fr/use-cases/reduce-cost.md)
- [Haute disponibilité](https://www.gatellm.io/fr/use-cases/high-availability.md)
- [Isolation multi-tenant](https://www.gatellm.io/fr/use-cases/multi-tenant.md)
- [Conformité et audit](https://www.gatellm.io/fr/use-cases/compliance-audit.md)
- [Dépannage par symptôme](https://www.gatellm.io/fr/use-cases/troubleshooting.md)
- [Pile de modèles multi-fournisseurs](https://www.gatellm.io/fr/use-cases/mixed-model-stack.md)
- [Héberger l’IA en interne dans Office](https://www.gatellm.io/fr/use-cases/self-hosted-office-ai.md)
- [Visibilité et attribution des tokens](https://www.gatellm.io/fr/use-cases/token-ops.md)
- [Token FinOps : allocation et contrôle des coûts IA](https://www.gatellm.io/fr/use-cases/token-finops.md)
- [Gouvernance des outils MCP](https://www.gatellm.io/fr/use-cases/mcp-tool-governance.md)
- [Recherche web pour chaque modèle](https://www.gatellm.io/fr/use-cases/web-search-grounding.md)
- [Rotation et secours multi-clés](https://www.gatellm.io/fr/use-cases/multi-key-pooling.md)
- [Contrôle des clients connectés](https://www.gatellm.io/fr/use-cases/client-admission-control.md)
- [Imposer la politique d’usage des modèles](https://www.gatellm.io/fr/use-cases/enforce-model-policy.md)
- [Aucun choix de modèle côté client](https://www.gatellm.io/fr/use-cases/automatic-model-tiering.md)
- [Un protocole, n’importe quel modèle](https://www.gatellm.io/fr/use-cases/one-protocol-any-model.md)
- [Complément Office / Microsoft 365](https://www.gatellm.io/fr/office-addin.md)
- [Glossaire](https://www.gatellm.io/fr/glossary.md)
- [Catalogue de modèles](https://www.gatellm.io/fr/models.md)
- [Agents de codage IA et harnais](https://www.gatellm.io/fr/coding-agents.md)
- [Sécurité et conformité](https://www.gatellm.io/fr/security.md)
