מבוא לערכת הכלים ADK Gemini Live API

1. מהי הזרמת נתונים דו-כיוונית?

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

  • קלט רציף: הזרמת אודיו, וידאו או טקסט בזמן שהם מצולמים
  • פלט בזמן אמת: קבלת תשובות מ-AI בזמן שהן נוצרות
  • הפרעה טבעית: משתמשים יכולים להפריע ל-AI באמצע התשובה, בדיוק כמו בשיחה בין בני אדם

6e82a81aa114e116.png

למה זה חשוב: הזרמת נתונים דו-כיוונית מאפשרת שיחות טבעיות עם AI. ה-AI יכול להגיב בזמן שאתם עדיין מספקים הקשר, ואתם יכולים לקטוע אותו כששמעתם מספיק – בדיוק כמו שמדברים עם בן אדם.

מה זה ADK Gemini Live API Toolkit?

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

b0066935f4c245d2.png

ערכת הכלים של ADK Gemini Live API מנהלת:

  • מחזור החיים של החיבור: יצירה, תחזוקה ושחזור של חיבורי WebSocket
  • ניתוב הודעות: העברת אודיו, טקסט ותמונות למטפלים המתאימים
  • מצב הפעלה: שמירת היסטוריית השיחות גם אחרי התחברות מחדש
  • הפעלת הכלי: התקשרות אוטומטית והמשך משיחות עם פונקציות

למה כדאי להשתמש ב-ADK ולא ב-Live API?

אפשר לבנות ישירות על Gemini Live API, אבל ADK מטפל בתשתית המורכבת כדי שתוכלו להתמקד באפליקציה שלכם:

61c685c2703e3aac.png

יכולת

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:

הדגמה של Concierge לשופינג 2

מידע נוסף: מדריך למפתחים

לעיון מעמיק, אפשר לקרוא את מדריך למפתחים: ADK Gemini Live API Toolkit – סדרה בת 5 חלקים שכוללת מידע על ארכיטקטורה ועד לפריסה בסביבת ייצור:

Part

מיקוד

מה תלמדו

חלק 1

קרן

ארכיטקטורה, פלטפורמות API פעילות, מחזור חיים של 4 שלבים

חלק 2

Upstream

שליחת טקסט, אודיו ווידאו באמצעות LiveRequestQueue

חלק 3

השלכה

טיפול באירועים, הרצת כלים, תהליכי עבודה עם כמה סוכנים

חלק 4

הגדרות אישיות

ניהול סשנים, מכסות, אמצעי בקרה של סביבת ייצור

חלק 5

מולטי-מודאלי

מפרטי אודיו, ארכיטקטורות של מודלים, תכונות מתקדמות

2. סקירה כללית של הסדנה

מה תפַתחו

בסדנה המעשית הזו, תיצרו מאפס אפליקציית AI מלאה לסטרימינג דו-כיווני. בסוף התהליך, יהיה לכם AI קולי פעיל שיכול:

  • קבלת קלט של טקסט, אודיו ותמונות
  • תשובה בטקסט או בדיבור טבעי
  • איך מתמודדים עם הפרעות באופן טבעי
  • שימוש בכלים כמו חיפוש Google

בניגוד לקריאת תיעוד, תוכלו לבחון כל רכיב שלב אחר שלב, ולהבין איך החלקים משתלבים ככל שתבנו את האפליקציה באופן מצטבר.

הדגמה של ADK Gemini Live API Toolkit

גישה ללמידה

אנחנו פועלים לפי גישה של בנייה מצטברת:

  • שלב 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

https://google.github.io/adk-docs/

ADK Gemini Live API Toolkit Guide

https://google.github.io/adk-docs/streaming/dev-guide/

Gemini Live API

https://ai.google.dev/gemini-api/docs/live

Vertex AI Live API

https://cloud.google.com/vertex-ai/generative-ai/docs/live-api

מאגר דוגמאות ל-ADK

https://github.com/google/adk-samples