Live API - WebSockets API reference

‫Live API הוא API עם שמירת מצב שמשתמש ב-WebSockets. בקטע הזה מופיעים פרטים נוספים על WebSockets API.

ביקורים

חיבור WebSocket יוצר סשן בין הלקוח לבין שרת Gemini. אחרי שהלקוח יוזם חיבור חדש, הסשן יכול להעביר הודעות עם השרת כדי:

  • שליחת טקסט, אודיו או וידאו לשרת Gemini.
  • לקבל בקשות לאודיו, לטקסט או לשיחות פונקציה משרת Gemini.

חיבור WebSocket

כדי להתחיל סשן, מתחברים לנקודת הקצה הזו של websocket:

wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent

הגדרת הסשן

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

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

לפניכם דוגמה להגדרה. שימו לב שהאותיות בשם יכולות להיות שונות ב-SDK. כאן אפשר לעיין באפשרויות ההגדרה של Python SDK.


{
  "model": string,
  "generationConfig": {
    "candidateCount": integer,
    "maxOutputTokens": integer,
    "temperature": number,
    "topP": number,
    "topK": integer,
    "presencePenalty": number,
    "frequencyPenalty": number,
    "responseModalities": [string],
    "speechConfig": object,
    "mediaResolution": object
  },
  "systemInstruction": string,
  "tools": [object]
}

מידע נוסף על שדה ה-API זמין במאמר בנושא generationConfig.

שליחת הודעות

כדי להחליף הודעות דרך חיבור WebSocket, הלקוח צריך לשלוח אובייקט JSON דרך חיבור WebSocket פתוח. אובייקט ה-JSON חייב להכיל בדיוק אחד מהשדות מקבוצת האובייקטים הבאה:


{
  "setup": BidiGenerateContentSetup,
  "clientContent": BidiGenerateContentClientContent,
  "realtimeInput": BidiGenerateContentRealtimeInput,
  "toolResponse": BidiGenerateContentToolResponse
}

הודעות נתמכות לעסק

בטבלה הבאה מפורטות הודעות הלקוח הנתמכות:

שליחת הודעה תיאור
BidiGenerateContentSetup הגדרת הסשן שתישלח בהודעה הראשונה
BidiGenerateContentClientContent עדכון מצטבר של תוכן השיחה הנוכחית שמועבר מהלקוח
BidiGenerateContentRealtimeInput קלט אודיו, וידאו או טקסט בזמן אמת
BidiGenerateContentToolResponse תגובה ל-ToolCallMessage שהתקבלה מהשרת

קבלת הודעות

כדי לקבל הודעות מ-Gemini, צריך להאזין לאירוע 'message' של WebSocket, ואז לנתח את התוצאה בהתאם להגדרה של הודעות השרת הנתמכות.

תוכלו לעיין במקורות המידע הבאים:

async with client.aio.live.connect(model='...', config=config) as session:
    await session.send(input='Hello world!', end_of_turn=True)
    async for message in session.receive():
        print(message)

יכול להיות שהודעות מהשרת יכללו את השדה usageMetadata, אבל הן יכללו בדיוק אחד מהשדות האחרים מההודעה BidiGenerateContentServerMessage. (האיחוד messageType לא מופיע ב-JSON, ולכן השדה יופיע ברמה העליונה של ההודעה).

הודעות ואירועים

ActivityEnd

בסוג הזה אין שדות.

מציין את סוף פעילות המשתמש.

ActivityHandling

הדרכים השונות לטיפול בפעילות המשתמשים.

טיפוסים בני מנייה (enum)
ACTIVITY_HANDLING_UNSPECIFIED אם לא מציינים ערך, ברירת המחדל היא START_OF_ACTIVITY_INTERRUPTS.
START_OF_ACTIVITY_INTERRUPTS אם הערך הוא True, תחילת הפעילות תקטע את התגובה של המודל (נקראת גם 'התפרצות'). התשובה הנוכחית של המודל תיקטע ברגע ההפרעה. זו התנהגות ברירת המחדל.
NO_INTERRUPTION התשובה של המודל לא תיקטע.

ActivityStart

בסוג הזה אין שדות.

סימון תחילת הפעילות של המשתמש.

AudioTranscriptionConfig

בסוג הזה אין שדות.

הגדרת תמלול האודיו.

AutomaticActivityDetection

