סטרימינג דו-כיווני באמצעות Gemini Live API



ה-Gemini Live API מאפשר אינטראקציות דו-כיווניות עם Gemini בטקסט ובקול עם זמן אחזור נמוך. בעזרת Live API, תוכלו לספק למשתמשי הקצה חוויה של שיחות קוליות טבעיות דמויות-אנושיות, עם היכולת להפריע לתשובות של המודל באמצעות פקודות טקסט או קוליות. המודל יכול לעבד קלט של טקסט ואודיו (סרטון בקרוב!), ויכול לספק פלט של טקסט ואודיו.

אפשר ליצור אב טיפוס באמצעות הנחיות והאפשרות Live API בקטע Vertex AI Studio.

Live API הוא ממשק API עם מצב שמייצר חיבור WebSocket כדי ליצור סשן בין הלקוח לבין שרת Gemini. פרטים נוספים זמינים במאמרי העזרה של Live API.

לפני שמתחילים

אם עדיין לא עשיתם זאת, כדאי לעיין במדריך למתחילים, שבו מוסבר איך מגדירים את פרויקט Firebase, מחברים את האפליקציה ל-Firebase, מוסיפים את ה-SDK, מאתחלים את השירות Vertex AI ויוצרים מכונה של LiveModel.

חשוב לזכור: כדי להשתמש ב-Live API:

  • חשוב לוודא שאתם משתמשים לפחות בגרסאות הספריות הבאות של Firebase:
    iOS+: התמיכה עדיין לא זמינה | Android: v16.3.0 ואילך (BoM: v33.12.0 ואילך) | אינטרנט: התמיכה עדיין לא זמינה | Flutter: v1.5.0 ואילך (BoM: v3.9.0 ואילך)

  • יוצרים מכונה של LiveModel (לא מכונה של GenerativeModel).

מודלים שתומכים ביכולת הזו

השדה Live API נתמך רק על ידי gemini-2.0-flash-live-preview-04-09 (לא על ידי gemini-2.0-flash).

שימוש בתכונות הסטנדרטיות של Live API

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

שליחה וקבלה של הודעות טקסט

אפשר לשלוח קלט של טקסט בסטרימינג ולקבל פלט של טקסט בסטרימינג. חשוב ליצור מכונה של liveModel ולהגדיר את אופן התגובה ל-Text.

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

שליחה וקבלה של אודיו

אפשר לשלוח קלט אודיו בסטרימינג ולקבל פלט אודיו בסטרימינג. חשוב ליצור מכונה של LiveModel ולהגדיר את אופן התגובה כ-Audio.

בהמשך הדף מוסבר איך מגדירים ומתאימים אישית את הקול של התשובה.

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



יצירת חוויות אינטראקטיביות ומעניינות יותר

בקטע הזה נסביר איך ליצור ולנהל תכונות אינטראקטיביות או מעניינות יותר של Live API.

שינוי הקול של התשובה

ב-Live API נעשה שימוש ב-Chirp 3 כדי לתמוך בתשובות דיבור מסונתזות. כשמשתמשים ב-Vertex AI in Firebase, אפשר לשלוח אודיו ב-5 קולות HD וב-31 שפות.

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

Aoede (נקבה)
Charon (זכר)
Fenrir (זכר)
Kore (נקבה)
Puck (זכר)

כדי לשמוע דמואים של הקולות האלה ולראות את הרשימה המלאה של השפות הזמינות, אפשר לעיין במאמר Chirp 3: קולות HD.

כדי לציין קול, מגדירים את שם הקול באובייקט speechConfig כחלק מהגדרת המודל:

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

RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.

שמירה על ההקשר בין סשנים ובקשות

אתם יכולים להשתמש במבנה צ'אט כדי לשמור על ההקשר בין סשנים ובקשות. חשוב לזכור שהאפשרות הזו פועלת רק עם קלט טקסט ופלט טקסט.

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

טיפול בהפרעות

Vertex AI in Firebase עדיין לא תומך בטיפול בהפרעות. בדוק שוב בקרוב!

שימוש בקריאה לפונקציות (כלים)

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

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

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

הלקוח צריך להשיב עם BidiGenerateContentToolResponse.



מגבלות ודרישות

חשוב לזכור את המגבלות והדרישות הבאות של Live API.

תעתיק

Vertex AI in Firebase עדיין לא תומך בתמלילים. בדוק שוב בקרוב!

שפות

פורמטים של אודיו

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

  • פורמט קלט אודיו: אודיו PCM גולמי של 16 ביט ב-16kHz little-endian
  • פורמט אודיו בפלט: אודיו PCM גולמי של 16 ביט בקצב 24kHz ב-little-endian

הגבלות קצב

חלות עליך מגבלות הקצב הבאות:

  • 10 סשנים בו-זמניים לכל פרויקט Firebase
  • 4 מיליון טוקנים לדקה

משך הסשן

אורך הסשן שמוגדר כברירת מחדל הוא 30 דקות. כשמשך הסשן חורג מהמגבלה, החיבור מסתיים.

המודל מוגבל גם על ידי גודל ההקשר. שליחת קטעי קלט גדולים עלולה לגרום לסיום מוקדם של הסשן.

זיהוי פעילות קול (VAD)

המודל מבצע זיהוי פעילות קולית (VAD) באופן אוטומטי על מקור קלט אודיו רציף. VAD מופעל כברירת מחדל.

ספירת טוקנים

אי אפשר להשתמש ב-API של CountTokens עם Live API.