Live API - WebSockets API reference

Live API یک API حالت دار است که از WebSockets استفاده می کند. در این بخش، جزئیات بیشتری در مورد WebSockets API خواهید یافت.

جلسات

یک اتصال WebSocket یک جلسه بین مشتری و سرور Gemini برقرار می کند. پس از اینکه یک کلاینت یک اتصال جدید را آغاز کرد، جلسه می تواند پیام هایی را با سرور مبادله کند:

  • متن، صدا یا ویدیو را به سرور جمینی ارسال کنید.
  • درخواست‌های تماس صوتی، متنی یا عملکردی را از سرور Gemini دریافت کنید.

اتصال WebSocket

برای شروع یک جلسه، به این نقطه پایانی وب سوکت متصل شوید:

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

پیکربندی جلسه

پیام اولیه پس از اتصال، پیکربندی جلسه را تنظیم می کند که شامل مدل، پارامترهای تولید، دستورالعمل های سیستم و ابزارها می شود.

شما می توانید پارامترهای پیکربندی را به جز مدل در طول جلسه تغییر دهید.

پیکربندی مثال زیر را ببینید. توجه داشته باشید که پوشش نام در 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، به رویداد "پیام" 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 بیان نمی شود، بنابراین فیلد در سطح بالای پیام ظاهر می شود.)

پیام ها و رویدادها

پایان فعالیت

این نوع هیچ فیلدی ندارد.

پایان فعالیت کاربر را علامت گذاری می کند.

مدیریت فعالیت

روش های مختلف مدیریت فعالیت کاربر