ההגדרה קובעת את האפשרויות לזיהוי אוטומטי של פעילות.

שדות
disabled

bool

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

startOfSpeechSensitivity

StartSensitivity

אופציונלי. קובע את הסבירות לזיהוי דיבור.

prefixPaddingMs

int32

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

endOfSpeechSensitivity

EndSensitivity

אופציונלי. קובעת את הסבירות לכך שהדיבור שזוהה הסתיים.

silenceDurationMs

int32

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

BidiGenerateContentClientContent

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

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

שדות
turns[]

Content

אופציונלי. התוכן שמצורף לשיחה הנוכחית עם המודל.

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

turnComplete

bool

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

BidiGenerateContentRealtimeInput

קלט משתמש שנשלח בזמן אמת.

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

יש כמה הבדלים בין BidiGenerateContentClientContent לבין:

  • אפשר לשלוח אותם ברציפות בלי להפריע ליצירת המודל.
  • אם יש צורך לשלב נתונים שמופיעים לסירוגין ב- BidiGenerateContentClientContent וב- BidiGenerateContentRealtimeInput, השרת ינסה לבצע אופטימיזציה כדי לספק את התגובה הטובה ביותר, אבל אין ערובה לכך.
  • סוף התור לא מצוין באופן מפורש, אלא נגזר מפעילות המשתמש (לדוגמה, סוף הדיבור).
  • עוד לפני סוף התור, הנתונים עוברים עיבוד מצטבר כדי לייעל את תחילת התשובה מהמודל.
שדות
mediaChunks[]

Blob

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

יצא משימוש: במקומו צריך להשתמש באחד מהערכים audio, video או text.

audio

Blob

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

video

Blob

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

activityStart

ActivityStart

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

activityEnd

ActivityEnd

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

audioStreamEnd

bool

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

האירוע הזה צריך להישלח רק כשההגדרה 'זיהוי פעילות אוטומטי' מופעלת (זו הגדרת ברירת המחדל).

הלקוח יכול לפתוח מחדש את השיחה על ידי שליחת הודעה קולית.

text

string

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

BidiGenerateContentServerContent

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

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

שדות
generationComplete

bool

פלט בלבד. אם הערך הוא True, המשמעות היא שהמודל סיים את היצירה.

אם המודל מופסק במהלך יצירה, לא תהיה הודעה מסוג generation_complete בתור שהופסק, והוא יעבור דרך interrupted > turn_complete.

כשהמודל מניח שההפעלה מתבצעת בזמן אמת, יהיה עיכוב בין generation_complete לבין turn_complete, כי המודל ימתין עד שההפעלה תסתיים.

turnComplete

bool

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

interrupted

bool

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

groundingMetadata

GroundingMetadata

פלט בלבד. הוספת מטא-נתונים לתוכן שנוצר.

inputTranscription

BidiGenerateContentTranscription

פלט בלבד. תמלול אודיו. התמליל נשלח בנפרד מההודעות האחרות בשרת, ואין סדר מובטח.

outputTranscription

BidiGenerateContentTranscription

פלט בלבד. פלט של תמליל האודיו. התמליל נשלח בנפרד מההודעות האחרות בשרת, ואין ערובה לסדר מסוים, במיוחד לא בין serverContent לבין outputTranscription.

urlContextMetadata

UrlContextMetadata

modelTurn

Content

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

BidiGenerateContentServerMessage

הודעת התגובה לקריאה BidiGenerateContent.

שדות
usageMetadata

UsageMetadata

פלט בלבד. מטא-נתונים של השימוש לגבי התשובות.

שדה איחוד messageType. סוג ההודעה. הערך messageType יכול להיות רק אחד מהבאים:
setupComplete

BidiGenerateContentSetupComplete

פלט בלבד. ההודעה נשלחת בתגובה להודעה BidiGenerateContentSetup מהלקוח כשההגדרה מסתיימת.

serverContent

BidiGenerateContentServerContent

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

toolCall

BidiGenerateContentToolCall

פלט בלבד. בקשה מהלקוח להפעיל את functionCalls ולהחזיר את התשובות עם הערכים התואמים של id.

toolCallCancellation

BidiGenerateContentToolCallCancellation

פלט בלבד. הודעה ללקוח שצריך לבטל את ToolCallMessage שהונפק בעבר עם ids שצוינו.

goAway

GoAway

