1. बिडाई-स्ट्रीमिंग क्या है?
दोनों दिशाओं में स्ट्रीमिंग (बिडी-स्ट्रीमिंग) की सुविधा की मदद से, आपके ऐप्लिकेशन और एआई मॉडल के बीच एक साथ दोनों दिशाओं में बातचीत की जा सकती है. अनुरोध-जवाब के पारंपरिक पैटर्न में, पूरा मैसेज भेजा जाता है और पूरे जवाब का इंतज़ार किया जाता है. हालांकि, बिडी-स्ट्रीमिंग में ये काम किए जा सकते हैं:
- लगातार इनपुट: ऑडियो, वीडियो या टेक्स्ट को कैप्चर किए जाने के दौरान ही स्ट्रीम करना
- रीयल-टाइम में आउटपुट: एआई से जनरेट किए जा रहे जवाबों को रीयल-टाइम में पाएं
- बातचीत के बीच में टोकना: लोग, एआई के जवाब के बीच में उसे टोक सकते हैं. ठीक वैसे ही जैसे वे किसी इंसान से बातचीत के दौरान करते हैं

यह क्यों ज़रूरी है: बिडी-स्ट्रीमिंग की मदद से, एआई से की गई बातचीत को ज़्यादा नैचुरल बनाया जा सकता है. एआई, आपको जवाब तब भी दे सकता है, जब आपने उसे पूरा कॉन्टेक्स्ट न दिया हो. साथ ही, जब आपको लगे कि जवाब पूरा हो गया है, तो उसे बीच में रोका जा सकता है. ठीक वैसे ही जैसे किसी इंसान से बातचीत करते समय किया जाता है.
ADK Gemini Live API टूलकिट क्या है?
Agent Development Kit (ADK), Gemini Live API के ऊपर एक हाई-लेवल ऐब्स्ट्रैक्शन लेयर उपलब्ध कराता है. यह रीयल-टाइम स्ट्रीमिंग की जटिल प्लंबिंग को मैनेज करता है, ताकि आप अपने ऐप्लिकेशन को बनाने पर ध्यान दे सकें.

ADK Gemini Live API Toolkit इन चीज़ों को मैनेज करता है:
- कनेक्शन का लाइफ़साइकल: WebSocket कनेक्शन को सेट अप करना, बनाए रखना, और वापस पाना
- मैसेज राउटिंग: ऑडियो, टेक्स्ट, और इमेज को सही हैंडलर पर भेजना
- सेशन की स्थिति: फिर से कनेक्ट होने पर भी बातचीत का इतिहास सेव रहता है
- टूल का इस्तेमाल: फ़ंक्शन कॉल से अपने-आप कॉल करना और कॉल को फिर से शुरू करना
रॉ लाइव एपीआई के बजाय ADK का इस्तेमाल क्यों करें?
Gemini Live API का इस्तेमाल सीधे तौर पर किया जा सकता है. हालांकि, ADK मुश्किल इंफ़्रास्ट्रक्चर को मैनेज करता है, ताकि आप अपने ऐप्लिकेशन पर फ़ोकस कर सकें:

