Live API یک API با قابلیت Stateful است که از WebSockets استفاده میکند. در این بخش، جزئیات بیشتری در مورد WebSockets API خواهید یافت.
جلسات
یک اتصال WebSocket یک جلسه بین کلاینت و سرور Gemini برقرار میکند. پس از اینکه کلاینت یک اتصال جدید را آغاز میکند، جلسه میتواند پیامهایی را با سرور رد و بدل کند تا:
- متن، صدا یا ویدیو را به سرور جمینی ارسال کنید.
- درخواستهای صوتی، متنی یا تماس عملکردی را از سرور Gemini دریافت کنید.
اتصال وبسوکت
برای شروع یک جلسه، به این نقطه پایانی وب سوکت متصل شوید:
wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent
پیکربندی جلسه
پیام اولیهای که پس از برقراری اتصال WebSocket ارسال میشود، پیکربندی جلسه را تنظیم میکند که شامل مدل، پارامترهای تولید، دستورالعملهای سیستم و ابزارها میشود.
شما نمیتوانید پیکربندی را در حالی که اتصال باز است، بهروزرسانی کنید. با این حال، میتوانید پارامترهای پیکربندی، به جز مدل، را هنگام مکث و از سرگیری از طریق مکانیسم از سرگیری جلسه تغییر دهید.
به مثال پیکربندی زیر توجه کنید. توجه داشته باشید که نحوهی نامگذاری در SDKها ممکن است متفاوت باشد. میتوانید گزینههای پیکربندی 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 بیان نشده است، بنابراین این فیلد در سطح بالای پیام ظاهر میشود.)
پیامها و رویدادها
پایان فعالیت
این نوع هیچ فیلدی ندارد.
پایان فعالیت کاربر را نشان میدهد.
مدیریت فعالیت
روشهای مختلف مدیریت فعالیت کاربران
| انومها | |
|---|---|
ACTIVITY_HANDLING_UNSPECIFIED | اگر مشخص نشده باشد، رفتار پیشفرض START_OF_ACTIVITY_INTERRUPTS است. |
START_OF_ACTIVITY_INTERRUPTS | اگر درست باشد، شروع فعالیت، پاسخ مدل را قطع میکند (که به آن "barge in" نیز میگویند). پاسخ فعلی مدل در لحظه وقفه قطع میشود. این رفتار پیشفرض است. |
NO_INTERRUPTION | پاسخ مدل قطع نخواهد شد. |
شروع فعالیت
این نوع هیچ فیلدی ندارد.
شروع فعالیت کاربر را نشان میدهد.
پیکربندی رونویسی صوتی
این نوع هیچ فیلدی ندارد.
پیکربندی رونویسی صوتی.
تشخیص خودکار فعالیت
تشخیص خودکار فعالیت را پیکربندی میکند.
| فیلدها | |
|---|---|
disabled | اختیاری. در صورت فعال بودن (پیشفرض)، ورودیهای صوتی و متنی شناساییشده به عنوان فعالیت شمارش میشوند. در صورت غیرفعال بودن، کلاینت باید سیگنالهای فعالیت ارسال کند. |
startOfSpeechSensitivity | اختیاری. تعیین میکند که احتمال تشخیص گفتار چقدر است. |
prefixPaddingMs | اختیاری. مدت زمان مورد نیاز برای تشخیص گفتار قبل از شروع گفتار. هرچه این مقدار کمتر باشد، تشخیص شروع گفتار حساستر است و گفتار کوتاهتر قابل تشخیص است. با این حال، این امر احتمال تشخیصهای مثبت کاذب را نیز افزایش میدهد. |
endOfSpeechSensitivity | اختیاری. تعیین میکند که احتمال پایان یافتن گفتار شناساییشده چقدر است. |
silenceDurationMs | اختیاری. مدت زمان مورد نیاز برای تشخیص عدم گفتار (مثلاً سکوت) قبل از پایان گفتار. هرچه این مقدار بزرگتر باشد، میتوان فواصل گفتاری را بدون ایجاد وقفه در فعالیت کاربر طولانیتر کرد، اما این امر تأخیر مدل را افزایش میدهد. |
BidiGenerateContentClientContent
بهروزرسانی افزایشی مکالمه فعلی ارائه شده از کلاینت. تمام محتوای اینجا بدون قید و شرط به تاریخچه مکالمه اضافه میشود و به عنوان بخشی از اعلان مدل برای تولید محتوا استفاده میشود.
یک پیام در اینجا هرگونه تولید مدل فعلی را قطع میکند.
| فیلدها | |
|---|---|
turns[] | اختیاری. محتوایی که به مکالمه فعلی با مدل اضافه شده است. برای پرسوجوهای تک نوبتی، این یک نمونه واحد است. برای پرسوجوهای چند نوبتی، این یک فیلد تکراری است که شامل سابقه مکالمه و آخرین درخواست است. |
turnComplete | اختیاری. اگر درست باشد، نشان میدهد که تولید محتوای سرور باید با اعلان انباشتهشدهی فعلی شروع شود. در غیر این صورت، سرور قبل از شروع تولید منتظر پیامهای اضافی میماند. |
BidiGenerateContentRealtimeInput
ورودی کاربر که به صورت بلادرنگ ارسال میشود.
روشهای مختلف (صوت، تصویر و متن) به صورت جریانهای همزمان مدیریت میشوند. ترتیب قرارگیری در بین این جریانها تضمین شده نیست.
این از چند جهت با BidiGenerateContentClientContent متفاوت است:
- میتواند به طور مداوم و بدون وقفه برای تولید مدل ارسال شود.
- اگر نیاز به ترکیب دادههای موجود در بین
BidiGenerateContentClientContentوBidiGenerateContentRealtimeInputباشد، سرور تلاش میکند تا بهترین پاسخ را بهینهسازی کند، اما هیچ تضمینی وجود ندارد. - پایان نوبت به صراحت مشخص نشده است، بلکه از فعالیت کاربر (مثلاً پایان سخنرانی) استنباط میشود.
- حتی قبل از پایان نوبت، دادهها به صورت تدریجی پردازش میشوند تا برای شروع سریع پاسخ از مدل بهینه شوند.
| فیلدها | |
|---|---|
mediaChunks[] | اختیاری. دادههای بایت درونخطی برای ورودی رسانه. چندین منسوخ شده: به جای آن از یکی از |
audio | اختیاری. اینها جریان ورودی صوتی بلادرنگ را تشکیل میدهند. |
video | اختیاری. اینها جریان ورودی ویدیوی بلادرنگ را تشکیل میدهند. |
activityStart | اختیاری. شروع فعالیت کاربر را نشان میدهد. این فقط در صورتی قابل ارسال است که تشخیص خودکار فعالیت (یعنی سمت سرور) غیرفعال باشد. |
activityEnd | اختیاری. پایان فعالیت کاربر را نشان میدهد. این فقط در صورتی قابل ارسال است که تشخیص خودکار فعالیت (یعنی سمت سرور) غیرفعال باشد. |
audioStreamEnd | اختیاری. نشان میدهد که جریان صوتی پایان یافته است، مثلاً به دلیل خاموش شدن میکروفون. این فقط باید زمانی ارسال شود که تشخیص خودکار فعالیت فعال باشد (که پیشفرض است). کلاینت میتواند با ارسال یک پیام صوتی، استریم را دوباره باز کند. |
text | اختیاری. اینها جریان ورودی متن بلادرنگ را تشکیل میدهند. |
BidiGenerateContentServerContent
بهروزرسانی افزایشی سرور که توسط مدل در پاسخ به پیامهای کلاینت ایجاد میشود.
محتوا در سریعترین زمان ممکن تولید میشود و نه به صورت بلادرنگ. مشتریان میتوانند آن را ذخیره کرده و به صورت بلادرنگ پخش کنند.
| فیلدها | |
|---|---|
generationComplete | فقط خروجی. اگر درست باشد، نشان میدهد که مدل تولید را تمام کرده است. وقتی مدل هنگام تولید دچار وقفه شود، هیچ پیام «generation_complete» در نوبت وقفهدار وجود نخواهد داشت، و از طریق «interrupted > turn_complete» اجرا میشود. وقتی مدل فرض میکند که پخش در زمان واقعی انجام میشود، بین generation_complete و turn_complete تأخیری وجود خواهد داشت که ناشی از انتظار مدل برای پایان پخش است. |
turnComplete | فقط خروجی. اگر درست باشد، نشان میدهد که مدل نوبت خود را تکمیل کرده است. تولید فقط در پاسخ به پیامهای اضافی کلاینت شروع میشود. |
interrupted | فقط خروجی. اگر درست باشد، نشان میدهد که یک پیام کلاینت، تولید مدل فعلی را متوقف کرده است. اگر کلاینت در حال پخش محتوا به صورت بلادرنگ است، این سیگنال خوبی برای توقف و خالی کردن صف پخش فعلی است. |
groundingMetadata | فقط خروجی. فرادادههای زمینهای برای محتوای تولید شده. |
inputTranscription | فقط خروجی. رونویسی صوتی ورودی. رونویسی مستقل از سایر پیامهای سرور ارسال میشود و هیچ ترتیب تضمینشدهای وجود ندارد. |
outputTranscription | فقط خروجی. رونویسی صوتی خروجی. رونویسی مستقل از سایر پیامهای سرور ارسال میشود و هیچ ترتیب تضمینشدهای وجود ندارد، بهویژه بین |
urlContextMetadata | |
modelTurn | فقط خروجی. محتوایی که مدل به عنوان بخشی از مکالمه فعلی با کاربر تولید کرده است. |
BidiGenerateContentServerMessage
پیام پاسخ برای فراخوانی BidiGenerateContent.
| فیلدها | |
|---|---|
usageMetadata | فقط خروجی. استفاده از فراداده در مورد پاسخ(ها). |
فیلد union messageType . نوع پیام. messageType فقط میتواند یکی از موارد زیر باشد: | |
setupComplete | فقط خروجی. در پاسخ به پیام |
serverContent | فقط خروجی. محتوایی که توسط مدل در پاسخ به پیامهای کلاینت تولید میشود. |
toolCall | فقط خروجی. از کلاینت درخواست کنید تا |
toolCallCancellation | فقط خروجی. اعلانی برای کلاینت مبنی بر اینکه |
goAway | فقط خروجی. اخطاری مبنی بر اینکه سرور به زودی قطع خواهد شد. |
sessionResumptionUpdate | فقط خروجی. بهروزرسانی وضعیت از سرگیری جلسه. |
تنظیمات محتوای BidiGenerate
پیامی که قرار است در اولین (و فقط در اولین) BidiGenerateContentClientMessage ارسال شود. حاوی پیکربندی است که در طول مدت RPC استریمینگ اعمال خواهد شد.
کلاینتها باید قبل از ارسال هرگونه پیام اضافی، منتظر پیام BidiGenerateContentSetupComplete باشند.
| فیلدها | |
|---|---|
model | الزامی. نام منبع مدل. این به عنوان شناسهای برای استفاده مدل عمل میکند. قالب: |
generationConfig | اختیاری. پیکربندی نسل. فیلدهای زیر پشتیبانی نمیشوند:
|
systemInstruction | اختیاری. کاربر دستورالعملهای سیستمی را برای مدل ارائه داده است. توجه: فقط متن باید در بخشها استفاده شود و محتوای هر بخش در یک پاراگراف جداگانه قرار گیرد. |
tools[] | اختیاری. فهرستی از |
realtimeInputConfig | اختیاری. نحوهی مدیریت ورودیهای بیدرنگ را پیکربندی میکند. |
sessionResumption | اختیاری. مکانیزم از سرگیری جلسه را پیکربندی میکند. در صورت وجود، سرور پیامهای |
contextWindowCompression | اختیاری. مکانیزم فشردهسازی پنجره زمینه را پیکربندی میکند. در صورت وجود، سرور به طور خودکار اندازه context را هنگامی که از طول پیکربندی شده تجاوز کند، کاهش میدهد. |
inputAudioTranscription | اختیاری. در صورت تنظیم، رونویسی ورودی صوتی را فعال میکند. در صورت پیکربندی، رونویسی با زبان صوتی ورودی همتراز میشود. |
outputAudioTranscription | اختیاری. در صورت تنظیم، رونویسی خروجی صدای مدل را فعال میکند. در صورت پیکربندی، رونویسی با کد زبان مشخص شده برای صدای خروجی همتراز میشود. |
proactivity | اختیاری. میزان فعالیت مدل را پیکربندی میکند. این به مدل اجازه میدهد تا به ورودیها به صورت پیشگیرانه پاسخ دهد و ورودیهای نامربوط را نادیده بگیرد. |
BidiGenerateContentSetupComplete
این نوع هیچ فیلدی ندارد.
در پاسخ به پیام BidiGenerateContentSetup از کلاینت ارسال شده است.
تماس با ابزار تولید محتوا (BidiGenerateContentToolCall)
از کلاینت درخواست کنید تا functionCalls را اجرا کند و پاسخها را با id منطبق s برگرداند.
| فیلدها | |
|---|---|
functionCalls[] | فقط خروجی. فراخوانی تابعی که قرار است اجرا شود. |
BidiGenerateContentToolCallCancellation
اعلانی برای کلاینت مبنی بر اینکه ToolCallMessage قبلاً صادر شده با id مشخص شده نباید اجرا میشد و باید لغو شود. اگر عوارض جانبی در آن فراخوانیهای ابزار وجود داشته باشد، کلاینتها میتوانند سعی کنند فراخوانیهای ابزار را لغو کنند. این پیام فقط در مواردی رخ میدهد که کلاینتها چرخشهای سرور را قطع میکنند.
| فیلدها | |
|---|---|
ids[] | فقط خروجی. شناسههای فراخوانیهای ابزار باید لغو شوند. |
BidiGenerateContentToolResponse
پاسخ تولید شده توسط کلاینت به یک ToolCall دریافتی از سرور. اشیاء FunctionResponse به صورت جداگانه توسط فیلد id با اشیاء FunctionCall مربوطه تطبیق داده میشوند.
توجه داشته باشید که در APIهای GenerateContent تکی و جریانی سرور، فراخوانی تابع با تبادل بخشهای Content انجام میشود، در حالی که در APIهای GenerateContent بیدی، فراخوانی تابع روی این مجموعه اختصاصی از پیامها انجام میشود.
| فیلدها | |
|---|---|
functionResponses[] | اختیاری. پاسخ به فراخوانیهای تابع. |
BidiGenerateContentTranscription
رونویسی صدا (ورودی یا خروجی).
| فیلدها | |
|---|---|
text | متن رونویسی. |
پیکربندی ContextWindowCompression
فشردهسازی پنجره زمینه را فعال میکند - مکانیزمی برای مدیریت پنجره زمینه مدل به طوری که از طول مشخصی تجاوز نکند.
| فیلدها | |
|---|---|
compressionMechanism فیلد یونیون. مکانیسم فشردهسازی پنجره زمینه مورد استفاده. compressionMechanism میتواند فقط یکی از موارد زیر باشد: | |
slidingWindow | مکانیزم پنجره کشویی. |
triggerTokens | تعداد توکنهایی (قبل از اجرای یک نوبت) که برای فشردهسازی پنجرهی زمینه لازم است. این میتواند برای ایجاد تعادل بین کیفیت و تأخیر استفاده شود، زیرا پنجرههای متنی کوتاهتر ممکن است منجر به پاسخهای سریعتر مدل شوند. با این حال، هرگونه عملیات فشردهسازی باعث افزایش موقت تأخیر میشود، بنابراین نباید مرتباً فعال شوند. اگر تنظیم نشود، پیشفرض ۸۰٪ از محدودیت پنجرهی زمینهی مدل است. این مقدار ۲۰٪ را برای درخواست/پاسخ مدل بعدی کاربر باقی میگذارد. |
پایان حساسیت
نحوه تشخیص پایان گفتار را تعیین میکند.
| انومها | |
|---|---|
END_SENSITIVITY_UNSPECIFIED | مقدار پیشفرض END_SENSITIVITY_HIGH است. |
END_SENSITIVITY_HIGH | تشخیص خودکار، گفتار را بیشتر قطع میکند. |
END_SENSITIVITY_LOW | تشخیص خودکار، گفتار را کمتر قطع میکند. |
برو کنار
اخطاری مبنی بر اینکه سرور به زودی قطع خواهد شد.
| فیلدها | |
|---|---|
timeLeft | زمان باقی مانده قبل از اتصال به عنوان لغو شده (ABORTED) خاتمه خواهد یافت. این مدت هرگز کمتر از حداقل مشخص شده برای مدل نخواهد بود، که همراه با محدودیتهای نرخ برای مدل مشخص میشود. |
پرواکتیویته کانفیگ
پیکربندی برای ویژگیهای پیشگیرانه.
| فیلدها | |
|---|---|
proactiveAudio | اختیاری. در صورت فعال بودن، مدل میتواند از پاسخ دادن به آخرین درخواست خودداری کند. برای مثال، این به مدل اجازه میدهد تا سخنان خارج از متن را نادیده بگیرد یا اگر کاربر هنوز درخواستی نداده است، سکوت کند. |
پیکربندی ورودی بلادرنگ
رفتار ورودی بیدرنگ را در BidiGenerateContent پیکربندی میکند.
| فیلدها | |
|---|---|
automaticActivityDetection | اختیاری. اگر تنظیم نشود، تشخیص خودکار فعالیت به طور پیشفرض فعال است. اگر تشخیص خودکار صدا غیرفعال باشد، کلاینت باید سیگنالهای فعالیت ارسال کند. |
activityHandling | اختیاری. تعریف میکند که فعالیت چه تأثیری دارد. |
turnCoverage | اختیاری. مشخص میکند که کدام ورودی در نوبت کاربر لحاظ شود. |
پیکربندی SessionResum
پیکربندی از سرگیری جلسه.
این پیام در پیکربندی جلسه با عنوان BidiGenerateContentSetup.sessionResumption گنجانده شده است. در صورت پیکربندی، سرور پیامهای SessionResumptionUpdate ارسال خواهد کرد.
| فیلدها | |
|---|---|
handle | شناسهی جلسهی قبلی. اگر موجود نباشد، یک جلسهی جدید ایجاد میشود. شناسههای نشست (Session Handles) از مقادیر |
بهروزرسانی از سرگیری جلسه
بهروزرسانی وضعیت از سرگیری جلسه.
فقط در صورتی ارسال میشود که BidiGenerateContentSetup.sessionResumption تنظیم شده باشد.
| فیلدها | |
|---|---|
newHandle | یک شناسه جدید که نشاندهنده وضعیتی است که میتواند از سر گرفته شود. در صورت |
resumable | اگر بتوان نشست فعلی را در این مرحله از سر گرفت، صحیح است. در برخی از نقاط session، از سرگیری امکانپذیر نیست. برای مثال، هنگامی که مدل در حال اجرای فراخوانیهای تابع یا تولید است. از سرگیری session (با استفاده از توکن session قبلی) در چنین حالتی منجر به از دست رفتن مقداری از دادهها خواهد شد. در این موارد، |
پنجره کشویی
متد SlidingWindow با حذف محتوا در ابتدای پنجره context عمل میکند. context حاصل همیشه از ابتدای چرخش نقش USER شروع میشود. دستورالعملهای سیستم و هرگونه BidiGenerateContentSetup.prefixTurns همیشه در ابتدای نتیجه باقی میمانند.
| فیلدها | |
|---|---|
targetTokens | تعداد هدف توکنهایی که باید نگه داشته شوند. مقدار پیشفرض trigger_tokens/2 است. حذف بخشهایی از پنجره زمینه باعث افزایش موقت تأخیر میشود، بنابراین این مقدار باید کالیبره شود تا از عملیات فشردهسازی مکرر جلوگیری شود. |
حساسیت شروع
نحوه تشخیص شروع گفتار را تعیین میکند.
| انومها | |
|---|---|
START_SENSITIVITY_UNSPECIFIED | مقدار پیشفرض START_SENSITIVITY_HIGH است. |
START_SENSITIVITY_HIGH | تشخیص خودکار، شروع گفتار را بیشتر تشخیص میدهد. |
START_SENSITIVITY_LOW | تشخیص خودکار، شروع گفتار را کمتر تشخیص میدهد. |
پوشش نوبتی
گزینههایی در مورد اینکه کدام ورودیها در نوبت کاربر لحاظ شوند.
| انومها | |
|---|---|
TURN_COVERAGE_UNSPECIFIED | اگر مشخص نشده باشد، رفتار پیشفرض TURN_INCLUDES_ONLY_ACTIVITY است. |
TURN_INCLUDES_ONLY_ACTIVITY | نوبت کاربر فقط شامل فعالیتهای انجام شده از آخرین نوبت به بعد میشود و عدم فعالیت (مثلاً سکوت در پخش صدا) را شامل نمیشود. این رفتار پیشفرض است. |
TURN_INCLUDES_ALL_INPUT | نوبت کاربر شامل تمام ورودیهای بلادرنگ از آخرین نوبت، از جمله عدم فعالیت (مثلاً سکوت در جریان صوتی) میشود. |
فرادادهی UrlContext
فراداده مربوط به ابزار بازیابی متن url.
| فیلدها | |
|---|---|
urlMetadata[] | فهرست زمینه آدرس اینترنتی. |
کاربردفراداده
فرادادههای مربوط به پاسخ(ها).
| فیلدها | |
|---|---|
promptTokenCount | فقط خروجی. تعداد توکنهای موجود در اعلان. وقتی |
cachedContentTokenCount | تعداد توکنها در بخش ذخیرهشدهی اعلان (محتوای ذخیرهشده) |
responseTokenCount | فقط خروجی. تعداد کل توکنها در بین تمام کاندیدهای پاسخ تولید شده. |
toolUsePromptTokenCount | فقط خروجی. تعداد توکنهای موجود در اعلان(های) استفاده از ابزار. |
thoughtsTokenCount | فقط خروجی. تعداد توکنهای افکار برای مدلهای تفکر. |
totalTokenCount | فقط خروجی. تعداد کل توکنها برای درخواست تولید (نامزدهای اعلان + پاسخ). |
promptTokensDetails[] | فقط خروجی. فهرست روشهایی که در ورودی درخواست پردازش شدهاند. |
cacheTokensDetails[] | فقط خروجی. فهرستی از روشهای محتوای ذخیرهشده در ورودی درخواست. |
responseTokensDetails[] | فقط خروجی. فهرست روشهایی که در پاسخ برگردانده شدهاند. |
toolUsePromptTokensDetails[] | فقط خروجی. فهرست روشهایی که برای ورودیهای درخواست استفاده از ابزار پردازش شدهاند. |
توکنهای احراز هویت موقت
توکنهای احراز هویت موقت را میتوان با فراخوانی AuthTokenService.CreateToken به دست آورد و سپس با GenerativeService.BidiGenerateContentConstrained استفاده کرد، یا با ارسال توکن در یک پارامتر پرسوجوی access_token ، یا در یک هدر HTTP Authorization با پیشوند " Token " به آن.
درخواست ایجاد توکن احراز هویت
یک توکن احراز هویت موقت ایجاد کنید.
| فیلدها | |
|---|---|
authToken | الزامی. توکنی که باید ایجاد شود. |
توکن احراز هویت
درخواستی برای ایجاد یک توکن احراز هویت موقت.
| فیلدها | |
|---|---|
name | فقط خروجی. شناسه. خود توکن. |
expireTime | اختیاری. فقط ورودی. تغییرناپذیر. یک زمان اختیاری که پس از آن، هنگام استفاده از توکن حاصل، پیامهای موجود در جلسات BidiGenerateContent رد میشوند. (Gemini ممکن است پس از این زمان، جلسه را به صورت پیشگیرانه ببندد.) اگر تنظیم نشده باشد، این مقدار به صورت پیشفرض روی ۳۰ دقیقه در آینده تنظیم میشود. در صورت تنظیم، این مقدار باید کمتر از ۲۰ ساعت در آینده باشد. |
newSessionExpireTime | اختیاری. فقط ورودی. تغییرناپذیر. زمانی که پس از آن، جلسات جدید Live API با استفاده از توکن حاصل از این درخواست رد میشوند. اگر تنظیم نشود، پیشفرضها روی ۶۰ ثانیه در آینده تنظیم میشوند. اگر تنظیم شود، این مقدار باید کمتر از ۲۰ ساعت در آینده باشد. |
fieldMask | اختیاری. فقط ورودی. تغییرناپذیر. اگر field_mask خالی باشد و اگر field_mask خالی باشد و اگر field_mask خالی نباشد، فیلدهای مربوطه از |
config فیلد Union. پیکربندی مختص متد برای token.config config میتواند فقط یکی از موارد زیر باشد: | |
bidiGenerateContentSetup | اختیاری. فقط ورودی. تغییرناپذیر. پیکربندی مختص |
uses | اختیاری. فقط ورودی. تغییرناپذیر. تعداد دفعاتی که میتوان از توکن استفاده کرد. اگر این مقدار صفر باشد، هیچ محدودیتی اعمال نمیشود. از سرگیری یک جلسه Live API به عنوان یک استفاده حساب نمیشود. اگر مشخص نشود، پیشفرض ۱ است. |
اطلاعات بیشتر در مورد انواع رایج
برای اطلاعات بیشتر در مورد انواع منابع API رایج Blob ، Content ، FunctionCall ، FunctionResponse ، GenerationConfig ، GroundingMetadata ، ModalityTokenCount و Tool ، به بخش تولید محتوا مراجعه کنید.