Skip to main content

Genel Bakış

TokenLab’nın Agent-First API’si, hata yanıtlarını AI ajanlarının hemen ayrıştırıp harekete geçebileceği yapılandırılmış ipuçlarıyla zenginleştirir — web aramaları yok, doküman bakışları yok, tahmin yürütme yok. OpenAI uyumlu Chat Completions ve Responses gateway hataları, error nesnesinde did_you_mean, suggestions, hint, retryable ve retry_after gibi isteğe bağlı alanlar içerebilir. Anthropic Messages ve Gemini yerel hata şekillerini korur ve bu uzantıları vaat etmez.

Hata İpucu Alanları

OpenAI uyumlu gateway hatalarında tüm ipucu alanları error nesnesi içinde isteğe bağlı uzantılardır:

Hata Kodu Örnekleri

model_not_found (400)

Bir model adı aktif hiçbir modelle eşleşmediğinde:
did_you_mean çözümlemesi şu yöntemleri kullanır:
  1. Statik takma ad eşlemesi (prodüksiyon hata verilerinden)
  2. Normalleştirilmiş string eşlemesi (tireleri kaldırır, büyük/küçük harf duyarsız)
  3. Düzenleme uzaklığı eşlemesi (eşik ≤ 3)
Genel erişim (public) rotaları, gizli, ertelenmiş veya herkese açık olmayan modeller için ayrı hata kodları açığa çıkarmaz. Kullanılamayan genel modelleri bir yanlış yazım gibi değerlendirin: did_you_mean, suggestions ve hint alanlarını inceleyin ve sonra desteklenen bir genel model ile yeniden deneyin.

insufficient_balance (402)

Hesap bakiyesi tahmini maliyet için yetersiz olduğunda:
suggestions, ajanların geçiş yapabileceği tahmini maliyetten daha ucuz modelleri içerir.

all_channels_failed (503)

Bir model için tüm üst akış kanalları kullanılamaz olduğunda:
retryable, neden no_channels ise false olur (bu model için yapılandırılmış kanal yok). Yalnızca devre kesici atlamaları veya kota tükenmesi gibi geçici hatalar için true olur.

rate_limit_exceeded (429)

retry_after değeri, gerçek hız limiti pencere sıfırlama zamanından hesaplanır.
OpenAI-uyumlu uç noktalar, rate_limit_exceeded, upstream_error ve all_channels_failed gibi TokenLab’nın kararlı genel hata türlerini kullanır. Anthropic-uyumlu ve Gemini-uyumlu uç noktalar kendi yerel yanıt biçimlerini kullanır.

context_length_exceeded (400)

Girdi modelin bağlam penceresini aştığında (üst akış hatası, ipuçları ile zenginleştirilmiş):

Yerel Uç Nokta Keşfi

Yerel protokol kullanılabilirliğini model ya da sağlayıcı adından veya Chat yanıt başlıklarından çıkarmayın. Yerel uç nokta seçmeden önce GET /v1/models/{model} isteğini okuyun ve yalnızca model ayrıntılarında ilan edilen ve aynı protokole sahip bir route tarafından desteklenen istek biçimini kullanın. Okunacak alan tokenlab.accepted_request_formats değeridir. İlan edilen istek biçimi uç noktanın kullanılabilirliğini belirler; tek tek alan ve araç desteği upstream’e bağlıdır.

/v1/models İyileştirmeleri

/v1/models artık ajanların görüntü, video, müzik, 3B, TTS, STT, embedding, rerank veya çeviri uç noktalarını çağırmadan önce kullanabileceği sohbet dışı öneri meta verilerini taşır.
recommended_for mevcutsa agent_preferences, önbelleğe alınmış 24 saatlik başarı oranı anlık görüntüsünden türetilir:
  • Pencere: 24 saat
  • Anlık görüntü önbelleği: stale-while-revalidate
  • status = "ready" modelin sıralamaya katılmak için yeterli güncel örneğe sahip olduğunu gösterir
  • status = "insufficient_samples" model görünür kalır ancak puanlanmış modellerin önüne alınmaz

Kategori Filtreleme

Öneri Keşfi

Sohbet dışı iş akışları için ajanlar önce geçerli önerilen kısa listeyi almalıdır:
Geçerli recommended_for değerleri şunlardır:
  • image
  • video
  • music
  • 3d
  • tts
  • stt
  • embedding
  • rerank
  • translation
Hem category hem de recommended_for mevcutsa, bunların tam olarak eşleşmesi gerekir. Önerilen ajan akışı:
  1. GET /v1/models?recommended_for=<scene>
  2. İlk agent_preferences.<scene>.status == "ready" olan modeli seçin
  3. Uç noktayı açıkça model=<selected> ile çağırın
  4. Yalnızca geçici hatalarda, bir sonraki ready model ile yeniden deneyin

llms.txt

Makine tarafından okunabilir bir API genel bakışı şu adreste mevcuttur:
İçerir:
  • Çalışan bir örnekle ilk çağrı şablonu
  • Yaygın model adları (kullanım verilerinden dinamik olarak oluşturulur)
  • Tüm 12 API uç noktası
  • Model keşfi için filtre parametreleri
  • Hata işleme rehberi
llms.txt dosyasını ilk API çağrılarından önce okuyan AI ajanları tipik olarak ilk denemede başarılı olabilir.

Ajan Kodunda Kullanım

Python (OpenAI SDK)

JavaScript (OpenAI SDK)

Tasarım İlkeleri

Hızlı başarısızlık, bilgilendirici hata

Hatalar, bir ajanın kendi kendini düzeltmesi için ihtiyaç duyduğu tüm verilerle hemen döner.

Otomatik yönlendirme yok

API asla sessizce farklı bir model ikamesi yapmaz. Kararı ajan verir.

Veri odaklı öneriler

Tüm öneriler sert kodlanmış listelerden değil, prodüksiyon verilerinden gelir.

Geriye uyumlu

Tüm ipucu alanları isteğe bağlıdır. Mevcut istemciler hiçbir fark görmez.