1. מהי הזרמת נתונים דו-כיוונית?
סטרימינג דו-כיווני (bidi-streaming) מאפשר תקשורת דו-כיוונית סימולטנית בין האפליקציה שלכם לבין מודלים של AI. בניגוד לדפוסי בקשה-תשובה מסורתיים שבהם שולחים הודעה מלאה ומחכים לתשובה מלאה, bidi-streaming מאפשר:
- קלט רציף: הזרמת אודיו, וידאו או טקסט בזמן שהם מצולמים
- פלט בזמן אמת: קבלת תשובות מ-AI בזמן שהן נוצרות
- הפרעה טבעית: משתמשים יכולים להפריע ל-AI באמצע התשובה, בדיוק כמו בשיחה בין בני אדם

למה זה חשוב: הזרמת נתונים דו-כיוונית מאפשרת שיחות טבעיות עם AI. ה-AI יכול להגיב בזמן שאתם עדיין מספקים הקשר, ואתם יכולים לקטוע אותו כששמעתם מספיק – בדיוק כמו שמדברים עם בן אדם.
מה זה ADK Gemini Live API Toolkit?
Agent Development Kit (ADK) מספק הפשטה ברמה גבוהה של Gemini Live API, ומטפל בצינורות המורכבים של סטרימינג בזמן אמת, כדי שתוכלו להתמקד בפיתוח האפליקציה.

ערכת הכלים של ADK Gemini Live API מנהלת:
- מחזור החיים של החיבור: יצירה, תחזוקה ושחזור של חיבורי WebSocket
- ניתוב הודעות: העברת אודיו, טקסט ותמונות למטפלים המתאימים
- מצב הפעלה: שמירת היסטוריית השיחות גם אחרי התחברות מחדש
- הפעלת הכלי: התקשרות אוטומטית והמשך משיחות עם פונקציות
למה כדאי להשתמש ב-ADK ולא ב-Live API?
אפשר לבנות ישירות על Gemini Live API, אבל ADK מטפל בתשתית המורכבת כדי שתוכלו להתמקד באפליקציה שלכם:

יכולת | Raw Live API | ערכת הכלים של ADK Gemini Live API |
Agent Framework | בנייה ללא תבנית | סוכן יחיד או כמה סוכנים עם כלים, הערכה ואבטחה |
הרצת כלי | טיפול ידני | הרצה מקבילה אוטומטית |
ניהול חיבורים | חיבור מחדש ידני | חידוש סשן בצורה שקופה |
מודל האירוע | מבנים בהתאמה אישית | אובייקטים מאוחדים של אירועים עם הקלדה |
Async Framework | תיאום ידני | LiveRequestQueue + מחולל run_live() |
המשכיות של סשנים | הטמעה ידנית | SQL מובנה, Vertex AI או בזיכרון |
בשורה התחתונה: ADK מקצר את תהליך פיתוח התשתית מחודשים לימים של פיתוח אפליקציות. אתם מתמקדים במה שהסוכן עושה, ולא בדרך שבה הסטרימינג פועל.
תרחישים לדוגמה בעולם האמיתי
- שירות לקוחות: לקוח מראה את מכונת הקפה הפגומה שלו דרך מצלמת הטלפון ומסביר את הבעיה. ה-AI מזהה את המודל ואת נקודת הכשל, והלקוח יכול להתערב כדי לתקן פרטים באמצע השיחה.
- מסחר אלקטרוני: קונה מחזיק בגד מול מצלמת האינטרנט ושואל: "תמצא לי נעליים שמתאימות למכנסיים האלה". הסוכן מנתח את הסגנון ומנהל שיחה שוטפת: "תראה לי משהו יותר קז'ואל" ← "מה דעתך על נעלי הספורט האלה?" ← "Add the blue ones in size 10" (הוסף את הכחולות במידה 10).
- Field Service: טכנאי שמרכיב משקפיים חכמים משתף את מה שהוא רואה בסטרימינג ושואל: "אני שומע רעש מוזר מהמדחס הזה – אתה יכול לזהות אותו?" הסוכן מספק הדרכה מפורטת ללא מגע.
- בריאות: מטופל משתף וידאו בשידור חי של מצב העור שלו. ה-AI מבצע ניתוח מקדים, שואל שאלות הבהרה ומנחה לגבי השלבים הבאים.
- שירותים פיננסיים: לקוח בודק את תיק ההשקעות שלו בזמן שהסוכן מציג תרשימים ומדמה את ההשפעות של מסחר. הלקוח יכול לשתף את המסך שלו כדי לדון בכתבות חדשותיות ספציפיות.
הדגמה של Shopper's Concierge 2: הדגמה של RAG בזמן אמת עם סוכן למסחר אלקטרוני, שנבנתה באמצעות ADK Gemini Live API Toolkit ו-Vertex AI Vector Search, Embeddings, Feature Store ו-Ranking API:

