Metin

Mesaj Oluştur

Anthropic Messages API formatını kullanarak bir mesaj oluşturur

POST
/v1/messages

Genel Bakış

Bu endpoint, yerel Anthropic Messages API uyumluluğu sağlar. Bunu, genişletilmiş düşünme gibi özelliklerle Claude modelleri için kullanın.

Bu endpoint yerel Anthropic sözleşmesini korur. messages, yalnızca user / assistant mesajlarından oluşan bir dizi olmalıdır; system üst seviye system alanına yazılır ve max_tokens zorunludur. Payload messages içinde OpenAI rolleri olan system, developer veya tool kullanıyorsa bunu /v1/chat/completions endpoint’ine gönderin.

Anthropic SDK için Base URL: https://api.tokenlab.sh (/v1 soneki yok)

İstek Başlıkları

x-api-keystringheader

TokenLab API anahtarınız. x-api-key veya Authorization: Bearer <API_KEY> ile gönderin.

anthropic-versionstringheaderzorunlu

Anthropic API sürümü. 2023-06-01 kullanın.

İstek Gövdesi

Desteklenen isteğe bağlı parametreler, kabul edilen değerler ve varsayılanlar seçilen modele bağlıdır. Örnekleme, akıl yürütme veya araç seçeneklerini ayarlamadan önce model ayrıntılarını kontrol edin.

modelstringzorunlu

anthropic_messages biçimini destekleyen bir modelin kimliği. Güncel yetenekler için model ayrıntılarını kontrol edin.

messagesarrayzorunlu

role ve content içeren mesaj nesneleri dizisi.

max_tokensintegerzorunlu

Oluşturulacak maksimum token sayısı.

systemstring | array

messages dizisinden ayrı olarak belirtilen, metin veya içerik blokları dizisi biçimindeki sistem istemi.

temperaturenumber

Örnekleme sıcaklığı. Destek, izin verilen değerler ve varsayılan değer seçilen modele bağlıdır. Modelin varsayılanını kullanmak için bu alanı atlayın.

streambooleanvarsayılan: false

Streaming yanıtlarını etkinleştirir.

thinkingobject

Yerel thinking yapılandırması. Desteklenen modlar, bütçeler ve diğer parametrelerle birleşimler seçilen modele bağlıdır.

toolsarray

Model için kullanılabilir araçlar.

tool_choiceobject

{"type":"auto"} gibi yerel araç seçimi nesnesi. Desteklenen türler seçilen modele bağlıdır.

top_pnumber

Nucleus sampling parametresi. Hem temperature hem de top_p birlikte değil, yalnızca biri kullanılmalıdır.

top_kinteger

Her token için yalnızca en iyi K seçenek arasından örnekleme yapar.

stop_sequencesarray

Modelin üretimi durdurmasına neden olacak özel durdurma dizileri.

metadataobject

İzleme amaçları için isteğe eklenecek metadata.

Yanıt

idstring

Benzersiz mesaj tanımlayıcısı.

typestring

Her zaman message.

rolestring

Her zaman assistant.

contentarray

text, thinking veya tool_use gibi içerik bloklarından oluşan dizi.

modelstring

Kullanılan model.

stop_reasonstring

Üretimin durma nedeni; örneğin end_turn, max_tokens, stop_sequence veya tool_use.

usageobject

input_tokens ve output_tokens ile token kullanımı.

İstek

curl -X POST "https://api.tokenlab.sh/v1/messages" \
  -H "x-api-key: sk-your-api-key" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "system": "You are a helpful assistant.",
    "messages": [
      {"role": "user", "content": "Hello, Claude!"}
    ]
  }'

Yanıt

Response
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "model": "claude-sonnet-5",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 15,
    "output_tokens": 10
  }
}

Görsel Girdi Örneği

Görsel desteği olan Claude modelleri için, resimleri yapılandırılmış görüntü blokları olarak messages[].content içine yerleştirin.

{
  "model": "claude-sonnet-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Please describe this image."
        },
        {
          "type": "image",
          "source": {
            "type": "url",
            "url": "https://example.com/demo.jpg"
          }
        }
      ]
    }
  ]
}
{
  "model": "claude-sonnet-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Please describe this image."
        },
        {
          "type": "image",
          "source": {
            "type": "base64",
            "media_type": "image/jpeg",
            "data": "/9j/4AAQSkZJRgABAQ..."
          }
        }
      ]
    }
  ]
}

Genişletilmiş Düşünme Örneği

TOKENLAB_THINKING_MODEL değişkenini type: "enabled" ve budget_tokens ile elle thinking yapılandırmasını destekleyen bir modele ayarlayın. Her iki token bütçesini o modelin sınırlarına göre düzenleyin. Diğer modeller farklı bir thinking yapılandırması gerektirebilir.

import os
from anthropic import Anthropic

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

message = client.messages.create(
    model=os.environ["TOKENLAB_THINKING_MODEL"],
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{"role": "user", "content": "Solve this math problem..."}]
)

for block in message.content:
    if block.type == "thinking":
        print(f"Thinking: {block.thinking}")
    elif block.type == "text":
        print(f"Response: {block.text}")

Anthropic Mesaj Toplu İşlemleri

TokenLab artık /v1/messages yanında yerel Anthropic Message Batches akışını da sunuyor.

Kullanılabilir rotalar:

  • POST /v1/messages/batches
  • GET /v1/messages/batches
  • GET /v1/messages/batches/:message_batch_id
  • GET /v1/messages/batches/:message_batch_id/results
  • POST /v1/messages/batches/:message_batch_id/cancel
  • DELETE /v1/messages/batches/:message_batch_id

Operasyon notları:

  • Aynı TokenLab API anahtarını ve Anthropic yerel başlıklarını kullanın.
  • Batch öğeleri file_id referansı içeriyorsa anthropic-beta: files-api-2025-04-14 başlığını da ekleyin.
  • Batch işlerinin istek/yanıt biçimi Anthropic yerel formatında kalır; TokenLab ise mutabakat için billing durumunu takip eder.

Yetkilendirme

BearerAuth
AuthorizationBearer <token>

API Anahtarı kimlik doğrulaması. API anahtarlarını Dashboard > API > API Keys bölümünden oluşturun veya yönetin.

Konum: header

Başlıklar

X-TokenLab-Delivery-Policy?string

İstek bazlı Teslimat politikası. API anahtarı ve Çalışma Alanı varsayılanlarını geçersiz kılar. Otomatik olarak önce TokenLab Verified dener ve çıktı, istek kabulü veya kalıcı kaynak oluşturma öncesinde bir kez Official seçeneğine geçiş yapabilir.

Geçerli değerler

  • "auto"
  • "verified"
  • "official"

İstek gövdesi

application/json

Yanıt

application/json

application/json

application/json

application/json

application/json

application/json