Akış, kesilme ve kurtarma
Yanıtın parça parça akıtılmasının neyi çözüp neyi çözmediğini, kesilmenin sebeplerini ve her sebebe karşılık gelen doğru kurtarma davranışını öğretir.
Önkoşul: Large Language Model, Prompt Engineering
BU DERSİN SONUNDA
- İlk jetona kadar geçen süre ile toplam üretim süresini birbirinden ayırmak
- Sonlanma sebebine göre doğru kurtarma davranışını seçmek
- Yeniden denemeyi yan etkili araç çağrılarına karşı güvenli hale getirmek
- Girdi ve çıktı tarafına akışı bozmayan korkuluklar yerleştirmek
- 1
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 5
Proje
Rotadaki projeye katkı
Kısa cevap
Akış, cevabın üretilirken parça parça iletilmesidir; algılanan bekleme süresini kısaltır, toplam üretim süresini kısaltmaz ve doğrulamayı zorlaştırır, çünkü yarım bir yapı henüz geçerli değildir. Üretimin kesilmesi istisna değil normal bir durumdur: doğru tasarım, sonlanma sebebini okuyup her sebebe ayrı bir davranış bağlamaktır.
Teori: iki farklı gecikme#
Bir çağrı iki evreden geçer. Önce girdinin tamamı tek geçişte işlenir; bu evre girdi uzunluğuyla büyür ve ilk jetonun ne zaman görüneceğini belirler. Sonra çıktı jetonları birer birer, her biri bir öncekine bakarak üretilir; bu evre çıktı uzunluğuyla büyür ve toplam süreyi belirler. İki evrenin farklı değişkenlere bağlı olması, gecikme sorunlarının nereden geldiğini teşhis etmenin anahtarıdır.
Akış yalnızca ikinci evreyi kullanıcıdan gizler: ilk jeton geldiği anda ekranda bir şey belirir, geri kalanı yazılırken okunur. Bunun bedeli doğrulama tarafında ödenir. Şemaya bağlı bir çıktıyı akıtırken elinizdeki parça çoğu anda geçersiz bir yapıdır; doğrulayıcı ancak üretim bittiğinde karar verebilir. Bu yüzden kullanıcıya akıtılan metin ile makinenin kullandığı yapı çoğu üründe ayrı alanlardır.
Yanıt neden kesilir#
| Sonlanma sebebi | Ne olmuştur | Doğru tepki |
|---|---|---|
| Uzunluk sınırı | Azami çıktı jetonuna ulaşıldı | Aynı istekle tekrar denemeyin; ya sınırı yükseltin ya görevi bölün |
| Durdurma dizisi | Belirlediğiniz dizi üretildi | Beklenen bitiştir; kalan metni aramayın |
| İçerik filtresi | Üretim politika gereği durduruldu | Yeniden deneme aynı sonucu verir; kullanıcıya açık bir mesaj ve alternatif yol |
| Araç çağrısı | Model argüman üretip sırayı uygulamaya bıraktı | Aracı çalıştırın, sonucu geri verip akışı sürdürün |
| Zaman aşımı veya bağlantı kopması | Geçici altyapı hatası | Geri çekilmeli yeniden deneme; kısmi çıktıyı saklayın |
| Pencere sınırı | Girdi ve çıktı toplamı modelin penceresine sığmadı; bu çoğu sağlayıcıda ayrı bir sonlanma sebebi değildir, ya istek hatası ya da uzunluk sınırı kılığında görünür | Geçmişi veya getirilen içeriği kısaltın; çıktıya yer bırakın |
Zaman aşımı ve yeniden deneme#
Akışlı bir çağrıda tek bir toplam zaman aşımı yanlış araçtır: uzun ama sağlıklı bir yanıtı ortasından keser. İki ayrı sayaç gerekir. Birincisi ilk parçaya kadar geçen süreyi sınırlar ve gerçekten takılan istekleri yakalar. İkincisi ardışık iki parça arasındaki boşluğu sınırlar ve akışın sessizce ölmesini yakalar. Toplam süreye konan sınır varsa, kullanıcıya gösterilecek kısmi çıktının ne olacağına da karar verilmiş olmalıdır.
- 1Sınıflandır
Hatayı sonlanma sebebine göre ayır: geçici altyapı hatası mı, deterministik ret mi, sınır aşımı mı.
- 2Yeniden denenebilirliğe karar ver
Yalnızca geçici hatalar yeniden denenir. Doğrulama ihlali ve içerik filtresi aynı istekle aynı sonucu verir.
- 3Geri çekil
Üstel geri çekilme ve rastgele sapma uygula, deneme sayısını sabit bir üst sınıra bağla.
- 4Yan etkiyi koru
Yeniden denenen istek yan etkili bir araç çağırdıysa idempotenslik anahtarı taşısın; yoksa işlem iki kez uygulanır.
- 5İzi sakla
Başarısızlıkta kısmi çıktıyı, sonlanma sebebini ve istek kimliğini günlüğe yaz; tekrarlanamayan hata düzeltilemez.
Korkuluklar akışı bozmadan#
- Girdi tarafı: uzunluk ve biçim sınırı, beklenmeyen dil veya kodlama, kullanıcı içeriğinin talimat değil veri olarak işaretlenmesi.
- Çıktı tarafı: şema doğrulaması, yasaklı desen taraması, koşul sağlanmazsa akışın kesilmesi.
- Araç tarafı: yan etkili aracın onaya bağlanması ve erişilebilecek kaydın oturum yetkisinden türetilmesi.
- Sistem tarafı: istek başına azami süre, azami deneme ve azami araç çağrısı sayısı; üçü de sonsuz döngüyü keser.
Çıktı korkuluğu akışla çelişir gibi görünür: yayımladığınız bir cümleyi geri alamazsınız. İki çözüm vardır. Ya küçük bir tampon tutup son birkaç parçayı gecikmeli yayımlarsınız, ya da arayüzü yayımlanan metni geri almaya izin verecek şekilde kurarsınız. Hangisini seçtiğiniz ürün kararıdır; seçmemek, korkuluğun canlıda hiç çalışmaması demektir.
Sık yapılan hata#
Kesilen yanıtlar sıklıkla model kalitesine yazılır; oysa çoğu kez azami çıktı sınırı ya da pencere sınırıdır. Girdi ve çıktı aynı pencere bütçesini paylaştığı için uzun bir geçmiş, cevaba yer bırakmaz: istek başarıyla döner ama yanıt yarım kalır. Teşhis basittir, yeter ki sonlanma sebebi ile girdi ve çıktı jeton sayıları her kayıtta bulunsun.
LAB · UYGULAMALI ALIŞTIRMA
Kesilme senaryolarını bilerek üretin
- 1Uygulamanızda model çağrısını saran işlevi bulun ve şu anda hangi zaman aşımını, kaç yeniden denemeyi uyguladığını tek cümleyle yazın. Saran bir işleviniz yoksa önceki derslerde kullandığınız çağrıyı tek bir işleve sarın ve alıştırmayı onun üzerinde yürütün.
- 2Azami çıktı jetonunu bilerek çok düşük bir değere çekip uzun yanıt gerektiren bir istek koşturun; sonlanma sebebini ve elinizde kalan kısmi metni kaydedin.
- 3İstemci zaman aşımını çok kısa ayarlayarak bağlantı kopmasını taklit edin ve uygulamanın kullanıcıya ne gösterdiğini, günlüğe ne yazdığını not edin.
- 4Dört sonlanma sebebi için (uzunluk, durdurma dizisi, zaman aşımı, doğrulama ihlali) birer satırlık tepki tablosu yazın: yeniden dene, kullanıcıya sor ya da reddet.
- 5Yan etkili bir araç çağrısı içeren akışta yeniden denemenin işlemi iki kez uygulayıp uygulamadığını kontrol edin; uyguluyorsa çağrıya idempotenslik anahtarı ekleyin.
- 6Değişiklikten sonra aynı üç senaryoyu tekrarlayın ve davranış farkını önce/sonra olarak kaydedin.
Beklenen çıktı
Sonlanma sebeplerine göre yazılmış tepki tablosu ve uygulamanın üç kesilme senaryosundaki davranışının önce/sonra kaydı.
Sık sorulan sorular
Akış toplam süreyi kısaltır mı?
Hayır. Üretim aynı hızda ilerler; akış yalnızca ilk görünen çıktıya kadar geçen süreyi kısaltır ve beklemeyi okunabilir hale getirir. İstemci tarafında parça işleme yükü eklediği için toplam süre bir miktar artabilir bile.
Şemaya bağlı çıktıyı akıtmalı mıyım?
Parça hâlindeki bir yapı çoğu anda geçersizdir, yani akıtırken doğrulayamazsınız. İki seçenek var: üretim bitene kadar doğrulamayı bekletmek ya da kullanıcıya akıtılan serbest metinle makinenin kullandığı yapıyı ayrı alanlara ayırmak. İkincisi çoğu üründe daha az sürpriz üretir.
Her hatada yeniden denemek doğru mu?
Hayır. Zaman aşımı ve bağlantı kopması gibi geçici hatalar yeniden denemeye uygundur. Doğrulama ihlali, içerik filtresi ve uzunluk sınırı ise aynı istekle aynı sonucu verir; bu durumda ya istek değişmeli ya da akış reddedilmelidir.
LEARN
LLM Uygulama Geliştirici rotasına devam et
Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.
