---
title: "Pydantic AI avec des modèles hébergés en Europe"
description: "Connectez vos agents Pydantic AI à inference.eu avec OpenAICompatibleProvider et obtenez des sorties typées de modèles open-weight traités dans l’UE."
canonical: "https://inference.eu/fr/integrations/pydantic-ai/"
language: "fr"
---

Frameworks · Pydantic AI

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

Pydantic AI est un framework Python pour agents, créé par l’équipe de Pydantic, centré sur des outils typés et des sorties validées. Son \`OpenAICompatibleProvider\` se connecte à tout point d’accès compatible OpenAI : vos agents tournent ainsi 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 la bibliothèque avec `pip install pydantic-ai-slim[openai]` ou le paquet complet `pydantic-ai`.

3.  3

    Créez un `OpenAICompatibleProvider` nommé `inference-eu`, avec `base_url` réglé sur l’URL de base d’inference.eu et votre clé.

4.  4

    Enveloppez-le dans `OpenAIChatModel` avec un identifiant inference.eu et passez le modèle à `Agent`.

5.  5

    Exécutez l’agent avec `run_sync` ou `run` et vérifiez la sortie typée.

python

```
import os
from pydantic import BaseModel
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai_compatible import OpenAICompatibleProvider

model = OpenAIChatModel(
    "glm-5.3",
    provider=OpenAICompatibleProvider(
        "inference-eu",
        base_url="https://api.inference.eu/v1",
        api_key=os.environ["INFERENCE_EU_API_KEY"],
    ),
)

class Invoice(BaseModel):
    supplier: str
    total_eur: float

