---
title: "SDK Anthropic avec des modèles hébergés en Europe"
description: "Pointez le SDK Anthropic officiel pour Python ou TypeScript vers inference.eu et appelez des modèles open-weight traités dans l’UE via l’API Messages."
canonical: "https://inference.eu/fr/integrations/anthropic-sdk/"
language: "fr"
---

SDK · Anthropic SDK (Python and TypeScript)

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

inference.eu accepte le format Anthropic Messages en plus du format OpenAI. Si votre application repose sur le SDK Anthropic officiel, vous gardez ce code, changez l’URL de base et la clé, et le faites tourner sur des modèles open-weight traités dans des centres de données européens.

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

1.  01Format d'API: Anthropic Messages
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 le SDK avec `pip install anthropic` ou `npm install @anthropic-ai/sdk`.

3.  3

    Créez le client avec `base_url` (Python) ou `baseURL` (TypeScript) réglé sur l’hôte d’inference.eu, sans le `/v1` final.

4.  4

    Passez votre clé dans `api_key` et remplacez le nom du modèle par un identifiant inference.eu, par exemple `kimi-k3`.

5.  5

    Envoyez une courte requête `messages.create` pour vérifier la connexion, puis ajoutez le streaming ou les outils.

python

```
import os
from anthropic import Anthropic

# The Anthropic SDK adds /v1/messages itself, so drop the trailing /v1.
client = Anthropic(
    base_url="https://api.inference.eu/v1".removesuffix("/v1"),
    api_key=os.environ["INFERENCE_EU_API_KEY"],
)

message = client.messages.create(
    model="kimi-k3",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Summarise GDPR Article 28 in two sentences."}],
)
print(message.content[0].text)

# TypeScript:
# const client = new Anthropic({ baseURL: "https://api.inference.eu/v1".replace(/\/v1$/, ""), apiKey: process.env.INFERENCE_EU_API_KEY });
```

## Pourquoi utiliser le SDK Anthropic avec inference.eu

De nombreuses équipes ont d’abord construit leurs applications sur l’API Anthropic Messages, avec ses blocs de contenu, son champ dédié au prompt système et son format d’appel d’outils. Réécrire ce code pour une autre API prend du temps et comporte des risques. Comme inference.eu parle directement le format Messages, vous portez le même code sur des modèles open-weight sans changer la construction des requêtes ni la lecture des réponses.

Les SDK officiels continuent de gérer les nouvelles tentatives, les délais, les événements de streaming et les erreurs typées. Seuls le point d’accès, la clé et le nom du modèle changent : la migration reste courte et facile à relire.

## Comment fonctionne la configuration

Le SDK Anthropic ajoute lui-même `/v1/messages` à l’URL de base. Réglez donc `base_url` sur l’hôte d’inference.eu sans le `/v1` final ; l’exemple le retire avec `removesuffix`. En TypeScript, l’option s’appelle `baseURL`.

Passez votre clé dans `api_key`. Le SDK l’envoie dans l’en-tête `x-api-key`, accepté par inference.eu. Les deux SDK lisent aussi `ANTHROPIC_BASE_URL` et `ANTHROPIC_API_KEY` dans l’environnement si vous ne passez rien, ce qui aide pour les outils que vous ne pouvez pas modifier. Dans votre code, des arguments explicites avec `INFERENCE_EU_API_KEY` rendent le fournisseur évident.

## Quels modèles choisir

Indiquez l’identifiant inference.eu dans le champ `model`. `kimi-k3` et `glm-5.3` sont de bons choix généralistes pour les applications écrites pour l’API Messages : ils gèrent bien les longs prompts système, les conversations à plusieurs tours et les appels d’outils.

Pour la génération de code ou les agents qui modifient des fichiers, `qwen3-coder-480b-a35b-instruct` est une option solide. Pour la classification, l’extraction ou les gros volumes, `gpt-oss-120b` limite la latence. Comme seule la chaîne `model` change, vous pouvez envoyer la même requête à plusieurs modèles et comparer les résultats sur vos propres données.

## Dépannage

Une erreur 404 signifie presque toujours que l’URL de base se termine encore par `/v1`, si bien que le SDK appelle `/v1/v1/messages`. Retirez ce suffixe. Une `AuthenticationError` 401 indique une clé absente ou erronée ; vérifiez que vous ne lisez pas un ancien `ANTHROPIC_API_KEY`.