פלט בלבד. הודעה שהשרת יתנתק בקרוב.

sessionResumptionUpdate

SessionResumptionUpdate

פלט בלבד. עדכון של מצב חידוש הסשן.

BidiGenerateContentSetup

ההודעה שתישלח ב-BidiGenerateContentClientMessage הראשון (ורק בו). מכיל הגדרה שתחול למשך ה-RPC של הסטרימינג.

הלקוחות צריכים להמתין להודעה BidiGenerateContentSetupComplete לפני שליחת הודעות נוספות.

שדות
model

string

חובה. שם המשאב של המודל. הערך הזה משמש כמזהה לשימוש במודל.

פורמט: models/{model}

generationConfig

GenerationConfig

אופציונלי. הגדרות ליצירה.

אין תמיכה בשדות הבאים:

  • responseLogprobs
  • responseMimeType
  • logprobs
  • responseSchema
  • stopSequence
  • routingConfig
  • audioTimestamp
systemInstruction

Content

אופציונלי. ההוראות למודל שסופקו על ידי המשתמש.

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

tools[]

Tool

אופציונלי. רשימה של Tools שהמודל עשוי להשתמש בהם כדי ליצור את התשובה הבאה.

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

realtimeInputConfig

RealtimeInputConfig

אופציונלי. הגדרת הטיפול בקלט בזמן אמת.

sessionResumption

SessionResumptionConfig

אופציונלי. הגדרת מנגנון לחידוש סשן.

אם הוא כלול, השרת ישלח SessionResumptionUpdate הודעות.

contextWindowCompression

ContextWindowCompressionConfig

אופציונלי. המדיניות מגדירה מנגנון דחיסה של חלון ההקשר.

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

inputAudioTranscription

AudioTranscriptionConfig

אופציונלי. אם המדיניות מוגדרת, היא מאפשרת תמלול של קלט קולי. התמלול מותאם לשפת האודיו של הקלט, אם היא מוגדרת.

outputAudioTranscription

AudioTranscriptionConfig

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

proactivity

ProactivityConfig

אופציונלי. הגדרת הפרואקטיביות של המודל.

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

BidiGenerateContentSetupComplete

בסוג הזה אין שדות.

נשלח בתגובה להודעה מלקוח BidiGenerateContentSetup.

BidiGenerateContentToolCall

בקשה מהלקוח להפעיל את functionCalls ולהחזיר את התשובות עם הערכים התואמים של id.

שדות
functionCalls[]

FunctionCall

פלט בלבד. הבקשה להפעלת פונקציה שרוצים לבצע.

BidiGenerateContentToolCallCancellation

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

שדות
ids[]

string

פלט בלבד. המזהים של קריאות הכלים שרוצים לבטל.

BidiGenerateContentToolResponse

תגובה שנוצרה על ידי הלקוח ל-ToolCall שהתקבלה מהשרת. אובייקטים ספציפיים מסוג FunctionResponse משויכים לאובייקטים המתאימים מסוג FunctionCall באמצעות השדה id.

שימו לב שבפונקציות של GenerateContent API מסוג unary ו-server-streaming, קריאה לפונקציה מתבצעת על ידי החלפת החלקים Content, ואילו בפונקציות של GenerateContent API מסוג bidi, קריאה לפונקציה מתבצעת באמצעות קבוצת ההודעות הייעודית הזו.

שדות
functionResponses[]

FunctionResponse

אופציונלי. התשובה לקריאות לפונקציות.

BidiGenerateContentTranscription

תמלול של אודיו (קלט או פלט).

שדות
text

string

טקסט התמלול.

ContextWindowCompressionConfig

הפעלה של דחיסת חלון הקשר – מנגנון לניהול חלון הקשר של המודל כך שהוא לא יעלה על אורך נתון.

שדות
שדה איחוד compressionMechanism. מנגנון הדחיסה של חלון ההקשר שבו נעשה שימוש. הערך compressionMechanism יכול להיות רק אחד מהבאים:
slidingWindow

SlidingWindow

מנגנון של חלון נע.

triggerTokens

int64

מספר הטוקנים (לפני הרצת תור) שנדרשים להפעלת דחיסה של חלון ההקשר.

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

אם לא מגדירים את המדיניות, ברירת המחדל היא 80% ממגבלת חלון ההקשר של המודל. כך נשארים 20% לבקשת המשתמש או לתשובת המודל הבאה.

