Genel Bakış
LemonData’nın Agent-First API’si, hata yanıtlarını AI agent’larının anında ayrıştırabileceği ve üzerinde işlem yapabileceği yapılandırılmış ipuçlarıyla zenginleştirir — web araması yok, doküman incelemesi yok, tahmin yürütmek yok. Her hata yanıtı, standarterror nesnesi içinde did_you_mean, suggestions, hint, retryable ve retry_after gibi isteğe bağlı alanlar içerir. Bu alanlar geriye dönük uyumludur — bunları kullanmayan istemciler hiçbir fark görmez.
Hata İpucu Alanları
Tüm ipucu alanları,error nesnesi içindeki isteğe bağlı uzantılardır:
| Alan | Tür | Açıklama |
|---|---|---|
did_you_mean | string | En yakın eşleşen model adı |
suggestions | array | Meta verilerle birlikte önerilen modeller |
alternatives | array | Şu anda mevcut olan alternatif modeller |
hint | string | İnsan/agent tarafından okunabilir sonraki adım rehberliği |
retryable | boolean | Aynı isteğin yeniden denenmesinin başarılı olup olmayacağı |
retry_after | number | Yeniden denemeden önce beklenecek saniye |
balance_usd | number | USD cinsinden mevcut hesap bakiyesi |
estimated_cost_usd | number | Başarısız olan isteğin tahmini maliyeti |
Hata Kodu Örnekleri
model_not_found (400)
Bir model adı herhangi bir aktif modelle eşleşmediğinde:did_you_mean çözümü şunları kullanır:
- Statik takma ad eşlemesi (üretim hata verilerinden)
- Normalleştirilmiş dize eşleştirme (tireleri kaldırır, büyük/küçük harfe duyarsızdır)
- Düzenleme mesafesi (edit distance) eşleştirme (eşik ≤ 3)
insufficient_balance (402)
Hesap bakiyesi tahmini maliyet için çok düşük olduğunda:suggestions, agent’ın geçiş yapabileceği, tahmini maliyetten daha ucuz modelleri içerir.
all_channels_failed (503)
Bir model için tüm üst kanal (upstream) bağlantıları kullanılamaz olduğunda:retryable, neden no_channels (bu model için yapılandırılmış kanal yok) olduğunda false değerini alır. Yalnızca devre kesici (circuit breaker) tetiklenmesi veya kota tükenmesi gibi geçici hatalar için true değerini alır.rate_limit_exceeded (429)
retry_after değeri, gerçek hız sınırı (rate limit) penceresinin sıfırlanma süresinden hesaplanır.
context_length_exceeded (400)
Girdi, modelin bağlam penceresini (context window) aştığında (ipuçlarıyla zenginleştirilmiş üst kanal hatası):Yerel Uç Nokta Başlıkları
Yerel bir uç noktaya (native endpoint) sahip bir modelle (Anthropic veya Gemini)/v1/chat/completions çağrısı yaptığınızda, başarılı yanıt optimizasyon başlıklarını içerir:
| Model Sağlayıcı | Önerilen Uç Nokta | Avantaj |
|---|---|---|
| Anthropic (Claude) | /v1/messages | Format dönüştürme yok, genişletilmiş düşünme, prompt önbelleğe alma |
| Google (Gemini) | /v1beta/gemini | Format dönüştürme yok, grounding, güvenlik ayarları |
| OpenAI | — | Chat completions zaten yerel formattır |
/v1/models İyileştirmeleri
Her model nesnesininlemondata uzantısındaki üç yeni alan:
| Alan | Değerler | Açıklama |
|---|---|---|
category | chat, image, video, audio, tts, stt, 3d, embedding, rerank | Model türü |
pricing_unit | per_token, per_image, per_second, per_request | Modelin nasıl faturalandırıldığı |
cache_pricing | nesne veya null | Üst kanal prompt önbellek fiyatları + platform semantik önbellek indirimi |
Kategori Filtreleme
llms.txt
Makine tarafından okunabilir bir API genel bakışı şu adreste mevcuttur:- Çalışan bir örnekle birlikte 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 yönetimi rehberliği
llms.txt dosyasını okuyan AI agent’ları genellikle ilk denemede başarılı olabilir.
Agent Kodunda Kullanım
Python (OpenAI SDK)
JavaScript (OpenAI SDK)
Tasarım İlkeleri
Hızlı hata ver, bilgilendirici hata ver
Hatalar, bir agent’ın kendini düzeltmesi için ihtiyaç duyduğu tüm verilerle birlikte anında döner.
Otomatik yönlendirme yok
API asla sessizce farklı bir model yerleştirmez. Kararı agent verir.
Veri odaklı öneriler
Tüm öneriler sabit listelerden değil, üretim verilerinden gelir.
Geriye dönük uyumlu
Tüm ipucu alanları isteğe bağlıdır. Mevcut istemciler hiçbir fark görmez.