מידע נוסף: מדריך למפתחים
לעיון מעמיק, אפשר לקרוא את מדריך למפתחים: ADK Gemini Live API Toolkit – סדרה בת 5 חלקים שכוללת מידע על ארכיטקטורה ועד לפריסה בסביבת ייצור:
Part | מיקוד | מה תלמדו |
קרן | ארכיטקטורה, פלטפורמות API פעילות, מחזור חיים של 4 שלבים | |
Upstream | שליחת טקסט, אודיו ווידאו באמצעות LiveRequestQueue | |
השלכה | טיפול באירועים, הרצת כלים, תהליכי עבודה עם כמה סוכנים | |
הגדרות אישיות | ניהול סשנים, מכסות, אמצעי בקרה של סביבת ייצור | |
מולטי-מודאלי | מפרטי אודיו, ארכיטקטורות של מודלים, תכונות מתקדמות |
2. סקירה כללית של הסדנה
מה תפַתחו
בסדנה המעשית הזו, תיצרו מאפס אפליקציית AI מלאה לסטרימינג דו-כיווני. בסוף התהליך, יהיה לכם AI קולי פעיל שיכול:
- קבלת קלט של טקסט, אודיו ותמונות
- תשובה בטקסט או בדיבור טבעי
- איך מתמודדים עם הפרעות באופן טבעי
- שימוש בכלים כמו חיפוש Google
בניגוד לקריאת תיעוד, תוכלו לבחון כל רכיב שלב אחר שלב, ולהבין איך החלקים משתלבים ככל שתבנו את האפליקציה באופן מצטבר.

גישה ללמידה
אנחנו פועלים לפי גישה של בנייה מצטברת:
- שלב 1: שרת WebSocket מינימלי → תגובה 'Hello World'
- שלב 2: הוספת הסוכן → הגדרת ההתנהגות והכלים של ה-AI
- שלב 3: הפעלת האפליקציה ← שירות ההרצה ושירות הסשן
- שלב 4: הפעלת סשן → RunConfig ו-LiveRequestQueue
- שלב 5: משימה במעלה הזרם ← תקשורת בין הלקוח לתור
- שלב 6: משימה במורד הזרם → אירועים להזרמת נתונים ללקוח
- שלב 7: הוספת אודיו → קלט ופלט קוליים
- שלב 8: הוספת קלט תמונה → AI רב-אופני
כל שלב מתבסס על השלב הקודם. אחרי כל שלב תבדקו את ההתקדמות שלכם.
דרישות מוקדמות
- חשבון Google Cloud עם חיוב מופעל
- ידע בסיסי ב-Python ובתוכנות אסינכרוניות (async/await)
- דפדפן אינטרנט עם גישה למיקרופון ולמצלמת אינטרנט (מומלץ להשתמש ב-Chrome)
זמן משוער
- סדנה מלאה: כ-90 דקות
- גרסה מהירה (שלבים 1-4 בלבד): כ-45 דקות
3. סדנה
כדי להתחיל את הסדנה, פועלים לפי ההוראות הבאות:
https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md
4. סיכום ומסקנות עיקריות
מה יצרתם
יצרתם אפליקציית AI מלאה לסטרימינג דו-כיווני מאפס. האפליקציה מטפלת בקלט של טקסט, קול ותמונות עם תשובות בזמן אמת בסטרימינג – הבסיס ליצירת AI בממשק שיחה שמוכן לייצור.
רכיב | מה עושים עם זה | שלב |
סוכן | הגדרת האישיות של ה-AI, ההוראות והכלים הזמינים (למשל, חיפוש Google) | שלב 2 |
SessionService | היסטוריית השיחות נשמרת גם כשמתנתקים ומתחברים מחדש | שלב 3 |
מירוץ מקצועי | מנהל את מחזור החיים של הסטרימינג, מחבר את הנציג ל-Live API | שלב 3 |
RunConfig | הגדרה של אופן התגובה (טקסט/אודיו), תמלול, חידוש של סשן | שלב 4 |
LiveRequestQueue | ממשק מאוחד לשליחת טקסט, אודיו ותמונות למודל | שלב 5 |
run_live() | גנרטור אסינכרוני שמחזיר אירועים של סטרימינג מהמודל | שלב 6 |
send_realtime() | שליחת נתוני אודיו/תמונה לסטרימינג רציף | שלב 7-8 |
משאבים
כדאי להמשיך ללמוד באמצעות המשאבים הרשמיים האלה. במדריך לערכת הכלים של Gemini Live API ב-ADK יש מידע מפורט יותר על כל מה שמופיע בסדנה הזו.
משאב | כתובת URL |
מאמרי עזרה בנושא ADK | |
ADK Gemini Live API Toolkit Guide | |
Gemini Live API | |
Vertex AI Live API | https://cloud.google.com/vertex-ai/generative-ai/docs/live-api |
מאגר דוגמאות ל-ADK |