EndSensitivity

קובעת איך מזוהה סוף הדיבור.

טיפוסים בני מנייה (enum)
END_SENSITIVITY_UNSPECIFIED ברירת המחדל היא END_SENSITIVITY_HIGH.
END_SENSITIVITY_HIGH זיהוי אוטומטי מסיים את הדיבור לעיתים קרובות יותר.
END_SENSITIVITY_LOW זיהוי אוטומטי מסיים את הדיבור בתדירות נמוכה יותר.

GoAway

הודעה שהשרת יתנתק בקרוב.

שדות
timeLeft

Duration

הזמן שנותר לפני שהחיבור יסתיים כשהסטטוס שלו יהיה ABORTED.

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

ProactivityConfig

הגדרות לתכונות פרואקטיביות.

שדות
proactiveAudio

bool

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

RealtimeInputConfig

הגדרת התנהגות הקלט בזמן אמת ב-BidiGenerateContent.

שדות
automaticActivityDetection

AutomaticActivityDetection

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

activityHandling

ActivityHandling

אופציונלי. הגדרה של ההשפעה של הפעילות.

turnCoverage

TurnCoverage

אופציונלי. הגדרה של הקלט שייכלל בתור של המשתמש.

SessionResumptionConfig

הגדרת חידוש הסשן.

ההודעה הזו נכללת בהגדרות הסשן כ-BidiGenerateContentSetup.sessionResumption. אם הוגדר, השרת ישלח הודעות SessionResumptionUpdate.

שדות
handle

string

הכינוי של סשן קודם. אם הוא לא קיים, נוצר סשן חדש.

מזהי סשן מגיעים מערכי SessionResumptionUpdate.token בחיבורים קודמים.

SessionResumptionUpdate

עדכון של מצב חידוש הסשן.

הערך נשלח רק אם הוגדר BidiGenerateContentSetup.sessionResumption.

שדות
newHandle

string

ידית חדשה שמייצגת מצב שאפשר להמשיך ממנו. השדה ריק אם resumable=false.

resumable

bool

הערך הוא True אם אפשר לחדש את הסשן הנוכחי בשלב הזה.

בנקודות מסוימות בסשן אי אפשר לחדש את הפעילות. לדוגמה, כשהמודל מבצע קריאות לפונקציות או יוצר תוכן. חידוש הסשן (באמצעות טוקן של סשן קודם) במצב כזה יוביל לאובדן נתונים. במקרים כאלה, newHandle יהיה ריק ו-resumable יהיה false.

SlidingWindow

השיטה SlidingWindow פועלת על ידי השמטת תוכן בתחילת חלון ההקשר. ההקשר שיתקבל תמיד יתחיל בתחילת תור של תפקיד המשתמש. ההוראות למערכת וכל BidiGenerateContentSetup.prefixTurns תמיד יישארו בתחילת התוצאה.

שדות
targetTokens

int64

מספר הטוקנים שרוצים לשמור. ערך ברירת המחדל הוא trigger_tokens/2.

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

StartSensitivity

קובע איך מזוהה תחילת הדיבור.

טיפוסים בני מנייה (enum)
START_SENSITIVITY_UNSPECIFIED ברירת המחדל היא START_SENSITIVITY_HIGH.
START_SENSITIVITY_HIGH הזיהוי האוטומטי יזהה את תחילת הדיבור בתדירות גבוהה יותר.
START_SENSITIVITY_LOW הזיהוי האוטומטי יזהה את תחילת הדיבור בתדירות נמוכה יותר.

TurnCoverage

אפשרויות לגבי הקלט שנכלל בתור של המשתמש.

טיפוסים בני מנייה (enum)
TURN_COVERAGE_UNSPECIFIED אם לא מציינים ערך, ברירת המחדל היא TURN_INCLUDES_ONLY_ACTIVITY.
TURN_INCLUDES_ONLY_ACTIVITY הפעילות שמתבצעת במהלך תור המשתמש כוללת רק את הפעילות שבוצעה מאז התור הקודם, לא כולל חוסר פעילות (למשל, שקט בזרם האודיו). זו התנהגות ברירת המחדל.
TURN_INCLUDES_ALL_INPUT התור של המשתמש כולל את כל הקלט בזמן אמת מאז התור האחרון, כולל חוסר פעילות (למשל, שקט בזרם האודיו).

