Yeniden denemeyi fallback'ten ayırın
Bir yeniden deneme, hata geçici olabileceği için isteği aynı rotaya tekrar gönderir. Fallback ise orijinal rota kullanılamadığı veya uygun olmadığı için sağlayıcıyı ya da modeli değiştirir.
Bu iki işlemi tek bir genel yeniden deneme döngüsü olarak ele almak, olayların teşhisini zorlaştırır ve başarı oranını artırmadan maliyeti katlayabilir.
- Yeniden dene: zaman aşımı, bağlantı sıfırlama, 429 veya geçici 5xx yanıtı.
- Fallback: tekrarlayan sağlayıcı hatası, model kapasite sorunu veya politika kısıtı.
- Durdur: geçersiz istek, desteklenmeyen parametre veya başarısız çıktı doğrulaması.
Yetenek uyumlu bir rota tablosu oluşturun
Fallback modelleri markaya göre değil, yeteneğe göre gruplandırılmalıdır. Bir görsel istek, yalnızca metin tabanlı bir modele fallback yapamaz ve katı bir JSON iş akışı, şemayı düzenli olarak ihlal eden bir modele yönlendirilmemelidir.
- Gerekli giriş ve çıkış modları.
- Minimum bağlam ve çıktı uzunluğu.
- Araç çağırma ve yapılandırılmış çıktı desteği.
- Maksimum kabul edilebilir fiyat ve gecikme.
Tek bir istek düzeyi bütçesi uygulayın
İstek bütçesi, her yeniden deneme ve fallback girişimini kapsamalıdır. Bir sonraki girişime başlamadan önce, kalan gecikme ve maliyet bütçesinin bunu destekleyip desteklemediğini kontrol edin.
const routePolicy = {
maxAttempts: 3,
maxLatencyMs: 18_000,
maxEstimatedCost: 0.12,
retryOn: [408, 429, 500, 502, 503, 504],
fallbackModels: ['primary-model', 'quality-fallback', 'fast-fallback'],
};Sadece kullanılabilirliği değil, fallback kalitesini de ölçün
Başarıyla dönen bir istek yine de bir ürün hatası olabilir. Bir fallback olayından sonra çıktı doğrulamasını, kullanıcı düzeltme oranını ve görev tamamlama oranını izleyin.
Önerilen gösterge paneli: rota başarısı, fallback oranı, p95 gecikme, tahmini maliyet, doğrulama geçme oranı ve modele göre kalite puanı.
