Live API - WebSockets API reference

‫Live API هي واجهة برمجة تطبيقات مستندة إلى الحالة تستخدِم WebSockets. في هذا القسم، ستجد تفاصيل إضافية حول واجهة برمجة التطبيقات WebSockets API.

الجلسات

يُنشئ اتصال WebSocket جلسة بين العميل وخادم Gemini. بعد أن يبدأ العميل عملية اتصال جديدة، يمكن للجلسة تبادل الرسائل مع الخادم لإجراء ما يلي:

  • أرسِل نصًا أو محتوى صوتيًا أو فيديو إلى خادم Gemini.
  • تلقّي طلبات مكالمات صوتية أو نصية أو طلبات وظائف من خادم Gemini

اتصال WebSocket

لبدء جلسة، عليك الاتصال بنقطة نهاية websocket هذه:

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

إعداد الجلسة

تضبط الرسالة الأولية بعد الاتصال إعدادات الجلسة، والتي تشمل النموذج ومَعلمات الإنشاء وتعليمات النظام والأدوات.

يمكنك تغيير مَعلمات الضبط باستثناء النموذج أثناء الجلسة.

راجِع المثال التالي على الإعداد. يُرجى العِلم أنّ طريقة كتابة الاسم في حِزم SDK قد تختلف. يمكنك الاطّلاع على خيارات ضبط حزمة تطوير البرامج (SDK) لنظام التشغيل Python هنا.


{
  "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]
}

لمزيد من المعلومات حول حقل واجهة برمجة التطبيقات، يُرجى الاطّلاع على generationConfig.

إرسال الرسائل

لتبادل الرسائل عبر اتصال WebSocket، على العميل إرسال عنصر JSON عبر اتصال WebSocket مفتوح. يجب أن يتضمّن عنصر JSON حقلًا واحدًا بالضبط من مجموعة العناصر التالية:


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

رسائل العملاء المتوافقة

يمكنك الاطّلاع على رسائل العملاء المتوافقة في الجدول التالي:

الرسالة الوصف
BidiGenerateContentSetup إعدادات الجلسة التي سيتم إرسالها في الرسالة الأولى
BidiGenerateContentClientContent تعديل محتوى متزايد للمحادثة الحالية يتم إرساله من العميل
BidiGenerateContentRealtimeInput إدخال صوت أو فيديو أو نص في الوقت الفعلي
BidiGenerateContentToolResponse استجابة لطلب ToolCallMessage تم تلقّيه من الخادم

تلقي الرسائل

لتلقّي الرسائل من Gemini، انتظِر حدث WebSocket "message"، ثم قسِّم النتيجة وفقًا لتعريف رسائل الخادم المتوافقة.

يُرجى الاطّلاع على ما يلي:

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

الطرق المختلفة لمعالجة نشاط المستخدم

عمليات التعداد
ACTIVITY_HANDLING_UNSPECIFIED إذا لم يتم تحديد قيمة، يكون السلوك التلقائي هو START_OF_ACTIVITY_INTERRUPTS.
START_OF_ACTIVITY_INTERRUPTS إذا كانت القيمة "صحيح"، سيؤدي بدء النشاط إلى مقاطعة استجابة النموذج (يُعرف ذلك أيضًا باسم "المقاطعة"). سيتم قطع ردّ النموذج الحالي في لحظة المقاطعة. هذا هو السلوك التلقائي.
NO_INTERRUPTION لن يتم إيقاف استجابة النموذج.

ActivityStart

لا يحتوي هذا النوع على أي حقول.

يُستخدَم لتحديد بداية نشاط المستخدِم.

AudioTranscriptionConfig

لا يحتوي هذا النوع على أي حقول.

إعدادات تحويل الصوت إلى نص

AutomaticActivityDetection

لضبط الرصد التلقائي للنشاط

الحقول
disabled

bool

