---
title: "LangChain avec des modèles hébergés en Europe"
description: "Connectez ChatOpenAI de LangChain à inference.eu avec base_url et faites tourner chaînes, agents et LangGraph sur des modèles open-weight traités dans l’UE."
canonical: "https://inference.eu/fr/integrations/langchain/"
language: "fr"
---

Frameworks · LangChain

# Utiliser LangChain avec des modèles open source hébergés dans l’UE

LangChain est un framework pour construire des applications et des agents sur des modèles de langage. Sa classe \`ChatOpenAI\` accepte une URL de base personnalisée : vos chaînes, agents à appels d’outils et workflows LangGraph tournent alors sur les modèles open-weight d’inference.eu, traités dans des centres de données européens.

[Contacter l'équipe](https://inference.eu/fr/contact/)[Configuration](#setup)

1.  01Format d'API: OpenAI
2.  02Centres de données dans l'UE
3.  03Couvert par un seul DPA

## Configuré en quelques minutes

1.  1

    Créez une clé API dans votre compte inference.eu et enregistrez-la sous `INFERENCE_EU_API_KEY`.

2.  2

    Installez l’intégration avec `pip install langchain-openai`, ou `npm install @langchain/openai` en JavaScript.

3.  3

    Créez `ChatOpenAI` avec `base_url` réglé sur l’URL de base d’inference.eu, `api_key` lue dans l’environnement et un identifiant inference.eu dans `model`.

4.  4

    Réglez `stream_usage=True` si vous avez besoin des compteurs de jetons en streaming.

5.  5

    Appelez `invoke` une fois pour vérifier la connexion, puis utilisez le modèle dans vos chaînes, agents ou graphes.

python

```
import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="qwen3-coder-480b-a35b-instruct",
    base_url="https://api.inference.eu/v1",
    api_key=os.environ["INFERENCE_EU_API_KEY"],
    stream_usage=True,
)

print(llm.invoke("Summarise GDPR Article 28 in two sentences.").content)

