TokenLab

SDK natifs

SDK Anthropic

Utilisez TokenLab avec le SDK Anthropic pour une compatibilité native avec l'API Messages de Claude

Vue d’ensemble

TokenLab 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.tokenlab.sh comme URL de base, sans ajouter vous-même /v1.

Parmi les routes SDK documentées, c'est l'une des voies TokenLab 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-tokenlab-key",
    base_url="https://api.tokenlab.sh",
)

Utilisation de base

message = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Reply with: Connected to TokenLab."}
    ]
)

print(message.content[0].text)

Diffusion en continu

with client.messages.stream(
    model="claude-sonnet-5",
    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-5",
    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-5",
    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-5",
    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-5",
    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

Sur cette page