Enums
ACTIVITY_HANDLING_UNSPECIFIED اگر مشخص نشده باشد، رفتار پیش‌فرض START_OF_ACTIVITY_INTERRUPTS است.
START_OF_ACTIVITY_INTERRUPTS اگر درست باشد، شروع فعالیت پاسخ مدل را قطع می‌کند (که به آن "بارگ در" نیز می‌گویند. پاسخ فعلی مدل در لحظه وقفه قطع خواهد شد. این رفتار پیش فرض است.
NO_INTERRUPTION پاسخ مدل قطع نخواهد شد.

ActivityStart

این نوع هیچ فیلدی ندارد.

شروع فعالیت کاربر را علامت گذاری می کند.

AudioTranscriptionConfig

این نوع هیچ فیلدی ندارد.

پیکربندی رونویسی صوتی

AutomaticActivity Detection

تشخیص خودکار فعالیت را پیکربندی می کند.

فیلدها
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

فقط خروجی اگر درست باشد، نشان می دهد که تولید مدل انجام شده است.

هنگامی که مدل در حین تولید قطع می‌شود، هیچ پیام 'generation_complete' در نوبت قطع شده وجود نخواهد داشت، از 'interrupted > turn_complete' عبور می‌کند.

وقتی مدل پخش بلادرنگ را فرض می‌کند، تاخیری بین نسل_کامل و turn_complete وجود خواهد داشت که ناشی از انتظار مدل برای پایان پخش است.

turnComplete

bool

فقط خروجی اگر درست باشد، نشان می دهد که مدل نوبت خود را کامل کرده است. تولید فقط در پاسخ به پیام های مشتری اضافی شروع می شود.

interrupted

bool

فقط خروجی اگر درست باشد، نشان می دهد که پیام مشتری تولید مدل فعلی را قطع کرده است. اگر مشتری در حال پخش محتوا در زمان واقعی است، این سیگنال خوبی برای توقف و خالی کردن صف پخش فعلی است.

groundingMetadata

GroundingMetadata

فقط خروجی متاداده پایه برای محتوای تولید شده.

inputTranscription

BidiGenerateContentTranscription

فقط خروجی رونویسی صوتی ورودی رونویسی مستقل از سایر پیام های سرور ارسال می شود و هیچ سفارش تضمینی وجود ندارد.

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

اختیاری. مکانیزم فشرده سازی پنجره زمینه را پیکربندی می کند.

اگر شامل شود، سرور به طور خودکار اندازه زمینه را زمانی که از طول پیکربندی شده بیشتر شود، کاهش می دهد.

inputAudioTranscription

AudioTranscriptionConfig

اختیاری. در صورت تنظیم، رونویسی ورودی صوتی را فعال می‌کند. در صورت پیکربندی، رونویسی با زبان صوتی ورودی هماهنگ می شود.

outputAudioTranscription

AudioTranscriptionConfig

اختیاری. در صورت تنظیم، رونویسی خروجی صدای مدل را فعال می کند. در صورت پیکربندی، رونویسی با کد زبانی که برای صدای خروجی مشخص شده است، هماهنگ می شود.

BidiGenerateContentSetupComplete

این نوع هیچ فیلدی ندارد.

در پاسخ به یک پیام BidiGenerateContentSetup از مشتری ارسال شد.

BidiGenerateContentToolCall

از کلاینت درخواست کنید تا functionCalls اجرا کند و پاسخ ها را با id منطبق برگرداند.

فیلدها
functionCalls[]

FunctionCall

فقط خروجی فراخوانی تابعی که باید اجرا شود.

BidiGenerateContentToolCallCancellation

اعلان برای مشتری مبنی بر اینکه یک ToolCallMessage قبلا صادر شده با id مشخص شده نباید اجرا شده باشد و باید لغو شود. اگر این تماس‌های ابزار عوارض جانبی داشت، مشتریان ممکن است تلاش کنند تا تماس‌های ابزار را لغو کنند. این پیام تنها در مواردی رخ می‌دهد که کلاینت‌ها چرخش سرور را قطع کنند.

فیلدها
ids[]

string

فقط خروجی شناسه‌های ابزار تماس‌های لغو می‌شوند.

BidiGenerateContentToolResponse

مشتری پاسخی به ToolCall دریافت شده از سرور ایجاد کرد. اشیاء فردی FunctionResponse با فیلد id با اشیاء FunctionCall مربوطه مطابقت داده می شوند.

توجه داشته باشید که در APIهای GenerateContent یکپارچه و جریان سرور، فراخوانی تابع با مبادله قسمت‌های Content انجام می‌شود، در حالی که در bidi GenerateContent API فراخوانی روی این مجموعه پیام‌های اختصاصی انجام می‌شود.

فیلدها
functionResponses[]

FunctionResponse

اختیاری. پاسخ به فراخوانی تابع.

BidiGenerateContentTranscription

رونویسی صدا (ورودی یا خروجی).

فیلدها
text

string

متن رونویسی.

ContextWindowCompressionConfig

فشرده سازی پنجره زمینه را فعال می کند - مکانیزمی برای مدیریت پنجره زمینه مدل به گونه ای که از طول معینی تجاوز نکند.

فیلدها
compressionMechanism میدان اتحادیه مکانیسم فشرده سازی پنجره زمینه استفاده شده است. compressionMechanism تنها می تواند یکی از موارد زیر باشد:
slidingWindow

SlidingWindow

مکانیزم پنجره کشویی

triggerTokens

int64

تعداد نشانه‌ها (قبل از اجرای چرخش) مورد نیاز برای راه‌اندازی فشرده‌سازی پنجره زمینه.

این می تواند برای متعادل کردن کیفیت در مقابل تأخیر استفاده شود زیرا پنجره های زمینه کوتاه تر ممکن است منجر به پاسخ های مدل سریعتر شود. با این حال، هر عملیات فشرده سازی باعث افزایش موقت تأخیر می شود، بنابراین نباید به طور مکرر فعال شوند.

اگر تنظیم نشود، پیش‌فرض 80 درصد محدودیت پنجره زمینه مدل است. این 20% برای درخواست کاربر/پاسخ مدل بعدی باقی می ماند.

End Sensitivity

نحوه تشخیص پایان گفتار را تعیین می کند.

Enums
END_SENSITIVITY_UNSPECIFIED پیش‌فرض END_SENSITIVITY_HIGH است.
END_SENSITIVITY_HIGH تشخیص خودکار گفتار را بیشتر به پایان می رساند.
END_SENSITIVITY_LOW تشخیص خودکار گفتار را کمتر پایان می دهد.

GoAway

اطلاعیه ای مبنی بر اینکه سرور به زودی قطع خواهد شد.

فیلدها
timeLeft

Duration

زمان باقیمانده قبل از اتصال به عنوان ABORTED قطع خواهد شد.

این مدت هرگز کمتر از یک حداقل مدل خاص نخواهد بود، که همراه با محدودیت‌های نرخ برای مدل مشخص می‌شود.

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 با حذف محتوا در ابتدای پنجره زمینه عمل می کند. زمینه به دست آمده همیشه با شروع چرخش نقش USER آغاز می شود. دستورالعمل های سیستم و هر BidiGenerateContentSetup.prefixTurns همیشه در ابتدای نتیجه باقی می مانند.

فیلدها
targetTokens

int64

تعداد نشانه های مورد نظر برای نگه داشتن. مقدار پیش فرض trigger_tokens/2 است.

دور انداختن بخش‌هایی از پنجره زمینه باعث افزایش موقت تأخیر می‌شود، بنابراین این مقدار باید برای جلوگیری از عملیات فشرده‌سازی مکرر کالیبره شود.

StartSensitivity

نحوه تشخیص شروع گفتار را تعیین می کند.

Enums
START_SENSITIVITY_UNSPECIFIED پیش‌فرض START_SENSITIVITY_HIGH است.
START_SENSITIVITY_HIGH تشخیص خودکار شروع گفتار را بیشتر تشخیص می دهد.
START_SENSITIVITY_LOW تشخیص خودکار شروع گفتار را کمتر تشخیص می دهد.

پوشش چرخشی

گزینه هایی در مورد اینکه کدام ورودی در نوبت کاربر گنجانده شده است.

Enums
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

فقط خروجی فهرست روش‌هایی که برای ورودی‌های درخواست استفاده از ابزار پردازش شده‌اند.

اطلاعات بیشتر در مورد انواع رایج

برای اطلاعات بیشتر در مورد انواع منابع API رایج Blob ، Content ، FunctionCall ، FunctionResponse ، GenerationConfig ، GroundingMetadata ، ModalityTokenCount و Tool ، به تولید محتوا مراجعه کنید.