Live API - WebSockets API reference

Live API, WebSockets kullanan durum bilgisi olan bir API'dir. Bu bölümde, WebSockets API ile ilgili ek ayrıntıları bulabilirsiniz.

Oturum sayısı

WebSocket bağlantısı, istemci ile Gemini sunucusu arasında bir oturum oluşturur. Bir istemci yeni bir bağlantı başlattıktan sonra oturum, sunucuyla mesaj alışverişinde bulunarak şunları yapabilir:

  • Gemini sunucusuna metin, ses veya video gönderme
  • Gemini sunucusundan ses, metin veya işlev çağrısı istekleri alma

WebSocket bağlantısı

Oturum başlatmak için şu WebSocket uç noktasına bağlanın:

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

Oturum yapılandırması

WebSocket bağlantısı kurulduktan sonra gönderilen ilk mesaj, oturum yapılandırmasını ayarlar. Bu yapılandırma; modeli, oluşturma parametrelerini, sistem talimatlarını ve araçları içerir.

Bağlantı açıkken yapılandırmayı güncelleyemezsiniz. Ancak oturum devam ettirme mekanizması aracılığıyla duraklatıp devam ettirirken model hariç yapılandırma parametrelerini değiştirebilirsiniz.

Aşağıdaki örnek yapılandırmaya bakın. SDK'lardaki ad büyük/küçük harf kullanımının farklılık gösterebileceğini unutmayın. Python SDK yapılandırma seçeneklerini buradan inceleyebilirsiniz.


{
  "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 alanı hakkında daha fazla bilgi için generationConfig konusuna bakın.

Mesaj gönderin

WebSocket bağlantısı üzerinden mesaj alışverişi yapmak için istemcinin açık bir WebSocket bağlantısı üzerinden bir JSON nesnesi göndermesi gerekir. JSON nesnesi, aşağıdaki nesne grubundaki alanlardan tam olarak birini içermelidir:


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

Desteklenen müşteri mesajları

Desteklenen istemci mesajlarını aşağıdaki tabloda görebilirsiniz:

Mesaj Açıklama
BidiGenerateContentSetup İlk mesajda gönderilecek oturum yapılandırması
BidiGenerateContentClientContent Mevcut sohbetin istemciden gönderilen artımlı içerik güncellemesi
BidiGenerateContentRealtimeInput Gerçek zamanlı ses, video veya metin girişi
BidiGenerateContentToolResponse Sunucudan alınan ToolCallMessage yanıtı

İleti alma

Gemini'dan mesaj almak için WebSocket "message" etkinliğini dinleyin ve sonucu desteklenen sunucu mesajlarının tanımına göre ayrıştırın.

Aşağıdaki bilgilere bakın:

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)