# LangChain.js:
# new ChatOpenAI({ model: "gpt-oss-120b", apiKey: process.env.INFERENCE_EU_API_KEY,
#                  configuration: { baseURL: "https://api.inference.eu/v1" } });
```

## Qu’est-ce que LangChain

LangChain est un framework open source en Python et JavaScript pour construire des applications sur des modèles de langage. Il fournit une interface commune pour les modèles de chat, les prompts, les outils, les retrievers et les parseurs de sortie ; sa fonction `create_agent` et la bibliothèque LangGraph font tourner des agents à appels d’outils et des workflows avec état.

Tout composant LangChain qui a besoin d’un modèle de chat accepte n’importe quel objet respectant cette interface. La classe `ChatOpenAI` de `langchain-openai` dialogue avec tout point d’accès au format OpenAI dès que vous définissez `base_url` : inference.eu s’insère ainsi dans vos chaînes et agents existants sans autre modification.

## Comment fonctionne la configuration

Passez `base_url` (l’URL de base d’inference.eu terminée par `/v1`), `api_key` et `model` à `ChatOpenAI`. En LangChain.js, l’URL se place sous `configuration: { baseURL }`. LangChain lit aussi `OPENAI_API_BASE` et `OPENAI_BASE_URL` si aucune URL n’est passée, mais des arguments explicites sont plus lisibles quand un projet utilise plusieurs fournisseurs.

Avec une URL de base personnalisée, LangChain n’active pas par défaut les compteurs de jetons en streaming : réglez `stream_usage=True`. Si votre code choisit les modèles depuis la configuration, vous pouvez aussi créer le modèle avec `init_chat_model("openai:<identifiant>", base_url=..., api_key=...)`.

## Quels modèles choisir

Pour la génération augmentée par la recherche, la synthèse et l’extraction, `gpt-oss-120b` est un choix par défaut rapide et performant. Pour les agents construits avec `create_agent` ou LangGraph qui enchaînent plusieurs outils, `qwen3-coder-480b-a35b-instruct`, `glm-5.3` et `kimi-k3` produisent des appels d’outils fiables.

`glm-5.3` et `kimi-k3` conviennent aussi aux longs contextes sur de gros documents et à la planification complexe. Pour l’extraction, utilisez `with_structured_output` avec un modèle Pydantic : LangChain valide le résultat. Les modèles étant de simples objets, chaque nœud d’un graphe peut avoir le sien, un modèle rapide pour le routage et un plus puissant pour le raisonnement.

## Dépannage

Une erreur 401 signifie que la clé manque ou que LangChain a lu un ancien `OPENAI_API_KEY` : passez `api_key` explicitement. Une erreur 404 vient le plus souvent d’un chemin en trop dans `base_url`, ou d’un identifiant de modèle inconnu chez inference.eu.

`ChatOpenAI` suit uniquement la spécification officielle d’OpenAI : les champs non standard comme `reasoning_content` des modèles de raisonnement ne sont pas conservés dans le message. Les outils intégrés ou paramètres propres à l’API Responses d’OpenAI font basculer `ChatOpenAI` vers cette API ; réglez `use_responses_api=False` et restez sur les fonctions de Chat Completions.

## Garder les données dans l’UE

Avec `base_url` pointant vers inference.eu, chaque prompt, document récupéré et résultat d’outil envoyé au modèle par vos chaînes est traité dans des centres de données de l’UE et ne sert jamais à l’entraînement. Nous signons un accord de sous-traitance au titre de l’article 28 du RGPD, publions la liste de nos sous-traitants et facturons en euros.

LangChain n’appelle que les services que vous configurez. Embeddings, bases vectorielles et traçage sont distincts : si vous activez le traçage LangSmith, prompts et sorties partent chez LangSmith selon ses propres conditions. Choisissez des options hébergées dans l’UE pour ces composants, ou laissez le traçage désactivé, pour que toute la chaîne reste en Europe.

## LangChain

Catégorie

Frameworks

Éditeur

LangChain

Format d'API

OpenAI

Traitement

Centres de données dans l'UE

Site web

[www.langchain.com](https://www.langchain.com/)

Documentation

[docs.langchain.com](https://docs.langchain.com/oss/python/integrations/chat/openai)

## LangChain : questions fréquentes

Les questions que nous posent le plus les achats, les développeurs et les juristes. Il en manque une ? Posez-la-nous directement.

Créez \`ChatOpenAI\` avec \`base\_url\`, \`api\_key\` et \`model\`. Tous les composants LangChain qui acceptent un modèle de chat, y compris les agents et les nœuds LangGraph, utilisent alors ce point d’accès. En LangChain.js, passez l’URL dans \`configuration.baseURL\`.

Qwen3 Coder 480B, GLM-5.3 et Kimi K3 produisent des appels d’outils fiables pour \`create\_agent\` et LangGraph. gpt-oss-120b convient aux réponses RAG rapides, aux résumés et aux étapes de routage, où la vitesse compte plus que la profondeur de raisonnement.

Avec une URL de base personnalisée, LangChain laisse par défaut l’usage en streaming désactivé, car de nombreux points d’accès hors OpenAI ne le gèrent pas. inference.eu le gère : réglez \`stream\_usage=True\` sur \`ChatOpenAI\` pour recevoir ces métadonnées en fin de flux.

\`ChatOpenAI\` ne conserve que les champs définis dans la spécification officielle d’OpenAI ; les champs supplémentaires comme \`reasoning\_content\` sont ignorés. La réponse finale n’est pas affectée. Si vous avez besoin du raisonnement, appelez l’API directement avec le SDK OpenAI et lisez la réponse brute.

Oui. Appelez \`init\_chat\_model("openai:gpt-oss-120b", base\_url=..., api\_key=...)\`. Le préfixe \`openai\` sélectionne \`ChatOpenAI\` et les arguments supplémentaires le dirigent vers inference.eu. C’est pratique lorsque le nom du modèle provient de la configuration ou d’une variable.

Oui. Passez un modèle Pydantic ou un schéma JSON à \`with\_structured\_output\` : LangChain demande une sortie structurée et valide le résultat. Testez votre schéma avec le modèle choisi et gardez des champs simples pour obtenir les résultats les plus fiables.

\`ChatOpenAI\` bascule vers l’API Responses quand vous utilisez des fonctions qui n’existent que là, comme les outils intégrés d’OpenAI. Restez sur les fonctions de Chat Completions et réglez \`use\_responses\_api=False\` pour que chaque requête aille vers \`/chat/completions\` chez inference.eu.

La configuration de cette page concerne les modèles de chat. Pour les embeddings, choisissez une intégration dont le traitement des données répond à vos exigences, idéalement hébergée dans l’UE, pour que documents et requêtes restent en Europe avec vos requêtes de chat.

Seulement si vous activez le traçage avec \`LANGSMITH\_TRACING=true\` et une clé LangSmith. Prompts, sorties et appels d’outils partent alors chez LangSmith selon ses conditions. Laissez le traçage désactivé, ou utilisez une solution hébergée dans l’UE, pour garder les données en Europe.

Oui. Chaque nœud peut utiliser son propre objet modèle. Pour que tout le traitement des modèles reste dans l’UE, utilisez des modèles inference.eu pour chaque nœud, en confiant le routage à un modèle rapide et les étapes de raisonnement à un modèle plus puissant.

[Poser une question](https://inference.eu/fr/contact/)

## Pages liées

[Toutes les intégrations](https://inference.eu/fr/integrations/)

-   [LlamaIndexConnectez LlamaIndex à inference.eu avec la classe OpenAILike et faites tourner vos pipelines RAG et agents sur des modèles open-weight traités dans l’UE.Frameworks](https://inference.eu/fr/integrations/llamaindex/)
-   [CrewAIFaites tourner vos agents et crews CrewAI sur des modèles open-weight traités dans l’UE en donnant à la classe LLM l’URL de base et la clé d’inference.eu.Frameworks](https://inference.eu/fr/integrations/crewai/)
-   [OpenAI SDK (Python and JavaScript)Pointez le SDK OpenAI officiel pour Python ou JavaScript vers inference.eu avec base\_url et une clé API, et appelez des modèles open-weight traités dans l’UE.SDK](https://inference.eu/fr/integrations/openai-sdk/)
-   [HaystackPointez l’OpenAIChatGenerator de Haystack vers inference.eu avec api\_base\_url et faites tourner RAG et agents sur des modèles open-weight traités dans l’UE.Frameworks](https://inference.eu/fr/integrations/haystack/)

## Faites passer vos charges IA sur une infrastructure européenne

Dites-nous quels modèles vous utilisez et votre volume approximatif. Nous répondons sous un jour ouvré avec un tarif et la suite.

-   Réponse sous un jour ouvré
-   Tarif adapté à votre volume
-   DPA prêt à signer