اختياريّ. في حال تفعيل هذا الخيار (الإعداد التلقائي)، يتم احتساب إدخال الصوت والنص كنشاط. في حال إيقافه، على العميل إرسال إشارات النشاط.

startOfSpeechSensitivity

StartSensitivity

اختياريّ. يحدِّد مدى احتمالية رصد الكلام.

prefixPaddingMs

int32

اختياريّ. المدة المطلوبة للكلام الذي تم رصده قبل بدء تسجيله وكلما انخفضت هذه القيمة، زادت حساسية رصد بداية الكلام وأصبح بإمكانه التعرّف على الكلام الأقصر. ومع ذلك، يؤدي ذلك أيضًا إلى زيادة احتمالية ظهور نتائج إيجابية خاطئة.

endOfSpeechSensitivity

EndSensitivity

اختياريّ. يحدِّد مدى احتمالية انتهاء الكلام الذي تم رصده.

silenceDurationMs

int32

اختياريّ. المدة المطلوبة لرصد المحتوى غير الكلامي (مثل الصمت) قبل تسجيل نهاية الكلام وكلما زادت هذه القيمة، زادت فواصل الكلام التي يمكن أن تحدث بدون مقاطعة نشاط المستخدم، ولكن سيؤدي ذلك إلى زيادة وقت استجابة النموذج.

BidiGenerateContentClientContent

تعديل متزايد للمحادثة الحالية يتم إرساله من العميل يتم إلحاق كل المحتوى هنا بسجلّ المحادثات بدون قيد أو شرط، ويتم استخدامه كجزء من الطلب الذي يوجّهه النموذج لإنشاء المحتوى.

ستؤدي رسالة هنا إلى إيقاف أي عملية حالية لإنشاء نموذج.

الحقول
turns[]

Content

اختياريّ. المحتوى الذي تم إلحاقه بالمحادثة الحالية مع النموذج

بالنسبة إلى طلبات البحث التي تتضمّن جولة واحدة، يكون هذا مثيلًا واحدًا. بالنسبة إلى طلبات البحث التي تتضمّن عدّة أدوار، هذا حقل متكرّر يحتوي على سجلّ المحادثة وآخر طلب.

turnComplete

bool

اختياريّ. إذا كانت القيمة صحيحة، يعني ذلك أنّه يجب بدء إنشاء محتوى الخادم بالطلب المتراكم حاليًا. بخلاف ذلك، ينتظر الخادم رسائل إضافية قبل بدء عملية الإنشاء.

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

النتائج فقط. إذا كانت القيمة صحيحة، يعني ذلك أنّ النموذج قد أكمل دوره. ولن يبدأ إنشاء المحتوى إلا استجابةً لرسائل العميل الإضافية.

interrupted

bool

النتائج فقط. إذا كان صحيحًا، يشير ذلك إلى أنّ رسالة عميل قد قاطعت إنشاء النموذج الحالي. إذا كان العميل يشغّل المحتوى في الوقت الفعلي، هذا مؤشر جيد لإيقاف قائمة التشغيل الحالية وإفراغها.

groundingMetadata

GroundingMetadata

النتائج فقط. البيانات الوصفية الأساسية للمحتوى الذي تم إنشاؤه

outputTranscription

BidiGenerateContentTranscription

النتائج فقط. عرض النص المُحوَّل من الصوت يتم إرسال نص المكالمة بشكل مستقل عن رسائل الخادم الأخرى، ولا يمكن ضمان ترتيبه، لا سيما بين serverContent وهذا outputTranscription.

modelTurn

Content

النتائج فقط. المحتوى الذي أنشأه النموذج كجزء من المحادثة الحالية مع المستخدم

BidiGenerateContentServerMessage

رسالة الردّ على طلب BidiGenerateContent

الحقول
usageMetadata

UsageMetadata

النتائج فقط. البيانات الوصفية حول الاستخدام للاستجابات

حقل الربط messageType نوع الرسالة يمكن أن يكون messageType واحدًا فقط مما يلي:
setupComplete

