Passer au contenu principal

Vue d’ensemble

AI Sonar prend en charge le chemin natif de l’API Messages d’Anthropic, afin que vous puissiez utiliser directement le SDK Anthropic officiel pour les modèles Claude.
Pour le SDK Anthropic, utilisez https://api.aisonar.dev comme URL de base, sans ajouter vous-même /v1.
Type: SDK natifChemin principal: Anthropic-nativeNiveau de support: Chemin natif fort
Parmi les routes SDK documentées, c’est l’une des voies AI Sonar les mieux prises en charge pour les fonctionnalités natives de Claude.

Installation

pip install anthropic

Configurer le client

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-api-key",
    base_url="https://api.aisonar.dev",
)

Utilisation de base

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain AI Sonar in one sentence."}
    ]
)

print(message.content[0].text)

Diffusion en continu

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Write a short poem about coding."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

Vision

import base64

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "What's in this image?"},
            {
                "type": "image",
                "source": {
                    "type": "url",
                    "url": "https://example.com/image.jpg"
                }
            }
        ]
    }]
)

with open("image.png", "rb") as f:
    image_data = base64.b64encode(f.read()).decode()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Describe this image"},
            {
                "type": "image",
                "source": {
                    "type": "base64",
                    "media_type": "image/png",
                    "data": image_data
                }
            }
        ]
    }]
)

Utilisation des outils

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    tools=[{
        "name": "get_weather",
        "description": "Get the weather for a location",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {"type": "string"}
            },
            "required": ["location"]
        }
    }],
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}]
)

for block in message.content:
    if block.type == "tool_use":
        print(block.name)
        print(block.input)

Réflexion étendue

message = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{"role": "user", "content": "Solve this complex problem step by step."}]
)

for block in message.content:
    if block.type == "thinking":
        print(block.thinking)
    elif block.type == "text":
        print(block.text)

Modèles Claude recommandés

ModèleIdéal pour
claude-opus-4-6Raisonnement approfondi, analyse longue
claude-sonnet-4-6Codage, tâches générales d’assistant
claude-haiku-4-5Réponses rapides et légères

Dépannage

  • Utilisez https://api.aisonar.dev
  • N’ajoutez pas manuellement /v1 lors de la configuration du SDK Anthropic
  • Vérifiez que votre clé API AI Sonar commence par sk-
  • Confirmez que la clé est active dans le tableau de bord AI Sonar
  • Laissez le SDK Anthropic gérer l’en-tête d’authentification au lieu d’ajouter manuellement des en-têtes personnalisés
  • Vérifiez exactement le nom du modèle Claude
  • Consultez la disponibilité actuelle dans le catalogue de modèles AI Sonar