UrlContextMetadata

מטא-נתונים שקשורים לכלי לאחזור הקשר של כתובת URL.

שדות
urlMetadata[]

UrlMetadata

רשימה של הקשרים של כתובות URL.

UsageMetadata

מטא-נתונים של השימוש לגבי התשובות.

שדות
promptTokenCount

int32

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

cachedContentTokenCount

int32

מספר הטוקנים בחלק המאוחסן במטמון של ההנחיה (התוכן המאוחסן במטמון)

responseTokenCount

int32

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

toolUsePromptTokenCount

int32

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

thoughtsTokenCount

int32

פלט בלבד. מספר הטוקנים של המחשבות של מודלים חושבים.

totalTokenCount

int32

פלט בלבד. המספר הכולל של הטוקנים בבקשת היצירה (הנחיה + מועמדים לתשובה).

promptTokensDetails[]

ModalityTokenCount

פלט בלבד. רשימת האופנים שבוצעו בקלט של הבקשה.

cacheTokensDetails[]

ModalityTokenCount

פלט בלבד. רשימת אופנויות של התוכן שנשמר במטמון בקלט של הבקשה.

responseTokensDetails[]

ModalityTokenCount

פלט בלבד. רשימת האופנים שהוחזרו בתשובה.

toolUsePromptTokensDetails[]

ModalityTokenCount

פלט בלבד. רשימה של אופנויות שעברו עיבוד כקלט לבקשות לשימוש בכלים.

טוקנים זמניים לאימות

אפשר לקבל אסימוני אימות זמניים על ידי קריאה ל-AuthTokenService.CreateToken ואז להשתמש בהם עם GenerativeService.BidiGenerateContentConstrained, על ידי העברת האסימון בפרמטר שאילתה access_token או בכותרת HTTP Authorization עם הקידומת Token.

CreateAuthTokenRequest

יצירת אסימון אימות זמני.

שדות
authToken

AuthToken

חובה. הטוקן שרוצים ליצור.

AuthToken

בקשה ליצירת טוקן אימות זמני.

שדות
name

string

פלט בלבד. מזהה. הטוקן עצמו.

expireTime

Timestamp

אופציונלי. קלט בלבד. אי אפשר לשנות. זמן אופציונלי שאחריו, כשמשתמשים בטוקן שנוצר, הודעות בסשנים של BidiGenerateContent יידחו. ‫(Gemini עשוי לסגור את הסשן מראש אחרי הזמן הזה).

אם לא מגדירים את התדירות, ברירת המחדל היא 30 דקות. אם מאכלסים אותו, הערך הזה צריך להיות פחות מ-20 שעות בעתיד.

newSessionExpireTime

Timestamp

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

אם לא מגדירים את הערך הזה, ברירת המחדל שלו תהיה 60 שניות בעתיד. אם מאכלסים אותו, הערך הזה צריך להיות פחות מ-20 שעות בעתיד.

fieldMask

FieldMask

אופציונלי. קלט בלבד. אי אפשר לשנות. אם field_mask ריק, ו-bidiGenerateContentSetup לא קיים, אז ההודעה האפקטיבית BidiGenerateContentSetup נלקחת מהחיבור הפעיל ל-API.

אם field_mask ריק, ו-bidiGenerateContentSetup is קיים, אז ההודעה האפקטיבית BidiGenerateContentSetup נלקחת כולה מ-bidiGenerateContentSetup בבקשה הזו. הודעת ההגדרה מחיבור Live API מוזנחת.

אם field_mask לא ריק, השדות התואמים מ-bidiGenerateContentSetup יחליפו את השדות מהודעת ההגדרה בחיבור ה-API בזמן אמת.

שדה איחוד config. ההגדרה הספציפית לשיטה של הטוקן שמתקבל. הערך config יכול להיות רק אחד מהבאים:
bidiGenerateContentSetup

BidiGenerateContentSetup

אופציונלי. קלט בלבד. אי אפשר לשנות. הגדרה ספציפית ל-BidiGenerateContent.

uses

int32

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

מידע נוסף על סוגים נפוצים

מידע נוסף על סוגי משאבי ה-API הנפוצים Blob, Content, FunctionCall, FunctionResponse, GenerationConfig, GroundingMetadata, ModalityTokenCount ו-Tool זמין במאמר בנושא יצירת תוכן.