BidiGenerateContentSetupComplete

النتائج فقط. يتم إرسالها استجابةً لرسالة BidiGenerateContentSetup من العميل عند اكتمال عملية الإعداد.

serverContent

BidiGenerateContentServerContent

النتائج فقط. المحتوى الذي ينشئه النموذج استجابةً لرسائل العملاء

toolCall

BidiGenerateContentToolCall

النتائج فقط. اطلب من العميل تنفيذ functionCalls وإرجاع الردود مع id المطابقة.

toolCallCancellation

BidiGenerateContentToolCallCancellation

النتائج فقط. إشعار للعميل بأنّه يجب إلغاء ToolCallMessage التي تم إصدارها سابقًا باستخدام id المحدّدة

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

اختياريّ. لضبط آلية ضغط نافذة السياق

في حال تضمين هذا الخيار، سيقلّل الخادم تلقائيًا حجم السياق عندما يتجاوز الطول الذي تم ضبطه.

outputAudioTranscription

AudioTranscriptionConfig

اختياريّ. في حال ضبط هذا الخيار، يتم تفعيل ميزة تحويل الصوت إلى نص لإخراج الصوت من النموذج. يتم ضبط النص المكتوب بما يتوافق مع رمز اللغة المحدّد للصوت الذي يتم إخراجه، في حال ضبطه.

BidiGenerateContentSetupComplete

لا يحتوي هذا النوع على أي حقول.

تم إرسالها استجابةً لرسالة BidiGenerateContentSetup من العميل.

BidiGenerateContentToolCall

اطلب من العميل تنفيذ functionCalls وإرجاع الردود مع id المطابقة.

الحقول
functionCalls[]

FunctionCall

النتائج فقط. استدعاء الدالة المطلوب تنفيذه

BidiGenerateContentToolCallCancellation

إشعار للعميل بأنّه يجب إلغاء ToolCallMessage الذي تم إصداره سابقًا مع id المحدّدة إذا كانت هناك آثار جانبية لهذه طلبات الأداة، قد يحاول العملاء التراجع عن طلبات الأداة. لا تظهر هذه الرسالة إلا في الحالات التي يقاطع فيها العملاء دورات الخادم.

الحقول
ids[]

string

النتائج فقط. أرقام تعريف طلبات الأداة المطلوب إلغاؤها

BidiGenerateContentToolResponse

استجابة أنشأها العميل لطلب ToolCall تم تلقّيه من الخادم تتم مطابقة كائنات FunctionResponse الفردية مع كائنات FunctionCall ذات الصلة من خلال حقل id.

يُرجى العلم أنّه في طلبات البيانات أحادية الاتجاه وطلبات البيانات من خلال البث من الخادم لواجهات برمجة التطبيقات GenerateContent، يتمّ استدعاء الدالة من خلال تبادل أجزاء Content، بينما في طلبات البيانات من خلال البث من الخادم لواجهات برمجة التطبيقات GenerateContent، يتمّ استدعاء الدالة من خلال هذه المجموعة المخصّصة من الرسائل.

الحقول
functionResponses[]

FunctionResponse

اختياريّ. الردّ على طلبات الدالة

BidiGenerateContentTranscription

تحويل الصوت إلى نص (إدخال أو إخراج)

الحقول
text

string

نص تحويل الصوت إلى نص

ContextWindowCompressionConfig

تفعّل ميزة "ضغط نافذة السياق"، وهي آلية لإدارة نافذة سياق النموذج كي لا تتجاوز طولًا معيّنًا.

الحقول
حقل الربط compressionMechanism آلية ضغط نافذة السياق المستخدَمة يمكن أن يكون compressionMechanism واحدًا فقط مما يلي:
slidingWindow

SlidingWindow

آلية نافذة منزلقة

triggerTokens

int64

عدد الرموز (قبل تنفيذ دورة) المطلوبة لبدء عملية ضغط نافذة السياق

