---
title: "CrewAI avec des modèles hébergés en Europe"
description: "Faites 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."
canonical: "https://inference.eu/fr/integrations/crewai/"
language: "fr"
---

Frameworks · CrewAI

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

CrewAI est un framework Python qui orchestre des équipes d’agents IA partageant tâches et outils. Sa classe \`LLM\` accepte une URL de base compatible OpenAI personnalisée : chaque agent d’une crew peut ainsi tourner 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 CrewAI avec `pip install crewai`.

3.  3

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

4.  4

    Passez ce `LLM` à chaque `Agent` avec `llm=...`, ainsi qu’au manager de la crew si vous utilisez un processus hiérarchique.

5.  5

    Lancez `kickoff()` sur une petite tâche pour vérifier que chaque agent répond via inference.eu.

python

```
import os
from crewai import LLM, Agent, Crew, Task

llm = LLM(
    model="openai/kimi-k3",
    base_url="https://api.inference.eu/v1",
    api_key=os.environ["INFERENCE_EU_API_KEY"],
)

analyst = Agent(
    role="Contract analyst",
    goal="Find data protection obligations in supplier contracts",
    backstory="You review contracts for an EU procurement team.",
    llm=llm,
)

task = Task(
    description="List the processor obligations in this clause: {clause}",
    expected_output="A short bullet list",
    agent=analyst,
)

