Genel Bakış
LemonData’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. Her hata yanıtı, standarterror nesnesi içinde isteğe bağlı alanlar olan did_you_mean, suggestions, hint, retryable ve retry_after gibi alanları içerir. Bu alanlar geri uyumludur — bunları kullanmayan istemciler hiçbir fark görmez.
Hata İpucu Alanları
Tüm ipucu alanlarıerror nesnesi içinde isteğe bağlı uzantılardır:
| Field | Type | Description |
|---|---|---|
did_you_mean | string | En yakın eşleşen model adı |
suggestions | array | Meta veriye sahip önerilen modeller |
alternatives | array | Mevcut alternatif modeller |
hint | string | İnsan/ajan tarafından okunabilir sonraki adım yönlendirmesi |
retryable | boolean | Aynı isteğin yeniden denenmesinin başarılı olma olasılığı |
retry_after | number | Yeniden denemeden önce beklenmesi gereken saniye |
balance_usd | number | Hesap bakiyesi (USD cinsinden) |
estimated_cost_usd | number | Başarısız olan isteğin tahmini maliyeti (USD) |
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:
- Statik takma ad eşlemesi (prodüksiyon hata verilerinden)
- Normalleştirilmiş string eşlemesi (tireleri kaldırır, büyük/küçük harf duyarsız)
- Düzenleme uzaklığı eşlemesi (eşik ≤ 3)
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 LemonData’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 Başlıkları
Bir modelin yerel bir uç noktası (Anthropic veya Gemini) olduğunda/v1/chat/completions çağrısı yaptığınızda, başarılı yanıt optimizasyon başlıklarını içerir:
| Model Provider | Suggested Endpoint | Benefit |
|---|---|---|
| Anthropic (Claude) | /v1/messages | Format dönüşümü yok, genişletilmiş düşünme, prompt önbellekleme |
| Google (Gemini) | /v1beta/gemini | Format dönüşümü yok, grounding, güvenlik ayarları |
| OpenAI | — | Chat completions zaten yerel formattı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.
| Field | Values | Description |
|---|---|---|
category | chat, image, video, audio, tts, stt, 3d, embedding, rerank | Model türü |
pricing_unit | per_token, per_image, per_second, per_request | Modelin faturalama yöntemi |
cache_pricing | object or null | Yalnızca modelin kendi upstream prompt cache fiyatları varsa döner. Sadece platform semantic cache indirimi artık listede tek başına görünmez. |
agent_preferences.<scene> | object | Yalnızca GET /v1/models?recommended_for=<scene> ile dönen sohbet dışı öneri anlık görüntüsü |
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österirstatus = "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:recommended_for değerleri şunlardır:
imagevideomusic3dttssttembeddingreranktranslation
category hem de recommended_for mevcutsa, bunların tam olarak eşleşmesi gerekir.
Önerilen ajan akışı:
GET /v1/models?recommended_for=<scene>- İlk
agent_preferences.<scene>.status == "ready"olan modeli seçin - Uç noktayı açıkça
model=<selected>ile çağırın - Yalnızca geçici hatalarda, bir sonraki
readymodel ile yeniden deneyin
llms.txt
Makine tarafından okunabilir bir API genel bakışı şu adreste mevcuttur:- Ç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.