ويمكن استخدام هذا الخيار لموازنة الجودة مع وقت الاستجابة، لأنّ فترات السياق الأقصر قد تؤدي إلى استجابة أسرع من النماذج. ومع ذلك، ستؤدي أي عملية ضغط إلى زيادة مؤقتة في وقت الاستجابة، لذا يجب عدم تفعيلها بشكل متكرر.

في حال عدم ضبط هذا المَعلم، تكون القيمة التلقائية هي% 80 من الحد الأقصى لفترة السياق في النموذج. ويبقى% 20 لطلب المستخدم أو ردّ النموذج التالي.

EndSensitivity

يحدّد كيفية رصد نهاية الكلام.

عمليات التعداد
END_SENSITIVITY_UNSPECIFIED القيمة التلقائية هي END_SENSITIVITY_HIGH.
END_SENSITIVITY_HIGH تنتهي عملية التعرّف التلقائي على الكلام بشكلٍ متكرّر.
END_SENSITIVITY_LOW تنتهي عملية التعرّف التلقائي على الكلام بمعدل أقل.

GoAway

إشعار بأنّ الاتصال بالخادم سيتم إلغاؤه قريبًا

الحقول
timeLeft

Duration

الوقت المتبقّي قبل إنهاء الاتصال بحالة "تم إلغاء الاتصال"

ولن تقلّ هذه المدة مطلقًا عن الحدّ الأدنى الخاص بالنموذج، والذي سيتم تحديده مع حدود معدّل النموذج.

RealtimeInputConfig

لضبط سلوك الإدخال في الوقت الفعلي في BidiGenerateContent

الحقول
automaticActivityDetection

AutomaticActivityDetection

اختياريّ. في حال عدم ضبط الإعداد، يتم تفعيل ميزة "اكتشاف النشاط التلقائي" تلقائيًا. إذا كانت ميزة "اكتشاف الصوت التلقائي" غير مفعّلة، على العميل إرسال إشارات النشاط.

activityHandling

ActivityHandling

اختياريّ. يحدِّد تأثير النشاط.

turnCoverage

TurnCoverage

اختياريّ. لتحديد الإدخالات التي يتم تضمينها في دور المستخدم

SessionResumptionConfig

إعدادات استئناف الجلسة

يتم تضمين هذه الرسالة في إعدادات الجلسة على النحو التالي: BidiGenerateContentSetup.sessionResumption. في حال ضبطه، سيرسل الخادم SessionResumptionUpdate رسالة.

الحقول
handle

string

الاسم المعرِّف لجلسة سابقة. وفي حال عدم توفّر جلسة، يتم إنشاء جلسة جديدة.

تأتي أسماء الجلسات من قيم SessionResumptionUpdate.token في عمليات الربط السابقة.

SessionResumptionUpdate

تعديل حالة استئناف الجلسة

لا يتم إرسالها إلا إذا تم ضبط BidiGenerateContentSetup.sessionResumption.

الحقول
newHandle

string

اسم معرِّف جديد يمثّل حالة يمكن استئنافها فارغة إذا كان resumable=خطأ

resumable

bool

صحيح إذا كان يمكن استئناف الجلسة الحالية في هذه المرحلة.

لا يمكن استئناف التسجيل في بعض نقاط الجلسة. على سبيل المثال، عندما ينفِّذ النموذج استدعاءات الدوالّ أو ينشئ. سيؤدي استئناف الجلسة (باستخدام رمز أمان جلسة سابق) في هذه الحالة إلى فقدان بعض البيانات. وفي هذه الحالات، ستكون newHandle فارغة وستكون resumable خطأ.

SlidingWindow

تعمل طريقة SlidingWindow من خلال تجاهل المحتوى في بداية نافذة السياق. سيبدأ السياق الناتج دائمًا في بداية دور USER. ستظل تعليمات النظام وأي BidiGenerateContentSetup.prefixTurns في بداية النتيجة دائمًا.

