Secara teknis, daripada nunggu server AI selesai ngeproses semua token, kita minta server buat ngirimin token satu per satu begitu mereka selesai dibuat.
🧩 1. Konsep Dasar Streaming
Tanpa streaming, alurnya adalah: Kirim Prompt -> Server Mikir -> Kirim Jawaban Utuh -> Selesai. Dengan streaming, alurnya: Kirim Prompt -> Server Kirim Kata 1 -> Server Kirim Kata 2 -> ... -> Selesai.
🚀 2. Praktek di Python (Gemini API)
Di library Python, kita cuma perlu nambahin satu parameter: stream=True. Tapi cara nampilinnya beda, kita harus pakai perulangan for.
import google.generativeai as genai
import sys # Buat paksa print muncul di baris yang sama
model = genai.GenerativeModel('gemini-1.5-flash')
# 1. Kirim dengan mode stream=True
response = model.generate_content(
"Tuliskan sebuah cerita pendek tentang petualangan Kay di dunia AI.",
stream=True
)
print("AI sedang mengetik: ", end="")
# 2. Ambil potongannya satu per satu
for chunk in response:
# chunk.text berisi potongan kata yang baru jadi
print(chunk.text, end="")
# Biar tampilannya beneran real-time di terminal
sys.stdout.flush()
print("\n\n--- Selesai ---")
🚀 3. Kenapa Harus Pakai sys.stdout.flush()?
Kadang terminal itu "pelit", dia mau ngumpulin teks agak banyak dulu baru ditampilin. Dengan flush(), kita maksa komputer buat: "Woi, apa pun yang ada di memori sekarang, langsung tampilin ke layar!". Inilah yang bikin efek ngetiknya jadi mulus banget.
💡 Strategi AI Architect: Kapan Pakai Streaming?
| Situasi | Pakai Streaming? | Kenapa? |
|---|---|---|
| Chatbot / Asisten | WAJIB | Biar user ngerasa lagi ngobrol sama makhluk hidup. |
| Data Extraction (JSON) | TIDAK | Kita butuh datanya lengkap dulu baru bisa diolah JavaScript. |
| Bikin Artikel Panjang | SANGAT DISARANKAN | Menunggu 1000 kata muncul sekaligus itu sangat membosankan. |
❗ Tips untuk Pemula
- Error Handling: Di tengah-tengah streaming, internet bisa putus. Pastikan kamu siapin
try...exceptbuat nangkep kalau tiba-tiba koneksi hilang di tengah jalan. - Integrasi Frontend: Nanti kalau kamu hubungin ini ke JavaScript (Season 2), kamu bakal pakai teknologi namanya Server-Sent Events (SSE) buat nerusin "ketikan" ini ke browser user.
🎯 Kesimpulan
Streaming adalah rahasia di balik aplikasi AI yang terasa "hidup". Kamu sudah belajar cara narik data secara bertahap. Sekarang aplikasi kamu gak bakal bikin user kabur karena nungguin loading yang kelamaan!