İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersOrta35 dakikaLLM Uygulama Geliştirici · 3. ders

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. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 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 sebebiNe olmuşturDoğ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 dizisiBelirlediğiniz dizi üretildiBeklenen bitiştir; kalan metni aramayın
İçerik filtresiÜretim politika gereği durdurulduYeniden 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ürGeçmişi veya getirilen içeriği kısaltın; çıktıya yer bırakın
Sonlanma sebebi alanını günlüğe yazmayan bir uygulamada bu ayrımların hiçbiri yapılamaz.

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.

  1. 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ı.

  2. 2Yeniden denenebilirliğe karar ver

    Yalnızca geçici hatalar yeniden denenir. Doğrulama ihlali ve içerik filtresi aynı istekle aynı sonucu verir.

  3. 3Geri çekil

    Üstel geri çekilme ve rastgele sapma uygula, deneme sayısını sabit bir üst sınıra bağla.

  4. 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. 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

  1. 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.
  2. 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. 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.
  4. 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.
  5. 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.
  6. 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.