agent = Agent(model, output_type=Invoice)
print(agent.run_sync("Supplier: Acme GmbH, total due 1.240,50 EUR").output)
```

## Qu’est-ce que Pydantic AI

Pydantic AI est un framework Python open source pour construire des agents et des fonctionnalités appuyées sur des modèles. Vous déclarez les outils comme des fonctions Python typées et décrivez la sortie attendue avec un modèle Pydantic ; le framework gère le dialogue avec le modèle, les appels d’outils, les nouvelles tentatives en cas d’erreur de validation et le streaming.

Il prend en charge de nombreux fournisseurs. Pour les services sans intégration dédiée, la voie documentée associe `OpenAICompatibleProvider` à `OpenAIChatModel`, qui parle le format Chat Completions. C’est ainsi que vous reliez Pydantic AI à inference.eu sans changer le code de vos agents.

## Comment fonctionne la configuration

`OpenAICompatibleProvider` prend un nom, `base_url` (l’URL de base d’inference.eu terminée par `/v1`) et `api_key`. Gardez un nom stable, par exemple `inference-eu` : Pydantic AI l’enregistre sur chaque réponse et s’en sert pour décider quelles données des tours précédents peuvent être renvoyées.

`OpenAIChatModel` reçoit l’identifiant inference.eu et le fournisseur. Préférez-le à `OpenAIResponsesModel`, car Chat Completions est le format le plus largement pris en charge. Évitez `OpenAIProvider` avec une URL personnalisée : il présume des modèles et fonctions propres à OpenAI. En cas de souci, ajustez l’`OpenAIModelProfile` passé dans `profile`.

## Quels modèles choisir

Pydantic AI s’appuie sur les appels d’outils pour les sorties structurées comme pour vos propres outils : les modèles aux appels d’outils fiables donnent les meilleurs résultats. `glm-5.3` et `kimi-k3` sont de bons choix par défaut pour des agents dotés de plusieurs outils ou de types de sortie complexes, et respectent bien les schémas imbriqués.

Pour l’extraction, la classification et autres appels typés rapides, `gpt-oss-120b` limite la latence. Pour les agents qui génèrent ou relisent du code, utilisez `qwen3-coder-480b-a35b-instruct`. Vous pouvez créer plusieurs modèles sur le même fournisseur et les attribuer à différents agents, par exemple un agent de tri rapide qui passe la main à un spécialiste plus puissant.

## Dépannage

Une erreur 401 signifie que la clé est absente ou erronée. 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.

Si l’agent lève une erreur après plusieurs tentatives de validation de la sortie, simplifiez le modèle de sortie ou augmentez `output_retries`, et choisissez un modèle aux appels d’outils solides. Si les définitions d’outils sont refusées, réglez `openai_supports_strict_tool_definition=False` dans le profil. Si une requête échoue à cause de plusieurs messages système, réglez `openai_chat_supports_multiple_system_messages=False`.

## Garder les données dans l’UE

Avec le fournisseur pointé vers inference.eu, chaque prompt, résultat d’outil et sortie échangé entre vos agents et le modèle 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.

Pydantic AI n’appelle que le fournisseur configuré. Il s’intègre à OpenTelemetry, et Logfire peut enregistrer prompts et sorties si vous activez l’instrumentation : vérifiez où votre outil de traçage stocke ces données. Les outils appelés par vos agents, comme des API de recherche, reçoivent aussi des données selon leurs propres conditions.

## Pydantic AI

Catégorie

Frameworks

Éditeur

Pydantic

Format d'API

OpenAI

Traitement

Centres de données dans l'UE

Site web

[pydantic.dev](https://pydantic.dev/docs/ai/overview/)

Documentation

[pydantic.dev](https://pydantic.dev/docs/ai/models/compatible-apis/)

## Pydantic AI : 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 un \`OpenAICompatibleProvider\` avec un nom, \`base\_url\` et \`api\_key\`, enveloppez-le dans \`OpenAIChatModel\` avec l’identifiant du modèle, puis passez le modèle à \`Agent\`. C’est la voie documentée pour les services sans fournisseur Pydantic AI dédié.

Utilisez \`OpenAICompatibleProvider\`. \`OpenAIProvider\` accepte aussi une \`base\_url\`, mais il est prévu pour OpenAI ou un proxy transparent vers OpenAI, et présume des fonctions propres à OpenAI. Le fournisseur compatible applique un profil adapté aux autres services.

GLM-5.3 et Kimi K3 sont de bons choix par défaut pour les agents dotés de plusieurs outils ou de types de sortie imbriqués. gpt-oss-120b convient à l’extraction et à la classification rapides, et Qwen3 Coder 480B aux agents qui travaillent sur du code.

Oui. Réglez \`output\_type\` sur un modèle Pydantic et l’agent renvoie une instance validée. Par défaut, Pydantic AI utilise pour cela les appels d’outils et relance la requête avec l’erreur de validation si la première réponse ne respecte pas le schéma.

Le modèle n’a pas produit de sortie valide dans le nombre de tentatives autorisé. Simplifiez le modèle de sortie, ajoutez des descriptions de champs, augmentez \`output\_retries\` ou choisissez un modèle aux appels d’outils plus solides, comme GLM-5.3 ou Kimi K3.

Oui. Utilisez \`agent.run\_stream(...)\` pour diffuser du texte, ou une sortie structurée partiellement validée au fil de son arrivée. inference.eu diffuse les jetons au format Chat Completions standard attendu par \`OpenAIChatModel\`.

Pydantic AI enregistre ce nom sur chaque réponse et s’en sert pour décider quelles données des réponses précédentes peuvent être renvoyées au service. Un nom fixe comme \`inference-eu\` garde l’historique des messages cohérent d’une exécution à l’autre et dans les conversations enregistrées.

Utilisez \`OpenAIChatModel\`. Chat Completions est le format pris en charge par tous les modèles d’inference.eu et celui que Pydantic AI recommande pour les services compatibles. Le code de vos agents reste identique dans les deux cas ; seule la classe de modèle change.

Non. Les outils sont de simples fonctions Python dont Pydantic AI génère les schémas. Si un modèle refuse les définitions d’outils strictes, réglez \`openai\_supports\_strict\_tool\_definition=False\` dans le profil ; les outils eux-mêmes restent inchangés.

Pas sans votre accord. Pydantic AI n’appelle que le fournisseur configuré. Si vous activez Logfire ou un autre exportateur OpenTelemetry, prompts et sorties peuvent y être enregistrés : choisissez où ces données seront stockées avant de l’activer.

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

## Pages liées

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

-   [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/)
-   [LangChainConnectez 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.Frameworks](https://inference.eu/fr/integrations/langchain/)

## 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
