SDK native
Anthropic SDK
Gunakan TokenLab dengan Anthropic SDK untuk kompatibilitas Messages API native Claude
Gambaran Umum
TokenLab mendukung path native Anthropic Messages API, sehingga Anda dapat menggunakan Anthropic SDK resmi secara langsung untuk model Claude.
Untuk Anthropic SDK, gunakan https://api.tokenlab.sh sebagai base URL, tanpa menambahkan /v1 sendiri.
Di antara rute SDK yang didokumentasikan, ini adalah salah satu jalur TokenLab yang paling didukung untuk fitur native Claude.
Jenis: SDK native
Jalur utama: Anthropic-native
Tingkat dukungan: Jalur native yang kuat
Instalasi
pip install anthropicKonfigurasikan Client
from anthropic import Anthropic
client = Anthropic(
api_key="sk-your-tokenlab-key",
base_url="https://api.tokenlab.sh",
)Penggunaan Dasar
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)Streaming
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
}
}
]
}]
)Penggunaan Tool
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)Pemikiran Mendalam
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)Model Claude yang Direkomendasikan
| Model | Paling Cocok Untuk |
|---|---|
claude-opus-4-6 | Penalaran mendalam, analisis panjang |
claude-sonnet-4-6 | Coding, tugas assistant umum |
claude-haiku-4-5 | Respons cepat dan ringan |