Skip to content

Ollama est compatible avec l'API Messages d'Anthropic pour vous aider à connecter vos applications existantes à Ollama, y compris des outils comme Claude Code.

Utilisation

Variables d'environnement

Pour utiliser Ollama avec des outils qui attendent l'API Anthropic (comme Claude Code), définissez ces variables d'environnement :

shell
export ANTHROPIC_AUTH_TOKEN=ollama  # obligatoire mais ignoré
export ANTHROPIC_BASE_URL=http://localhost:11434

Exemple simple de /v1/messages

Exemple de streaming

Exemple d'appel d'outils

Utilisation avec Claude Code

Claude Code peut être configuré pour utiliser Ollama comme backend.

Modèles recommandés

Pour les cas d'usage liés au code, des modèles comme glm-4.7, minimax-m2.1 et qwen3-coder sont recommandés.

Téléchargez un modèle avant de l'utiliser :

shell
ollama pull qwen3-coder

Note : Qwen 3 Coder est un modèle de 30 milliards de paramètres nécessitant au moins 24 Go de VRAM pour fonctionner correctement. Davantage de mémoire est nécessaire pour des longueurs de contexte plus importantes.

shell
ollama pull glm-4.7:cloud

Configuration rapide

shell
ollama launch claude

Cela vous invitera à sélectionner un modèle, configurera Claude Code automatiquement et le lancera. Pour configurer sans lancer :

shell
ollama launch claude --config

Configuration manuelle

Définissez les variables d'environnement et exécutez Claude Code :

shell
ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 claude --model qwen3-coder

Ou définissez les variables d'environnement dans votre profil de shell :

shell
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434

Exécutez ensuite Claude Code avec n'importe quel modèle Ollama :

shell
claude --model qwen3-coder

Points de terminaison

/v1/messages

Fonctionnalités prises en charge

  • [x] Messages
  • [x] Streaming
  • [x] Instructions système
  • [x] Conversations multi-tours
  • [x] Vision (images)
  • [x] Outils (appel de fonctions)
  • [x] Résultats d'outils
  • [x] Réflexion / réflexion étendue

Champs de requête pris en charge

  • [x] model
  • [x] max_tokens
  • [x] messages
    • [x] Contenu textuel
    • [x] Contenu image (base64)
    • [x] Tableau de blocs de contenu
    • [x] Blocs tool_use
    • [x] Blocs tool_result
    • [x] Blocs thinking
  • [x] system (chaîne de caractères ou tableau)
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] top_k
  • [x] stop_sequences
  • [x] tools
  • [x] thinking
  • [ ] tool_choice
  • [ ] metadata

Champs de réponse pris en charge

  • [x] id
  • [x] type
  • [x] role
  • [x] model
  • [x] content (blocs texte, tool_use, thinking)
  • [x] stop_reason (end_turn, max_tokens, tool_use)
  • [x] usage (input_tokens, output_tokens)

Événements de streaming

  • [x] message_start
  • [x] content_block_start
  • [x] content_block_delta (text_delta, input_json_delta, thinking_delta)
  • [x] content_block_stop
  • [x] message_delta
  • [x] message_stop
  • [x] ping
  • [x] error

Modèles

Ollama prend en charge à la fois des modèles locaux et des modèles cloud.

Modèles locaux

Téléchargez un modèle local avant de l'utiliser :

shell
ollama pull qwen3-coder

Modèles locaux recommandés :

  • qwen3-coder - Excellent pour les tâches de code
  • gpt-oss:20b - Modèle généraliste performant

Modèles cloud

Les modèles cloud sont disponibles immédiatement sans téléchargement préalable :

  • glm-4.7:cloud - Modèle cloud haute performance
  • minimax-m2.1:cloud - Modèle cloud rapide

Noms de modèles par défaut

Pour les outils qui s'appuient sur des noms de modèles Anthropic par défaut comme claude-3-5-sonnet, utilisez ollama cp pour copier un nom de modèle existant :

shell
ollama cp qwen3-coder claude-3-5-sonnet

Par la suite, ce nouveau nom de modèle peut être spécifié dans le champ model :

shell
curl http://localhost:11434/v1/messages \
    -H "Content-Type: application/json" \
    -d '{
        "model": "claude-3-5-sonnet",
        "max_tokens": 1024,
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

Différences avec l'API Anthropic

Différences de comportement

  • La clé API est acceptée mais non validée
  • L'en-tête anthropic-version est accepté mais non utilisé
  • Les comptages de tokens sont des approximations basées sur le tokenizer du modèle sous-jacent

Non pris en charge

Les fonctionnalités suivantes de l'API Anthropic ne sont pas actuellement prises en charge :

FonctionnalitéDescription
/v1/messages/count_tokensPoint de terminaison de comptage de tokens
tool_choiceForcer l'utilisation d'un outil spécifique ou désactiver les outils
metadataMétadonnées de requête (user_id)
Mise en cache des promptsBlocs cache_control pour la mise en cache des préfixes
API Batches/v1/messages/batches pour le traitement de lots asynchrone
CitationsBlocs de contenu citations
Support PDFBlocs de contenu document avec des fichiers PDF
Erreurs envoyées par le serveurÉvénements error pendant le streaming (les erreurs renvoient un statut HTTP)

Prise en charge partielle

FonctionnalitéStatut
Contenu imageImages base64 prises en charge ; images par URL non prises en charge
Réflexion étenduePrise en charge basique ; budget_tokens est accepté mais non appliqué