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 anthropicConfigurer 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èle | Idéal pour |
|---|---|
claude-opus-4-6 | Raisonnement approfondi, analyse longue |
claude-sonnet-4-6 | Codage, tâches générales d’assistant |
claude-haiku-4-5 | Réponses rapides et légères |