« Model not found » signifie que `model` contient encore un nom de modèle Claude au lieu d’un identifiant inference.eu. `max_tokens` est obligatoire dans l’API Messages et doit figurer dans chaque requête. Les fonctions propres à Claude, comme certains en-têtes bêta ou outils côté serveur, peuvent ne pas s’appliquer aux modèles open-weight : retirez-les si une requête est refusée.

## Garder les données dans l’UE

Avec l’URL de base réglée sur inference.eu, chaque requête envoyée par votre application via le SDK est traitée dans des centres de données de l’UE. Prompts et réponses 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.

Le SDK ne communique qu’avec l’URL de base configurée. Vérifiez que chaque client de votre code l’utilise, y compris ceux créés par des bibliothèques qui lisent `ANTHROPIC_BASE_URL`. Les services de journalisation, de traçage et d’évaluation de votre stack peuvent aussi stocker des prompts : vérifiez où ils conservent leurs données.

## Anthropic SDK (Python and TypeScript)

Catégorie

SDK

Éditeur

Anthropic

Format d'API

Anthropic Messages

Traitement

Centres de données dans l'UE

Site web

[github.com](https://github.com/anthropics/anthropic-sdk-python)

Documentation

[platform.claude.com](https://platform.claude.com/docs/en/api/sdks/python)

## Anthropic SDK (Python and TypeScript) : 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.

Oui. Passez \`base\_url\` et \`api\_key\` à la création du client et le SDK envoie toutes les requêtes à cette adresse. inference.eu implémente l’API Messages : \`messages.create\`, le streaming et les appels d’outils fonctionnent avec le même code et les mêmes types de réponse.

L’URL de base se termine sans doute encore par \`/v1\`. Le SDK ajoute lui-même \`/v1/messages\`, ce qui donne \`/v1/v1/messages\`. Réglez \`base\_url\` sur l’hôte sans le \`/v1\` final et la requête atteindra le bon chemin.

Oui. Les SDK Python et TypeScript lisent \`ANTHROPIC\_BASE\_URL\` et \`ANTHROPIC\_API\_KEY\` en l’absence de valeurs explicites. Définissez l’URL de base sans \`/v1\`. Dans votre propre code, des arguments explicites montrent plus clairement à quel fournisseur parle chaque client.

Kimi K3 et GLM-5.3 sont de bons remplaçants généralistes pour les applications construites sur l’API Messages. Qwen3 Coder 480B convient aux tâches de code, gpt-oss-120b à la classification et à l’extraction. Testez sur vos propres prompts avant de basculer le trafic de production.

Oui, pour les modèles qui les prennent en charge. Définissez \`tools\` avec \`input\_schema\` comme d’habitude et lisez les blocs \`tool\_use\` dans la réponse. Renvoyez les résultats sous forme de blocs \`tool\_result\` dans le message suivant, exactement comme avec Claude.

Oui. Utilisez \`client.messages.stream(...)\` ou passez \`stream=True\`, puis traitez les événements Messages habituels comme \`content\_block\_delta\` et \`message\_stop\`. La consommation de jetons arrive dans l’événement \`message\_delta\` en fin de flux, comme avec l’API d’Anthropic.

Le cœur de l’API Messages fonctionne : prompts système, messages à plusieurs tours, streaming et appels d’outils. Les fonctions liées aux modèles Claude, comme certains en-têtes bêta ou outils côté serveur, peuvent ne pas s’appliquer. Retirez-les si une requête est refusée.

Le SDK Anthropic envoie \`api\_key\` dans l’en-tête \`x-api-key\`, accepté par inference.eu. Si vous passez plutôt \`auth\_token\`, le SDK envoie un en-tête \`Authorization\` de type bearer, qui fonctionne aussi. Utilisez l’une des deux options, pas les deux à la fois.

Utilisez celui dont votre code dépend déjà. Les deux donnent accès aux mêmes modèles. Le format OpenAI est pris en charge par davantage d’outils tiers, si bien que les nouveaux projets partent souvent de là, mais inutile de réécrire un code qui fonctionne avec le SDK Anthropic.

Non. Le SDK n’envoie de requêtes qu’à l’URL de base configurée et ne contient aucune télémétrie. Veillez à ce qu’aucune autre partie de votre code ne crée un client avec l’URL par défaut d’Anthropic, par exemple à cause d’une variable d’environnement non définie.

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

## Pages liées

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

-   [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/)
-   [Claude CodeConfigurez Claude Code avec ANTHROPIC\_BASE\_URL pour utiliser des modèles open-weight traités dans des centres de données de l’UE, sans compte Anthropic.Agents de code](https://inference.eu/fr/integrations/claude-code/)
-   [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