क्षमता | Raw Live API | ADK Gemini Live API टूलकिट |
एजेंट फ़्रेमवर्क | शुरुआत से बनाएं | टूल, आकलन, और सुरक्षा के साथ सिंगल/मल्टी-एजेंट |
टूल का इस्तेमाल | मैन्युअल तरीके से हैंडल करना | एक साथ कई टेस्ट अपने-आप एक्ज़ीक्यूट होने की सुविधा |
कनेक्शन मैनेजमेंट | मैन्युअल तरीके से फिर से कनेक्ट करना | सेशन को पारदर्शी तरीके से फिर से शुरू करना |
इवेंट मॉडल | कस्टम स्ट्रक्चर | टाइप किए गए यूनिफ़ाइड इवेंट ऑब्जेक्ट |
एसिंक फ़्रेमवर्क | मैन्युअल तरीके से तालमेल बिठाना | LiveRequestQueue + run_live() जनरेटर |
सेशन की अवधि | मैन्युअल तरीके से लागू करना | इन-मेमोरी, Vertex AI या बिल्ट-इन एसक्यूएल |
अहम जानकारी: ADK की मदद से, इंफ़्रास्ट्रक्चर को डेवलप करने में लगने वाले महीनों के समय को ऐप्लिकेशन डेवलप करने में लगने वाले दिनों के समय में बदला जा सकता है. आपको इस बात पर ध्यान देना होता है कि आपका एजेंट क्या करता है, न कि स्ट्रीमिंग कैसे काम करती है.
असल दुनिया में इस्तेमाल के उदाहरण
- ग्राहक सेवा: एक ग्राहक, समस्या के बारे में बताते समय फ़ोन के कैमरे से अपनी खराब कॉफ़ी मशीन दिखाता है. एआई, मॉडल और समस्या की पहचान करता है. साथ ही, बातचीत के दौरान ग्राहक को जानकारी में बदलाव करने का विकल्प मिलता है.
- ई-कॉमर्स: कोई खरीदार अपने वेबकैम के सामने कपड़े दिखाता है और पूछता है, "इन पैंट से मैच करने वाले जूते ढूंढो." एजेंट, स्टाइल का विश्लेषण करता है और लगातार बातचीत करता है: "मुझे कुछ और कैज़ुअल दिखाओ" → "ये स्नीकर कैसे हैं?" → "नीले रंग के जूते, साइज़ 10 में जोड़ो."
- फ़ील्ड सर्विस: स्मार्ट चश्मा पहने हुए एक तकनीशियन, अपने चश्मे से दिख रही चीज़ों को स्ट्रीम कर रहा है. साथ ही, वह पूछ रहा है कि "मुझे इस कंप्रेसर से अजीब आवाज़ आ रही है—क्या आपको पता है कि यह आवाज़ किस वजह से आ रही है?" एजेंट, बिना हाथ लगाए सिलसिलेवार तरीके से निर्देश देता है.
- स्वास्थ्य सेवा: किसी मरीज़ ने त्वचा की समस्या का लाइव वीडियो शेयर किया है. एआई, शुरुआती विश्लेषण करता है, अतिरिक्त जानकारी के लिए सवाल पूछता है, और अगले चरणों के बारे में बताता है.
- वित्तीय सेवाएं: एजेंट, चार्ट दिखाता है और कारोबार पर पड़ने वाले असर के बारे में बताता है. वहीं, क्लाइंट अपने पोर्टफ़ोलियो की समीक्षा करता है. क्लाइंट, किसी खास समाचार लेख पर चर्चा करने के लिए अपनी स्क्रीन शेयर कर सकता है.
Shopper's Concierge 2 Demo: ई-कॉमर्स के लिए, रीयल-टाइम एजेंटिक RAG डेमो. इसे ADK Gemini Live API टूलकिट और Vertex AI Vector Search, Embeddings, Feature Store, और Ranking API की मदद से बनाया गया है:

ज़्यादा जानें: डेवलपर गाइड
ज़्यादा जानकारी के लिए, ADK Gemini Live API टूलकिट की डेवलपर गाइड देखें. यह पांच हिस्सों वाली सीरीज़ है. इसमें आर्किटेक्चर से लेकर प्रोडक्शन डिप्लॉयमेंट तक की जानकारी दी गई है:
हिस्सा | फ़ोकस | आपको क्या सीखने को मिलेगा |
दानशील संस्था | आर्किटेक्चर, लाइव एपीआई प्लैटफ़ॉर्म, चार चरणों वाली लाइफ़साइकल | |
अपस्ट्रीम | LiveRequestQueue के ज़रिए टेक्स्ट, ऑडियो, वीडियो भेजना | |
डाउनस्ट्रीम | इवेंट हैंडलिंग, टूल का इस्तेमाल, मल्टी-एजेंट वर्कफ़्लो | |
कॉन्फ़िगरेशन | सेशन मैनेजमेंट, कोटा, प्रोडक्शन कंट्रोल | |
मल्टीमॉडल | ऑडियो की खास बातें, मॉडल आर्किटेक्चर, ऐडवांस सुविधाएं |
2. वर्कशॉप के बारे में खास जानकारी
आपको क्या बनाना है
इस प्रैक्टिकल वर्कशॉप में, आपको शुरू से लेकर आखिर तक, दोनों दिशाओं में स्ट्रीम करने वाला एआई ऐप्लिकेशन बनाने का तरीका बताया जाएगा. इस कोर्स को पूरा करने के बाद, आपके पास एक ऐसा वॉइस एआई होगा जो ये काम कर सकता है:
- टेक्स्ट, ऑडियो, और इमेज इनपुट स्वीकार करना
- टेक्स्ट को स्ट्रीम करके या नैचुरल आवाज़ में जवाब देना
- रुकावटों को स्वाभाविक तरीके से मैनेज करना
- Google Search जैसे टूल का इस्तेमाल करें
दस्तावेज़ पढ़ने के बजाय, हर कॉम्पोनेंट की बारीकी से जाँच करें. साथ ही, यह समझें कि जैसे-जैसे आप आगे बढ़ते हैं, वैसे-वैसे ये कॉम्पोनेंट एक-दूसरे से कैसे जुड़ते हैं.