الحقول
targetTokens

int64

العدد المستهدَف من الرموز المميّزة المطلوب الاحتفاظ بها القيمة التلقائية هي trigger_tokens/2.

يؤدي تجاهل أجزاء من نافذة السياق إلى زيادة مؤقتة في وقت الاستجابة، لذا يجب معايرة هذه القيمة لتجنُّب عمليات الضغط المتكررة.

StartSensitivity

يحدِّد كيفية رصد بداية الكلام.

عمليات التعداد
START_SENSITIVITY_UNSPECIFIED القيمة التلقائية هي START_SENSITIVITY_HIGH.
START_SENSITIVITY_HIGH سيرصد التعرّف التلقائي بداية الكلام بشكلٍ متكرّر.
START_SENSITIVITY_LOW سيرصد التعرّف التلقائي بداية الكلام بمعدل أقل.

TurnCoverage

خيارات حول الإدخالات التي يتم تضمينها في دور المستخدم

عمليات التعداد
TURN_COVERAGE_UNSPECIFIED إذا لم يتم تحديد قيمة، يكون السلوك التلقائي هو TURN_INCLUDES_ONLY_ACTIVITY.
TURN_INCLUDES_ONLY_ACTIVITY لا يتضمّن دور المستخدمين سوى النشاط منذ الدور الأخير، باستثناء الفترات التي لم يتم فيها التفاعل (مثل فترة الصمت في البث الصوتي). هذا هو السلوك التلقائي.
TURN_INCLUDES_ALL_INPUT يتضمّن دور المستخدمين جميع الإدخالات في الوقت الفعلي منذ الدور الأخير، بما في ذلك حالات عدم النشاط (مثل الصمت في بث الصوت).

UsageMetadata

البيانات الوصفية حول الاستخدام للاستجابات

الحقول
promptTokenCount

int32

النتائج فقط. عدد الرموز المميّزة في الطلب عند ضبط القيمة cachedContent، يظلّ هذا هو إجمالي حجم الطلب الفعّال، ما يعني أنّه يشمل عدد الرموز المميّزة في المحتوى المخزّن مؤقتًا.

cachedContentTokenCount

int32

عدد الرموز المميّزة في الجزء المخزّن مؤقتًا من الطلب (المحتوى المخزّن مؤقتًا)

responseTokenCount

int32

النتائج فقط. إجمالي عدد الرموز المميّزة في جميع الردود المُحتمَلة التي تم إنشاؤها

toolUsePromptTokenCount

int32

النتائج فقط. عدد الرموز المميّزة المتوفّرة في طلبات استخدام الأداة

thoughtsTokenCount

int32

النتائج فقط. عدد الرموز المميّزة للأفكار في نماذج التفكير

totalTokenCount

int32

النتائج فقط. إجمالي عدد الرموز المميّزة لطلب الإنشاء (الطلب + المرشحون للردّ)

promptTokensDetails[]

ModalityTokenCount

النتائج فقط. قائمة بالوضعيات التي تمت معالجتها في إدخال الطلب

cacheTokensDetails[]

ModalityTokenCount

النتائج فقط. قائمة بأشكال المحتوى المخزّن مؤقتًا في إدخال الطلب

responseTokensDetails[]

ModalityTokenCount

النتائج فقط. قائمة بالوسائط التي تم عرضها في الاستجابة

toolUsePromptTokensDetails[]

ModalityTokenCount

النتائج فقط. قائمة بالوسائط التي تمت معالجتها لإدخال طلبات استخدام الأداة

مزيد من المعلومات عن الأنواع الشائعة

لمزيد من المعلومات عن أنواع موارد واجهة برمجة التطبيقات الشائعة الاستخدام Blob، Content، وFunctionCall، وFunctionResponse، وGenerationConfig، GroundingMetadata، وModalityTokenCount، وTool، يُرجى الاطّلاع على إنشاء المحتوى.