TokenLab

SDK gốc

Anthropic SDK

Sử dụng TokenLab với Anthropic SDK để tương thích với Messages API gốc của Claude

Tổng quan

TokenLab hỗ trợ đường dẫn Messages API gốc của Anthropic, vì vậy bạn có thể sử dụng trực tiếp Anthropic SDK chính thức cho các model Claude.

Đối với Anthropic SDK, hãy sử dụng https://api.tokenlab.sh làm base URL, không tự thêm /v1.

Loại: SDK native

Đường chính: Anthropic-native

Mức hỗ trợ: Đường native mạnh

Trong số các tuyến SDK được tài liệu hóa, đây là một trong những đường dẫn TokenLab được hỗ trợ mạnh nhất cho các tính năng gốc của Claude.

Cài đặt

pip install anthropic

Cấu hình Client

from anthropic import Anthropic

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

Cách sử dụng cơ bản

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)

Phát trực tuyến

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)

Thị giác

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
                }
            }
        ]
    }]
)

Sử dụng 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)

Suy nghĩ mở rộng

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)

Các Model Claude được khuyến nghị

Mô hìnhPhù hợp nhất cho
claude-opus-4-6Suy luận chuyên sâu, phân tích dạng dài
claude-sonnet-4-6Lập trình, các tác vụ trợ lý tổng quát
claude-haiku-4-5Phản hồi nhanh, gọn nhẹ

Khắc phục sự cố

Trên trang này