Yanıtları Akış Olarak Alma (SSE)
Çevik kullanıcı arayüzleri ve ilerleme göstergesi için LLM çıktısını Sunucu Tarafından Gönderilen Olaylar üzerinden belirteç belirteç akış olarak alın.
Yanıtları Akış Olarak Alma (SSE), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Neden Akış Kullanılır?
Akış olmadan, herhangi bir şey göstermeden önce tam yanıtı beklemeniz gerekir. 5 saniyede tamamlanan 50 belirteçlik bir yanıtta kullanıcı 5 saniye boyunca hiçbir şey görmez.
Akış, belirteçleri geldikçe gösterir; toplam süre aynıdır, ancak kullanıcı deneyimi anında gerçekleşiyormuş gibi hissedilir.
Sunucu Tarafından Gönderilen Olaylar (SSE)
OpenAI ve Anthropic, SSE üzerinden akış gerçekleştirir. SSE, sunucunun data: {...}\n\n biçimindeki olayları gönderdiği tek yönlü bir HTTP protokolüdür.
Çoğu SDK, SSE ayrıntılarını yineleyici bir arayüzün arkasında gizler.
OpenAI ile Akış
stream=True ayarını yapın ve yanıt üzerinde yineleme gerçekleştirin:
stream = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end='', flush=True)Tam Yanıtı Toplama
Son dizeyi elde etmek için parçaları biriktirin:
buf = []
for chunk in stream:
delta = chunk.choices[0].delta.content or ''
buf.append(delta)
print(delta, end='', flush=True)
full_text = ''.join(buf)
messages.append({'role': 'assistant', 'content': full_text})Anthropic ile Akış
Aynı düzen kullanılır, ancak API biraz farklıdır:
with client.messages.stream(
model='claude-sonnet-4-5',
max_tokens=1024,
messages=messages,
) as stream:
for text in stream.text_stream:
print(text, end='', flush=True)
final = stream.get_final_message()
print('\ndone, tokens:', final.usage.output_tokens)Araç Çağrılarında Akış
Araç çağrıları da akışla gelir. OpenAI'de fonksiyon adı ve bağımsız değişkenler parça parça ulaşır:
for chunk in stream:
delta = chunk.choices[0].delta
if delta.tool_calls:
for tc in delta.tool_calls:
# tc.function.name and tc.function.arguments arrive as partial strings
passGeri Basınç ve İptal
Kullanıcı sayfayı kapatırsa belirteç tüketimini durdurmak için akışı iptal edin:
try:
for chunk in stream:
if request_was_cancelled():
stream.close()
break
finally:
stream.close()Web Sunucusu Üzerinden Akış
FastAPI için StreamingResponse kullanın:
from fastapi.responses import StreamingResponse
def token_generator():
for chunk in stream:
delta = chunk.choices[0].delta.content or ''
yield f'data: {delta}\n\n'
return StreamingResponse(token_generator(), media_type='text/event-stream')Cümleler için Tamponlama
Metinden konuşmaya dönüştürme veya parçalı görüntüleme için bir cümle tamamlanana kadar verileri tamponlayın:
buf = ''
for chunk in stream:
buf += chunk.choices[0].delta.content or ''
while '. ' in buf:
sentence, buf = buf.split('. ', 1)
speak(sentence + '.')Akışa Alınan JSON'u Ayrıştırma
JSON çıktıları için akışın ortasında ayrıştırma yapamazsınız. Seçenekler şunlardır:
- Tam çıktıyı tamponlayıp ardından tek seferde ayrıştırmak
- Alanları tamamlandıkça üretmek için bir akış JSON ayrıştırıcısı (
ijson) kullanmak
Gecikme Ölçümleri: TTFT ve TPS
- TTFT — ilk belirtece kadar geçen süre (algılanan yanıt verme hızı)
- TPS — saniye başına belirteç (işlem hacmi)
Akış, toplam süreyi değil TTFT'yi iyileştirir. Sohbet kullanıcı deneyimi için TTFT değerini 500 ms'nin altında tutmayı hedefleyin.
Neden Akış Kullanılır?
Akış kullanmanın temel yararı nedir?
Özet
Akış hız kazancı değil, kullanıcı deneyimi kazancıdır. Gerçek zamanlı olarak bir insanla iletişim kuran tüm aracı sistemlerde bunu uygulayın.
Sıkça Sorulan Sorular
“Yanıtları Akış Olarak Alma (SSE)” dersi ücretsiz mi?
Evet — “Yanıtları Akış Olarak Alma (SSE)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“Yanıtları Akış Olarak Alma (SSE)” dersinde ne öğreneceğim?
Çevik kullanıcı arayüzleri ve ilerleme göstergesi için LLM çıktısını Sunucu Tarafından Gönderilen Olaylar üzerinden belirteç belirteç akış olarak alın. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Yanıtları Akış Olarak Alma (SSE)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- OpenAI API'sini Çağırma: chat.completions
- Anthropic API'sini Çağırma: messages
- Yanıtları Akış Olarak Alma (SSE)
- Maliyet Farkındalığı: Belirteç Sayma ve Bütçeler