1. Çift yönlü akış nedir?
Çift yönlü akış (bidi-streaming), uygulamanız ile yapay zeka modelleri arasında eş zamanlı iki yönlü iletişime olanak tanır. Tam bir mesaj gönderip tam bir yanıt beklediğiniz geleneksel istek-yanıt kalıplarının aksine, çift yönlü akış şunlara olanak tanır:
- Sürekli giriş: Ses, video veya metni kaydedildiği sırada aktarın.
- Anlık çıkış: Yapay zeka yanıtlarını oluşturuldukları anda alın.
- Doğal kesme: Kullanıcılar, tıpkı insanlarla sohbet ederken olduğu gibi yapay zekanın yanıtını yarıda kesebilir.

Önemi: Bidi-streaming, yapay zeka sohbetlerinin doğal görünmesini sağlar. Yapay zeka, siz bağlam bilgisi vermeye devam ederken yanıt verebilir. Yeterince bilgi aldığınızda ise yapay zekanın sözünü kesebilirsiniz. Bu, bir insanla konuşmaya benzer.
ADK Gemini Live API araç seti nedir?
Agent Development Kit (ADK), Gemini Live API üzerinde üst düzey bir soyutlama sağlayarak gerçek zamanlı akışın karmaşık tesisatını yönetir. Böylece uygulamanızı oluşturmaya odaklanabilirsiniz.

ADK Gemini Live API araç seti şunları yönetir:
- Bağlantı yaşam döngüsü: WebSocket bağlantılarını kurma, sürdürme ve kurtarma
- Mesaj yönlendirme: Ses, metin ve resimleri doğru işleyicilere yönlendirme
- Oturum durumu: Yeniden bağlantı kurulduğunda görüşme geçmişinin korunması
- Araç yürütme: İşlev çağrılarını otomatik olarak çağırma ve bu çağrılardan devam etme
Neden ham Live API yerine ADK?
Doğrudan Gemini Live API üzerinde geliştirme yapabilirsiniz ancak ADK, karmaşık altyapıyı yönettiği için uygulamanıza odaklanabilirsiniz:

Kapasite | Raw Live API | ADK Gemini Live API araç seti |
Agent Framework | Sıfırdan oluşturun | Araçlar, değerlendirme ve güvenlik özelliklerine sahip tek/çoklu aracı |
Araç Yürütme | Manuel işleme | Otomatik paralel yürütme |
Bağlantı Yönetimi | Manuel olarak yeniden bağlanma | Şeffaf oturum devam ettirme |
Etkinlik Modeli | Özel yapılar | Birleştirilmiş, türü belirlenmiş etkinlik nesneleri |
Eşzamansız Çerçeve | Manuel koordinasyon | LiveRequestQueue + run_live() oluşturucu |
Oturum Kalıcılığı | Manuel uygulama | Yerleşik SQL, Vertex AI veya bellek içi |
Sonuç: ADK, altyapı geliştirme süresini aylardan uygulama geliştirme süresine indirir. Yayınların nasıl çalıştığına değil, temsilcinizin ne yaptığına odaklanırsınız.
Gerçek Hayattaki Kullanım Alanları
- Müşteri Hizmetleri: Bir müşteri, sorunu açıklarken telefon kamerasını kullanarak arızalı kahve makinesini gösteriyor. Yapay zeka, modeli ve arıza noktasını tanımlar. Müşteri, konuşma sırasında ayrıntıları düzeltmek için araya girebilir.
- E-ticaret: Bir alışveriş yapan kişi, web kamerasına bir kıyafet tutarak "Bu pantolonla uyumlu ayakkabıları bul" diyor. Temsilci, stili analiz edip akıcı bir şekilde karşılıklı etkileşimde bulunuyor: "Show me something more casual" (Bana daha rahat bir şeyler göster) → "How about these sneakers?" (Bu spor ayakkabılara ne dersin?) → "10 numara olan mavi ayakkabıları ekle."
- Saha Servisi: Akıllı gözlük takan bir teknisyen, "Bu kompresörden garip bir ses geliyor. Ne olduğunu söyleyebilir misiniz?" diye sorarken görüşünü yayınlıyor. Aracı, adım adım yönergeleri eller serbest olarak sağlar.
- Sağlık: Bir hasta, cilt rahatsızlığıyla ilgili canlı video paylaşıyor. Yapay zeka, ön analiz yapar, açıklayıcı sorular sorar ve sonraki adımlarda yol gösterir.
- Finansal Hizmetler: Bir müşteri portföyünü incelerken temsilci, grafikleri gösterir ve ticaret etkilerini simüle eder. Müşteri, belirli haber makalelerini tartışmak için ekranını paylaşabilir.
Alışveriş Asistanı 2 Demosu: ADK Gemini Live API araç seti ve Vertex AI Vector Search, Embeddings, Feature Store ve Ranking API ile oluşturulan, e-ticaret için gerçek zamanlı Agentic RAG demosu:

Daha fazla bilgi: Geliştirici Kılavuzu
Kapsamlı bir inceleme için ADK Gemini Live API Toolkit Developer Guide'ı (ADK Gemini Live API Araç Seti Geliştirici Kılavuzu) inceleyin. Bu 5 bölümlük seride, mimariden üretime dağıtıma kadar her şey ele alınmaktadır:
Bölüm | Focus | Öğrenecekleriniz |
Vakıf | Mimari, Canlı API platformları, 4 aşamalı yaşam döngüsü | |
Yukarı akış | LiveRequestQueue üzerinden metin, ses ve video gönderme | |
Aşağı akış | Etkinlik işleme, araç yürütme, çoklu aracı iş akışları | |
Yapılandırma | Oturum yönetimi, kotalar, üretim kontrolleri | |
Çok formatlı | Ses özellikleri, model mimarileri, ileri seviye özellikler |
2. Atölyeye Genel Bakış
Ne Oluşturacaksınız?
Bu uygulamalı atölyede, sıfırdan eksiksiz bir çift yönlü akış yapabilen yapay zeka uygulaması oluşturacaksınız. Bu laboratuvarın sonunda, aşağıdakileri yapabilen çalışan bir sesli yapay zekanız olacak:
- Metin, ses ve resim girişlerini kabul etme
- Yanıtlarda akış metni veya doğal konuşma kullanma
- Kesintileri doğal bir şekilde ele alma
- Google Arama gibi araçları kullanma
Doküman okumanın aksine, her bileşeni adım adım inceleyerek parçaların nasıl bir araya geldiğini anlayacak ve kademeli olarak oluşturacaksınız.

Öğrenme Yaklaşımı
Aşamalı geliştirme yaklaşımını benimseriz:
- 1. adım: Minimal WebSocket sunucusu → "Hello World" yanıtı
- 2. adım: Aracı ekleyin → Yapay zeka davranışını ve araçlarını tanımlayın
- 3. adım: Uygulama başlatma → Çalıştırıcı ve oturum hizmeti
- 4. adım: Oturum başlatma → RunConfig ve LiveRequestQueue
- 5. adım: Yukarı akış görevi → İstemciden sıraya iletişim
- 6. adım: Aşağı akış görevi → Etkinlikleri istemci akışına aktarma
- 7. adım: Ses ekleme → Ses girişi ve çıkışı
- 8. adım: Resim girişi ekleyin → Çok formatlı yapay zeka
Her adım, bir önceki adımın üzerine inşa edilir. İlerlemenizi görmek için her adımdan sonra test yaparsınız.
Ön koşullar
- Faturalandırmanın etkinleştirildiği bir Google Cloud hesabı
- Temel Python ve eşzamansız programlama (async/await) bilgisi
- Mikrofon ve web kamerası erişimi olan web tarayıcısı (Chrome önerilir)
Süre Tahmini
- Tam atölye: ~90 dakika
- Kısa sürüm (yalnızca 1-4. adımlar): ~45 dakika
3. Atölye
Atölyeye başlamak için buradaki talimatları uygulayın:
https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md
4. Özet ve önemli noktalar
Oluşturduklarınız
Sıfırdan tam çift yönlü akışlı bir yapay zeka uygulaması geliştirdiniz. Uygulama, metin, ses ve görüntü girişlerini anlık akış yanıtlarıyla işler. Bu, üretime hazır etkileşimli yapay zeka oluşturmanın temelini oluşturur.
Bileşen | Ne yapar? | Step |
Temsilci | Yapay zeka kişiliğini, talimatlarını ve kullanılabilir araçlarını (ör.Google Arama) tanımlar. | 2. Adım |
SessionService | Yeniden bağlanma sırasında sohbet geçmişini korur. | 3. Adım |
Koşucu | Yayın yaşam döngüsünü düzenler, temsilciyi Live API'ye bağlar | 3. Adım |
RunConfig | Yanıt biçimini (METİN/SES), transkripsiyonu ve oturuma devam etmeyi yapılandırır. | 4. Adım |
LiveRequestQueue | Modele metin, ses ve resim göndermek için birleşik arayüz | 5. Adım |
run_live() | Modelden akış etkinlikleri sağlayan eşzamansız oluşturucu | 6. Adım |
send_realtime() | Sürekli akış girişi için ses/resim blob'ları gönderir. | 7-8. adım |
Kaynaklar
Aşağıdaki resmi kaynaklardan yararlanarak öğrenmeye devam edin. ADK Gemini Live API Araç Seti Kılavuzu, bu atölyedeki her konu hakkında daha ayrıntılı bilgi sunar.
Kaynak | URL |
ADK Belgeleri | |
ADK Gemini Live API Araç Seti Kılavuzu | |
Gemini Live API | |
Vertex AI Live API | https://cloud.google.com/vertex-ai/generative-ai/docs/live-api |
ADK örnekleri deposu |