Sunucu iletilerinde usageMetadata alanı olabilir ancak BidiGenerateContentServerMessage iletisindeki diğer alanlardan yalnızca biri bulunur. (messageType birleşimi JSON'da ifade edilmediğinden alan, mesajın üst düzeyinde görünür.)

Mesajlar ve etkinlikler

ActivityEnd

Bu türde alan yok.

Kullanıcı etkinliğinin sonunu işaretler.

ActivityHandling

Kullanıcı etkinliğini ele almanın farklı yolları.

Sıralamalar
ACTIVITY_HANDLING_UNSPECIFIED Belirtilmemişse varsayılan davranış START_OF_ACTIVITY_INTERRUPTS olur.
START_OF_ACTIVITY_INTERRUPTS Doğruysa etkinliğin başlangıcı, modelin yanıtını kesintiye uğratır (buna "araya girme" de denir). Modelin mevcut yanıtı, kesintinin olduğu anda kesilir. Bu, varsayılan davranıştır.
NO_INTERRUPTION Modelin yanıtı kesintiye uğramaz.

ActivityStart

Bu türde alan yok.

Kullanıcı etkinliğinin başlangıcını işaretler.

AudioTranscriptionConfig

Bu türde alan yok.

Ses transkripti yapılandırması.

AutomaticActivityDetection

Etkinliğin otomatik olarak algılanmasını yapılandırır.

Alanlar
disabled

bool

İsteğe bağlı. Etkinleştirilirse (varsayılan), algılanan ses ve metin girişi etkinlik olarak sayılır. Devre dışı bırakılırsa istemcinin etkinlik sinyalleri göndermesi gerekir.

startOfSpeechSensitivity

StartSensitivity

İsteğe bağlı. Konuşmanın algılanma olasılığını belirler.

prefixPaddingMs

int32

İsteğe bağlı. Konuşma başlangıcı kaydedilmeden önce algılanan konuşmanın gerekli süresi. Bu değer ne kadar düşük olursa konuşma başlangıcı algılama o kadar hassas olur ve daha kısa konuşmalar tanınabilir. Ancak bu durum, yanlış pozitif olasılığını da artırır.

endOfSpeechSensitivity

EndSensitivity

İsteğe bağlı. Algılanan konuşmanın ne kadar olası bir şekilde sona erdiğini belirler.

silenceDurationMs

int32

İsteğe bağlı. Konuşma sonunun kesinleşmesi için algılanan konuşma dışı (ör. sessizlik) sürenin uzunluğu. Bu değer ne kadar büyük olursa kullanıcının etkinliği kesintiye uğramadan konuşma aralıkları o kadar uzun olabilir ancak bu durum modelin gecikmesini artırır.

BidiGenerateContentClientContent

Mevcut görüşmenin istemciden gönderilen artımlı güncellemesi. Buradaki tüm içerikler, koşulsuz olarak görüşme geçmişine eklenir ve içerik oluşturması için modele gönderilen istemin bir parçası olarak kullanılır.

Buradaki bir mesaj, mevcut model oluşturma işlemlerini kesintiye uğratır.

Alanlar
turns[]

Content

İsteğe bağlı. Modelle yapılan mevcut sohbete eklenen içerik.

Tek dönüşlü sorgular için bu tek bir örnektir. Çok turlu sorgular için bu, görüşme geçmişini ve en son isteği içeren yinelenen bir alandır.

turnComplete

bool

İsteğe bağlı. Doğruysa sunucu içeriği oluşturma işleminin, şu anda birikmiş istemle başlaması gerektiğini belirtir. Aksi takdirde sunucu, oluşturma işlemine başlamadan önce ek mesajlar bekler.

BidiGenerateContentRealtimeInput

Anlık olarak gönderilen kullanıcı girişi.

Farklı formatlar (ses, video ve metin) eşzamanlı akışlar olarak işlenir. Bu akışlar arasında sıralama garanti edilmez.

Bu, BidiGenerateContentClientContent ile birkaç açıdan farklıdır:

  • Model oluşturma işlemi kesintiye uğramadan sürekli olarak gönderilebilir.
  • BidiGenerateContentClientContent ve BidiGenerateContentRealtimeInput arasında serpiştirilmiş verilerin karıştırılması gerekiyorsa sunucu en iyi yanıt için optimizasyon yapmaya çalışır ancak garanti verilmez.
  • Sıranın sonu açıkça belirtilmez, bunun yerine kullanıcı etkinliğinden (ör. konuşmanın sonu) anlaşılır.
  • Dönem sona ermeden önce bile veriler, modelin yanıtına hızlı bir başlangıç yapmasını sağlamak için artımlı olarak işlenir.
Alanlar
mediaChunks[]

Blob

İsteğe bağlı. Medya girişi için satır içi bayt verileri. Birden fazla mediaChunks desteklenmez. İlk öğe hariç diğerleri yok sayılır.

KULLANIMDAN KALDIRILDI: Bunun yerine audio, video veya text öğelerinden birini kullanın.

audio

Blob

İsteğe bağlı. Bunlar, anlık ses girişi akışını oluşturur.

video

Blob

İsteğe bağlı. Bunlar, gerçek zamanlı video giriş akışını oluşturur.

activityStart

ActivityStart

İsteğe bağlı. Kullanıcı etkinliğinin başlangıcını işaretler. Bu yalnızca otomatik (yani sunucu tarafı) etkinlik algılama devre dışı bırakıldığında gönderilebilir.

activityEnd

ActivityEnd

İsteğe bağlı. Kullanıcı etkinliğinin sonunu işaretler. Bu yalnızca otomatik (yani sunucu tarafı) etkinlik algılama devre dışı bırakıldığında gönderilebilir.

audioStreamEnd

bool

İsteğe bağlı. Ses akışının sona erdiğini gösterir (ör. mikrofon kapatıldığı için).

Bu etkinlik yalnızca otomatik etkinlik algılama etkinleştirildiğinde (varsayılan ayar) gönderilmelidir.

İstemci, sesli mesaj göndererek akışı yeniden açabilir.

text

string

İsteğe bağlı. Bunlar, anlık metin girişi akışını oluşturur.

BidiGenerateContentServerContent

Model tarafından istemci mesajlarına yanıt olarak oluşturulan artımlı sunucu güncellemesi.

İçerik, mümkün olduğunca hızlı bir şekilde oluşturulur ve anlık olarak oluşturulmaz. İstemciler, içeriği arabelleğe alıp gerçek zamanlı olarak oynatmayı seçebilir.

Alanlar
generationComplete

bool

Yalnızca çıkış. Doğruysa modelin oluşturma işleminin tamamlandığını gösterir.

Model oluşturma sırasında kesintiye uğrarsa kesintiye uğrayan dönüşte "generation_complete" mesajı olmaz. Bunun yerine "interrupted > turn_complete" mesajı gösterilir.

Model, gerçek zamanlı oynatmanın olduğunu varsaydığında, oynatmanın bitmesini beklediği için generation_complete ile turn_complete arasında gecikme olur.

turnComplete

bool

Yalnızca çıkış. Doğruysa modelin sırasını tamamladığını gösterir. Üretim yalnızca ek istemci mesajlarına yanıt olarak başlar.

interrupted

bool

Yalnızca çıkış. Doğruysa istemci mesajının mevcut model oluşturma işlemini kesintiye uğrattığını gösterir. İstemci, içeriği gerçek zamanlı olarak oynatıyorsa bu, mevcut oynatma sırasını durdurup boşaltmak için iyi bir sinyaldir.

groundingMetadata

GroundingMetadata

Yalnızca çıkış. Oluşturulan içerik için temel meta veriler.

inputTranscription

BidiGenerateContentTranscription

Yalnızca çıkış. Ses transkriptini girin. Transkript, diğer sunucu mesajlarından bağımsız olarak gönderilir ve sıralama garantisi yoktur.

outputTranscription

BidiGenerateContentTranscription

Yalnızca çıkış. Ses transkriptini çıktı olarak alma Transkript, diğer sunucu mesajlarından bağımsız olarak gönderilir ve özellikle serverContent ile bu outputTranscription arasında olmak üzere sıralama garanti edilmez.

urlContextMetadata

UrlContextMetadata

modelTurn

Content

Yalnızca çıkış. Modelin, kullanıcıyla yaptığı mevcut görüşme kapsamında oluşturduğu içerik.

BidiGenerateContentServerMessage

BidiGenerateContent çağrısının yanıt mesajı.

Alanlar
usageMetadata

UsageMetadata

Yalnızca çıkış. Yanıtlarla ilgili kullanım meta verileri.

messageType birleşik alanı. Mesajın türü. messageType aşağıdakilerden yalnızca biri olabilir:
setupComplete

BidiGenerateContentSetupComplete

Yalnızca çıkış. Kurulum tamamlandığında istemciden gelen BidiGenerateContentSetup mesajına yanıt olarak gönderilir.

serverContent

BidiGenerateContentServerContent

Yalnızca çıkış. Modelin istemci mesajlarına yanıt olarak oluşturduğu içerik.

toolCall

BidiGenerateContentToolCall

Yalnızca çıkış. İstemcinin functionCalls öğesini yürütmesi ve yanıtları eşleşen id öğeleriyle birlikte döndürmesi isteği.

toolCallCancellation

BidiGenerateContentToolCallCancellation

Yalnızca çıkış. Müşteriye, belirtilen id ile daha önce verilmiş olan ToolCallMessage'nın iptal edilmesi gerektiğiyle ilgili bildirim.

goAway

GoAway

Yalnızca çıkış. Sunucunun yakında bağlantısının kesileceğine dair bir bildirim.

sessionResumptionUpdate

SessionResumptionUpdate

Yalnızca çıkış. Oturum devam ettirme durumunun güncellenmesi.

BidiGenerateContentSetup

İleti, ilk BidiGenerateContentClientMessage içinde (yalnızca ilk BidiGenerateContentClientMessage içinde) gönderilir. Akış RPC'si süresince geçerli olacak yapılandırmayı içerir.

Müşteriler, ek mesaj göndermeden önce BidiGenerateContentSetupComplete mesajını beklemelidir.

Alanlar
model

string

Zorunlu. Modelin kaynak adı. Bu, Model'in kullanacağı bir kimlik görevi görür.

Biçim: models/{model}

generationConfig

GenerationConfig

İsteğe bağlı. Oluşturma yapılandırması.

Aşağıdaki alanlar desteklenmez:

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

Content

İsteğe bağlı. Kullanıcı, model için sistem talimatları sağladı.

Not: Bölümlerde yalnızca metin kullanılmalı ve her bölümdeki içerik ayrı bir paragrafta yer almalıdır.

tools[]

Tool

İsteğe bağlı. Modelin bir sonraki yanıtı oluşturmak için kullanabileceği Tools listesi.

Tool, sistemin modelin bilgisi ve kapsamı dışında bir işlem veya işlem grubu gerçekleştirmek için harici sistemlerle etkileşime girmesini sağlayan bir kod parçasıdır.

realtimeInputConfig

RealtimeInputConfig

İsteğe bağlı. Gerçek zamanlı girişin işlenmesini yapılandırır.

sessionResumption

SessionResumptionConfig

İsteğe bağlı. Oturum devam ettirme mekanizmasını yapılandırır.

Dahil edilirse sunucu SessionResumptionUpdate ileti gönderir.

contextWindowCompression

ContextWindowCompressionConfig

İsteğe bağlı. Bağlam penceresi sıkıştırma mekanizmasını yapılandırır.

Dahil edilirse sunucu, yapılandırılan uzunluğu aştığında bağlamın boyutunu otomatik olarak azaltır.

inputAudioTranscription

AudioTranscriptionConfig

İsteğe bağlı. Ayarlanırsa ses girişinin transkripsiyonunu etkinleştirir. Metne dönüştürme, yapılandırılmışsa giriş sesinin diliyle eşleşir.

outputAudioTranscription

AudioTranscriptionConfig

İsteğe bağlı. Ayarlanırsa modelin ses çıkışının transkripsiyonunu etkinleştirir. Transkript, yapılandırılmışsa çıktı sesi için belirtilen dil koduyla eşleşir.

proactivity

ProactivityConfig

İsteğe bağlı. Modelin proaktifliğini yapılandırır.

Bu sayede model, girişe proaktif olarak yanıt verebilir ve alakasız girişleri yok sayabilir.

BidiGenerateContentSetupComplete

Bu türde alan yok.

İstemciden gelen BidiGenerateContentSetup mesajına yanıt olarak gönderilir.

BidiGenerateContentToolCall

İstemcinin functionCalls öğesini yürütmesi ve yanıtları eşleşen id öğeleriyle birlikte döndürmesi isteği.

Alanlar
functionCalls[]

FunctionCall

Yalnızca çıkış. Yürütülecek işlev çağrısı.

BidiGenerateContentToolCallCancellation

Müşteriye, belirtilen id ile daha önce verilen ToolCallMessage'nın yürütülmemesi ve iptal edilmesi gerektiğiyle ilgili bildirim. Bu araç çağrıları yan etkilere neden olduysa istemciler araç çağrılarını geri almaya çalışabilir. Bu mesaj yalnızca istemcilerin sunucu dönüşümlerini kesintiye uğrattığı durumlarda gösterilir.

Alanlar
ids[]

string

Yalnızca çıkış. İptal edilecek araç çağrılarının kimlikleri.

BidiGenerateContentToolResponse

İstemci, sunucudan alınan ToolCall yanıtına karşılık bir yanıt oluşturdu. Ayrı FunctionResponse nesneleri, id alanı kullanılarak ilgili FunctionCall nesneleriyle eşleştirilir.

Tekli ve sunucu akışlı GenerateContent API'lerinde işlev çağrısının Content bölümlerinin değiştirilmesiyle, çift yönlü GenerateContent API'lerinde ise işlev çağrısının bu özel mesaj grubu üzerinden gerçekleştiğini unutmayın.

Alanlar
functionResponses[]

FunctionResponse

İsteğe bağlı. İşlev çağrılarına verilen yanıt.

BidiGenerateContentTranscription

Sesin (giriş veya çıkış) metne dönüştürülmesi.

Alanlar
text

string

Metne dönüştürme metni.

ContextWindowCompressionConfig

Bağlam penceresi sıkıştırmasını etkinleştirir. Bu, modelin bağlam penceresini belirli bir uzunluğu aşmayacak şekilde yönetmeye yönelik bir mekanizmadır.

Alanlar
compressionMechanism birleşik alanı. Kullanılan bağlam penceresi sıkıştırma mekanizması. compressionMechanism aşağıdakilerden yalnızca biri olabilir:
slidingWindow

SlidingWindow

Kayar pencere mekanizması.

triggerTokens

int64

Bir dönüşüm çalıştırılmadan önce bağlam penceresi sıkıştırmasını tetiklemek için gereken jeton sayısı.

Bu, kalite ile gecikme arasında denge kurmak için kullanılabilir. Daha kısa bağlam pencereleri, model yanıtlarının daha hızlı olmasına neden olabilir. Ancak tüm sıkıştırma işlemleri geçici olarak gecikmeyi artıracağından sık sık tetiklenmemelidir.

Ayarlanmamışsa varsayılan olarak modelin bağlam penceresi sınırının% 80'i kullanılır. Bu durumda, sonraki kullanıcı isteği/model yanıtı için% 20'lik bir alan kalır.

EndSensitivity

Konuşmanın sonunun nasıl algılanacağını belirler.

Sıralamalar
END_SENSITIVITY_UNSPECIFIED Varsayılan değer END_SENSITIVITY_HIGH'dır.
END_SENSITIVITY_HIGH Otomatik algılama, konuşmayı daha sık sonlandırır.
END_SENSITIVITY_LOW Otomatik algılama, konuşmayı daha az sonlandırır.

GoAway

Sunucunun yakında bağlantısının kesileceğine dair bir bildirim.

Alanlar
timeLeft

Duration

Bağlantının ABORTED olarak sonlandırılmasına kadar kalan süre.

Bu süre, modele özgü minimum süreden asla daha kısa olmaz ve modelin sıklık sınırlarıyla birlikte belirtilir.

ProactivityConfig

Proaktiflik özellikleri için yapılandırma.

Alanlar
proactiveAudio

bool

İsteğe bağlı. Etkinleştirilirse model, son isteme yanıt vermeyi reddedebilir. Örneğin, bu sayede model, bağlam dışı konuşmaları yoksayabilir veya kullanıcı henüz bir istekte bulunmadıysa sessiz kalabilir.

RealtimeInputConfig

BidiGenerateContent'da gerçek zamanlı giriş davranışını yapılandırır.

Alanlar
automaticActivityDetection

AutomaticActivityDetection

İsteğe bağlı. Ayarlanmamışsa otomatik etkinlik algılama varsayılan olarak etkindir. Otomatik ses algılama devre dışı bırakılırsa istemcinin etkinlik sinyalleri göndermesi gerekir.

activityHandling

ActivityHandling

İsteğe bağlı. Etkinliğin etkisini tanımlar.

turnCoverage

TurnCoverage

İsteğe bağlı. Kullanıcının dönüşüne hangi girişin dahil edileceğini tanımlar.

SessionResumptionConfig

Oturum devam ettirme yapılandırması.

Bu mesaj, oturum yapılandırmasına BidiGenerateContentSetup.sessionResumption olarak dahil edilir. Yapılandırılmışsa sunucu SessionResumptionUpdate mesajlarını gönderir.

Alanlar
handle

string

Önceki bir oturumun işleyeni. Mevcut değilse yeni bir oturum oluşturulur.

Oturum işleyicileri, önceki bağlantılardaki SessionResumptionUpdate.token değerlerinden gelir.

SessionResumptionUpdate

Oturum devam ettirme durumunun güncellenmesi.

Yalnızca BidiGenerateContentSetup.sessionResumption ayarlandıysa gönderilir.

Alanlar
newHandle

string

Devam ettirilebilecek bir durumu temsil eden yeni herkese açık kullanıcı adı. resumable=yanlış ise boş.

resumable

bool

Geçerli oturum bu noktada devam ettirilebiliyorsa doğru değerini döndürür.

Oturumun bazı noktalarında devam ettirmek mümkün değildir. Örneğin, model işlev çağrılarını yürütürken veya oluşturma yaparken. Oturuma bu durumda devam etmek (önceki oturum jetonunu kullanarak) bazı veri kayıplarına neden olur. Bu durumlarda newHandle boş olur ve resumable yanlış olur.

SlidingWindow

SlidingWindow yöntemi, bağlam penceresinin başındaki içeriği atarak çalışır. Ortaya çıkan bağlam her zaman bir KULLANICI rolü dönüşünün başında başlar. Sistem talimatları ve BidiGenerateContentSetup.prefixTurns her zaman sonucun başında yer alır.

Alanlar
targetTokens

int64

Saklanacak hedef jeton sayısı. Varsayılan değer trigger_tokens/2'dir.

Bağlam penceresinin bazı kısımlarının atılması, geçici olarak gecikmenin artmasına neden olur. Bu nedenle, sık sık sıkıştırma işlemlerini önlemek için bu değer kalibre edilmelidir.

StartSensitivity

Konuşmanın başlangıcının nasıl algılanacağını belirler.

Sıralamalar
START_SENSITIVITY_UNSPECIFIED Varsayılan değer START_SENSITIVITY_HIGH'dır.
START_SENSITIVITY_HIGH Otomatik algılama, konuşmanın başlangıcını daha sık algılar.
START_SENSITIVITY_LOW Otomatik algılama, konuşmanın başlangıcını daha az sıklıkta algılar.

TurnCoverage

Kullanıcının dönüşüne hangi girişin dahil edileceğiyle ilgili seçenekler.

Sıralamalar
TURN_COVERAGE_UNSPECIFIED Belirtilmemişse varsayılan davranış TURN_INCLUDES_ONLY_ACTIVITY olur.
TURN_INCLUDES_ONLY_ACTIVITY Kullanıcı sırası yalnızca son sıradan bu yana yapılan etkinlikleri içerir ve işlem yapılmaması (ör. ses akışında sessizlik) bu kapsamda değildir. Bu, varsayılan davranıştır.
TURN_INCLUDES_ALL_INPUT Kullanıcı sırası, son sıradan bu yana olan tüm gerçek zamanlı girişleri (etkin olmama durumu dahil) içerir. Örneğin, ses akışında sessizlik.

UrlContextMetadata

URL bağlamı alma aracıyla ilgili meta veriler.

Alanlar
urlMetadata[]

UrlMetadata

URL bağlamı listesi.

UsageMetadata

Yanıtlarla ilgili kullanım meta verileri.

Alanlar
promptTokenCount

int32

Yalnızca çıkış. İstemdeki jeton sayısı. cachedContent ayarlandığında bu değer, toplam etkin istem boyutu olmaya devam eder. Yani, önbelleğe alınmış içerikteki jeton sayısını da içerir.

cachedContentTokenCount

int32

İstemin önbelleğe alınan bölümündeki (önbelleğe alınan içerik) jeton sayısı

responseTokenCount

int32

Yalnızca çıkış. Oluşturulan tüm yanıt adaylarındaki toplam jeton sayısı.

toolUsePromptTokenCount

int32

Yalnızca çıkış. Araç kullanma istemlerinde bulunan jeton sayısı.

thoughtsTokenCount

int32

Yalnızca çıkış. Düşünme modelleri için düşünce jetonlarının sayısı.

totalTokenCount

int32

Yalnızca çıkış. Üretim isteği için toplam jeton sayısı (istem + yanıt adayları).

promptTokensDetails[]

ModalityTokenCount

Yalnızca çıkış. İstek girişinde işlenen yöntemlerin listesi.

cacheTokensDetails[]

ModalityTokenCount

Yalnızca çıkış. İstek girişindeki önbelleğe alınmış içeriğin biçimlerinin listesi.

responseTokensDetails[]

ModalityTokenCount

Yalnızca çıkış. Yanıtta döndürülen yöntemlerin listesi.

toolUsePromptTokensDetails[]

ModalityTokenCount

Yalnızca çıkış. Araç kullanımı isteği girişleri için işlenen yöntemlerin listesi.

Kısa ömürlü kimlik doğrulama jetonları

Kısa ömürlü kimlik doğrulama jetonları AuthTokenService.CreateToken çağrılarak alınabilir ve ardından GenerativeService.BidiGenerateContentConstrained ile kullanılabilir. Bunun için jeton, access_token sorgu parametresinde veya HTTP Authorization üstbilgisinde iletilir. Jetonun başına "Token" öneki eklenir.

CreateAuthTokenRequest

Kısa ömürlü bir kimlik doğrulama jetonu oluşturun.

Alanlar
authToken

AuthToken

Zorunlu. Oluşturulacak jeton.

AuthToken

Kısa ömürlü bir kimlik doğrulama jetonu oluşturma isteği.

Alanlar
name

string

Yalnızca çıkış. Tanımlayıcı. Jetonun kendisi.

expireTime

Timestamp

İsteğe bağlı. Yalnızca giriş. Değişmez. İsteğe bağlı bir süre. Bu sürenin sonunda, sonuç jetonu kullanılırken BidiGenerateContent oturumlarındaki mesajlar reddedilir. (Gemini, bu sürenin ardından oturumu önceden kapatabilir.)

Ayarlanmazsa varsayılan olarak 30 dakika sonrası kullanılır. Ayarlanırsa bu değer, 20 saatten kısa bir süre sonra olmalıdır.

newSessionExpireTime

Timestamp

İsteğe bağlı. Yalnızca giriş. Değişmez. Bu istekten elde edilen jetonun kullanıldığı yeni Live API oturumlarının reddedileceği zaman.

Ayarlanmamışsa varsayılan olarak 60 saniye sonraki zamana ayarlanır. Ayarlanırsa bu değer, 20 saatten kısa bir süre sonra olmalıdır.

fieldMask

FieldMask

İsteğe bağlı. Yalnızca giriş. Değişmez. field_mask boşsa ve bidiGenerateContentSetup yoksa geçerli BidiGenerateContentSetup mesajı Live API bağlantısından alınır.

field_mask boşsa ve bidiGenerateContentSetup is mevcutsa bu istekte geçerli BidiGenerateContentSetup mesajı tamamen bidiGenerateContentSetup öğesinden alınır. Live API bağlantısından gelen kurulum mesajı yoksayılır.

field_mask boş değilse bidiGenerateContentSetup içindeki ilgili alanlar, Canlı API bağlantısındaki kurulum mesajındaki alanların üzerine yazar.

config birleşik alanı. Oluşan jeton için yönteme özgü yapılandırma. config aşağıdakilerden yalnızca biri olabilir:
bidiGenerateContentSetup

BidiGenerateContentSetup

İsteğe bağlı. Yalnızca giriş. Değişmez. BidiGenerateContent'ya özel yapılandırma.

uses

int32

İsteğe bağlı. Yalnızca giriş. Değişmez. Jetonun kullanılabileceği sayı. Bu değer sıfırsa sınır uygulanmaz. Bir Live API oturumunu sürdürmek kullanım olarak sayılmaz. Belirtilmemişse varsayılan değer 1'dir.

Yaygın türler hakkında daha fazla bilgi

Sık kullanılan API kaynak türleri Blob, Content, FunctionCall, FunctionResponse, GenerationConfig, GroundingMetadata, ModalityTokenCount ve Tool hakkında daha fazla bilgi için İçerik oluşturma başlıklı makaleyi inceleyin.