print(Crew(agents=[analyst], tasks=[task]).kickoff(inputs={"clause": "..."}))
```

## Qu’est-ce que CrewAI

CrewAI est un framework Python open source pour les systèmes multi-agents. Vous définissez des agents avec un rôle, un objectif et un contexte, vous leur donnez des outils et vous leur confiez des tâches au sein d’une crew, exécutée de façon séquentielle ou sous la direction d’un agent manager. Les Flows ajoutent un pilotage par événements pour la production.

Chaque agent dialogue avec un modèle de langage via la classe `LLM`. Son intégration OpenAI accepte une `base_url` et, si le nom du modèle ne fait pas partie de ceux d’OpenAI, CrewAI envoie la requête à ce point d’accès personnalisé. C’est ainsi que toute une crew tourne sur inference.eu.

## Comment fonctionne la configuration

Créez `LLM(model="openai/<identifiant>", base_url=..., api_key=...)`. Le préfixe `openai/` sélectionne le client compatible OpenAI de CrewAI et il est retiré avant l’envoi : inference.eu reçoit l’identifiant seul. `base_url` est l’URL de base d’inference.eu terminée par `/v1`.

Passez l’objet à chaque agent avec `llm=`. Un agent sans `llm` explicite se rabat sur le modèle par défaut de CrewAI : définissez-le donc partout, y compris `manager_llm` pour les crews hiérarchiques et `function_calling_llm` si vous l’utilisez. Dans les projets en YAML, définissez modèle et URL dans le code ou via les variables `MODEL` et `OPENAI_BASE_URL`.

## Quels modèles choisir

Les crews passent l’essentiel de leur temps à planifier, déléguer et appeler des outils : les modèles aux appels d’outils fiables, qui suivent bien les consignes, donnent les meilleurs résultats. `kimi-k3` et `glm-5.3` sont de bons choix par défaut pour les agents et managers qui coordonnent plusieurs étapes.

Pour les agents de recherche ou de rédaction qui résument de gros volumes, `glm-5.3` gère bien les longs contextes. Les agents de code tirent parti de `qwen3-coder-480b-a35b-instruct`. Pour les agents exécutants qui classent, extraient ou reformatent, `gpt-oss-120b` garde chaque étape rapide. Chaque agent peut recevoir son propre `LLM` : mélanger les modèles dans une crew est simple.

## Dépannage

Une erreur 401 signifie que la clé est erronée, ou qu’un agent sans `llm` explicite s’est rabattu sur le modèle par défaut et sur `OPENAI_API_KEY`. Définissez `llm=` pour chaque agent. Une erreur 404 vient le plus souvent d’un chemin en trop dans `base_url` ou d’un identifiant erroné.

Si CrewAI signale un fournisseur inconnu, vérifiez que le nom du modèle commence par `openai/`. Si un agent tourne en boucle sur un outil ou renvoie son raisonnement au lieu d’une réponse finale, choisissez un modèle aux appels d’outils plus solides ou abaissez `max_iter`. La mémoire et les sources de connaissances utilisent un embedder OpenAI par défaut : configurez-en un explicitement avant de les activer.

## Garder les données dans l’UE

Avec le `LLM` de chaque agent pointé vers inference.eu, les descriptions de tâches, le contexte et les résultats d’outils envoyés par votre crew sont traités dans des centres de données de l’UE et ne servent 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.

CrewAI collecte par défaut une télémétrie d’usage anonyme, sans prompts ni contenu des tâches ; réglez `CREWAI_DISABLE_TELEMETRY=true` pour la désactiver et laissez `share_crew` désactivé. Mémoire, sources de connaissances et outils ont leurs propres fournisseurs : choisissez des options hébergées dans l’UE pour garder toute la crew en Europe.

## CrewAI

Catégorie

Frameworks

Éditeur

CrewAI

Format d'API

OpenAI

Traitement

Centres de données dans l'UE

Site web

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

Documentation

[docs.crewai.com](https://docs.crewai.com/en/concepts/llms)

## CrewAI : 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 \`LLM(model="openai/<identifiant>", base\_url=..., api\_key=...)\` et passez-le à vos agents avec \`llm=\`. Les requêtes pour des identifiants que CrewAI ne reconnaît pas comme des modèles d’OpenAI partent vers la \`base\_url\` définie.

Ce préfixe indique à CrewAI d’utiliser son client compatible OpenAI. Il est retiré avant l’envoi : inference.eu reçoit l’identifiant seul, par exemple \`kimi-k3\`. Sans préfixe, CrewAI risque de déduire un autre fournisseur à partir du nom.

Kimi K3 et GLM-5.3 sont de bons choix par défaut pour les agents et managers qui planifient et appellent des outils. Qwen3 Coder 480B convient aux agents de code, et gpt-oss-120b aux agents exécutants qui classent ou reformatent rapidement du contenu.

Un agent sans \`llm\` explicite utilise le modèle par défaut de CrewAI. Définissez \`llm=\` pour chaque agent, ainsi que \`manager\_llm\` pour les crews hiérarchiques et \`function\_calling\_llm\` s’il est utilisé. Sans \`OPENAI\_API\_KEY\` dans l’environnement, un agent oublié échoue de façon visible.

La mémoire et les sources de connaissances nécessitent un embedder, qui utilise par défaut les embeddings d’OpenAI. Configurez avant activation un embedder dont l’hébergement répond à vos exigences. Le modèle de chat de chaque agent reste de toute façon chez inference.eu.

Oui. Définissez \`MODEL=openai/<identifiant>\`, \`OPENAI\_BASE\_URL\` avec l’URL de base d’inference.eu et \`OPENAI\_API\_KEY\` avec votre clé inference.eu. Cela convient aux projets CrewAI en YAML, même si des objets \`LLM\` explicites rendent le fournisseur plus lisible dans le code.

Par défaut, CrewAI collecte une télémétrie d’usage anonyme sans prompts, descriptions de tâches ni résultats. Des données détaillées ne sont partagées que si vous activez \`share\_crew\`. Réglez \`CREWAI\_DISABLE\_TELEMETRY=true\` pour désactiver complètement la télémétrie.

Le modèle ne suit pas de façon fiable le format d’outils et de réponse finale de CrewAI. Choisissez un modèle aux appels d’outils plus solides, comme Kimi K3 ou GLM-5.3, simplifiez les descriptions d’outils et limitez le nombre d’étapes avec \`max\_iter\` sur l’agent.

Oui. Créez un \`LLM\` par modèle, tous avec la même \`base\_url\` et la même clé, et passez le bon à chaque agent. Un schéma courant consiste à donner un modèle puissant au manager et au planificateur, et un modèle rapide aux agents exécutants.

Oui. Réglez \`stream=True\` sur le \`LLM\` pour recevoir les jetons au fil de leur génération. inference.eu diffuse au format Chat Completions standard, consommation de jetons comprise, que CrewAI utilise pour son suivi d’usage.

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

## Pages liées

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

-   [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/)
-   [Pydantic AIConnectez vos agents Pydantic AI à inference.eu avec OpenAICompatibleProvider et obtenez des sorties typées de modèles open-weight traités dans l’UE.Frameworks](https://inference.eu/fr/integrations/pydantic-ai/)
-   [LiteLLMAjoutez inference.eu au proxy ou au SDK Python LiteLLM avec le préfixe openai/ et dirigez les requêtes vers des modèles open-weight traités dans l’UE.Passerelles](https://inference.eu/fr/integrations/litellm/)

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