0Pricing
AI Agents · Ders

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
            pass

Geri 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

  1. OpenAI API'sini Çağırma: chat.completions
  2. Anthropic API'sini Çağırma: messages
  3. Yanıtları Akış Olarak Alma (SSE)
  4. Maliyet Farkındalığı: Belirteç Sayma ve Bütçeler
← AI Agents Sayfasına Dön