सीखने का तरीका
हम इंक्रीमेंटल बिल्ड अप्रोच का इस्तेमाल करते हैं:
- पहला चरण: कम से कम WebSocket सर्वर → "Hello World" रिस्पॉन्स
- दूसरा चरण: एजेंट जोड़ना → एआई के काम करने का तरीका और टूल तय करना
- तीसरा चरण: ऐप्लिकेशन शुरू करना → रनर और सेशन सेवा
- चौथा चरण: सेशन शुरू करना → RunConfig और LiveRequestQueue
- पांचवां चरण: अपस्ट्रीम टास्क → क्लाइंट से क्यू को कम्यूनिकेशन
- छठा चरण: डाउनस्ट्रीम टास्क → क्लाइंट स्ट्रीमिंग के लिए इवेंट
- सातवां चरण: ऑडियो जोड़ना → बोलकर निर्देश देना और स्क्रीन पर मौजूद कॉन्टेंट को सुनना
- आठवां चरण: इमेज इनपुट जोड़ें → मल्टीमॉडल एआई
हर चरण, पिछले चरण पर आधारित होता है. हर चरण के बाद, आपको टेस्ट देना होगा. इससे आपको अपनी प्रोग्रेस का पता चलेगा.
ज़रूरी शर्तें
- बिलिंग की सुविधा चालू वाला Google Cloud खाता
- Python और एसिंक्रोनस प्रोग्रामिंग (async/await) की बुनियादी जानकारी
- माइक्रोफ़ोन और वेब कैमरा ऐक्सेस करने वाला वेब ब्राउज़र (Chrome का सुझाव दिया जाता है)
अनुमानित समय
- पूरा वर्कशॉप: ~90 मिनट
- क्विक वर्शन (सिर्फ़ पहले चार चरण): ~45 मिनट
3. वर्कशॉप
यहां दिए गए निर्देशों का पालन करके, वर्कशॉप शुरू करें:
https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md
4. खास बातें और जानकारी
आपने क्या बनाया
आपने शुरू से लेकर आखिर तक, दोनों दिशाओं में डेटा स्ट्रीम करने वाला एआई ऐप्लिकेशन बनाया है. यह ऐप्लिकेशन, टेक्स्ट, आवाज़, और इमेज के इनपुट को हैंडल करता है. साथ ही, रीयल-टाइम में स्ट्रीमिंग के ज़रिए जवाब देता है. यह बातचीत करने वाले एआई को प्रोडक्शन के लिए तैयार करने का आधार है.
कॉम्पोनेंट | यह सुविधा क्या करती है | चरण |
एजेंट | इससे एआई की पर्सनैलिटी, निर्देश, और उपलब्ध टूल (जैसे, Google Search) तय होते हैं | दूसरा चरण |
SessionService | यह कुकी, फिर से कनेक्ट होने पर भी बातचीत के इतिहास को सेव रखती है | तीसरा चरण |
धावक | यह स्ट्रीमिंग के लाइफ़साइकल को मैनेज करता है. साथ ही, एजेंट को Live API से कनेक्ट करता है | तीसरा चरण |
RunConfig | यह कुकी, जवाब देने के तरीके (TEXT/AUDIO), ट्रांसक्रिप्शन, और सेशन फिर से शुरू करने की सुविधा को कॉन्फ़िगर करती है | चौथा चरण |
LiveRequestQueue | मॉडल को टेक्स्ट, ऑडियो, और इमेज भेजने के लिए यूनिफ़ाइड इंटरफ़ेस | पांचवां चरण |
run_live() | एसिंक जनरेटर, जो मॉडल से स्ट्रीमिंग इवेंट जनरेट करता है | छठा चरण |
send_realtime() | यह कुकी, लगातार स्ट्रीमिंग के लिए ऑडियो/इमेज ब्लोब भेजती है | सातवां और आठवां चरण |
संसाधन
इन आधिकारिक संसाधनों की मदद से सीखना जारी रखें. ADK Gemini Live API टूलकिट गाइड में, इस वर्कशॉप में बताई गई हर चीज़ के बारे में ज़्यादा जानकारी दी गई है.
संसाधन | यूआरएल |
ADK का दस्तावेज़ | |
ADK Gemini Live API टूलकिट गाइड | |
Gemini Live API | |
Vertex AI Live API | https://cloud.google.com/vertex-ai/generative-ai/docs/live-api |
ADK के सैंपल की रिपॉज़िटरी |