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ı (model, oluşturma parametreleri, sistem talimatları ve araçlar dahil) ayarlar.

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,
    "translationConfig": 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 istemci mesajları

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

Mesaj Açıklama
BidiGenerateContentSetup İlk mesajda gönderilecek oturum yapılandırması
BidiGenerateContentClientContent İstemciden gönderilen mevcut sohbete ait artımlı içerik güncellemesi
BidiGenerateContentRealtimeInput Anında 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, ardından 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 mesajlarında usageMetadata alanı olabilir ancak bunun dışında BidiGenerateContentServerMessage mesajındaki diğer alanlardan yalnızca biri bulunur. (messageType birleşimi JSON'da ifade edilmediği için alan, mesajın üst düzeyinde görünür.)

Mesajlar ve etkinlikler

ActivityEnd

Bu türün alanı yok.

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

ActivityHandling

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

Sıralamalar
ACTIVITY_HANDLING_UNSPECIFIED Belirtilmezse varsayılan davranış START_OF_ACTIVITY_INTERRUPTS olur.
START_OF_ACTIVITY_INTERRUPTS Doğru ise 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ürün alanı yok.

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

AudioTranscriptionConfig

Ses transkripti yapılandırması.

Alanlar
languageCodes[]

string

İsteğe bağlıdır. Sesin içerdiği diller hakkında ipuçları veren BCP-47 dil kodları. Atlanırsa veya boş bırakılırsa varsayılan olarak otomatik dil algılama kullanılır.

customVocabulary[]

string

İsteğe bağlıdır. Konuşma tanıma modelinin belirli terimleri (ürün adları, özel isimler, jargon) tanımasını sağlamak için kullanılan özel kelime öbeklerinin listesi.

wordTimestamp

bool

İsteğe bağlıdır. Kelime düzeyinde zaman damgası oluşturmayı yapılandırır.

diarization

bool

İsteğe bağlıdır. Konuşmacı ayırmayı yapılandırır.

mode

Mode

İsteğe bağlıdır. Metne dönüştürme modunu yapılandırır. Desteklenen değerler: VERBATIM, SMART. Belirtilmezse varsayılan olarak VERBATIM transkripsiyonu kullanılır. SMART modunda, model akıcılık bozukluklarını giderme (dolgu kelimelerini, tekrarları ve yanlış başlangıçları ortadan kaldırma), dil bilgisiyle ilgili küçük düzeltmeler, otomatik biçimlendirme (paragraflar, madde işaretleri, numaralı listeler) ve kullanıcı tarafından yapılan küçük düzenlemeleri (satır içi kendi kendine düzeltmeler) gerçekleştirir. Zaman damgaları ve konuşmacı ayrımı, SMART moduyla uyumlu değildir.

Mod

Metne dönüştürme modu.

Sıralamalar
MODE_UNSPECIFIED Transkripsiyon modu belirtilmemiş.
VERBATIM Kelimesi kelimesine metne dönüştürme modu.
SMART Akıllı transkripsiyon modu.

AutomaticActivityDetection

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

Alanlar
disabled

bool

İsteğe bağlıdır. 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ıdır. Konuşmanın algılanma olasılığını belirler.

prefixPaddingMs

int32

İsteğe bağlıdır. 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ıdır. Algılanan konuşmanın ne kadar olasılıkla sona erdiğini belirler.

silenceDurationMs

int32

İsteğe bağlıdır. Konuşma sonu işlenmeden önce tespit edilen 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

İstemciden gönderilen mevcut görüşmenin artımlı güncellemesi. Buradaki tüm içerikler, koşulsuz olarak sohbet geçmişine eklenir ve içerik oluşturmak 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ıdır. Modele yapılan mevcut sohbete eklenen içerik.

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

turnComplete

bool

İsteğe bağlıdır. 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 yayınlardaki 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önüşün sonu gelmeden ö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ıdır. Medya girişi için satır içi bayt verileri. Birden fazla mediaChunks desteklenmez. İlk dışındaki tüm karakterleri yoksayılır.

KULLANIM DIŞI: Bunun yerine audio, video veya text değerlerinden birini kullanın.

audio

Blob

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

video

Blob

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

activityStart

ActivityStart

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

activityEnd

ActivityEnd

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

mediaResolution

MediaResolution

İsteğe bağlıdır. Kullanılacak medya çözünürlüğü. Belirtilmezse setup.generationConfig.mediaResolution kullanılır veya kurulum sağlanmazsa varsayılan değer kullanılır.

audioStreamEnd

bool

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

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

İstemci, sesli mesaj göndererek yayını yeniden açabilir.

text

string

İsteğe bağlıdır. Bunlar, anında metin girişi akışını oluşturur.

BidiGenerateContentServerContent

Modelin istemci mesajlarına yanıt olarak oluşturduğu 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şlemini tamamladığını gösterir.

Model oluşturma sırasında kesintiye uğradığında kesintiye uğrayan adımda "generation_complete" mesajı olmaz. Bunun yerine "interrupted > turn_complete" mesajı gönderilir.

Model, gerçek zamanlı oynatmayı varsaydığında, oynatmanın tamamlanmasını beklediği için generation_complete ve 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. Oynatma durumu raporlaması etkinleştirildiğinde bu etkinliğin yalnızca oynatma durumunun oynatmanın tamamlandığını gösterdiği zaman yayınlandığını unutmayın. Aynı neslin gelecekteki oynatma durumu yoksayılır.

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 temellendirme meta verileri.

inputTranscription

BidiGenerateContentTranscription

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

interimInputTranscription

BidiGenerateContentTranscription

Yalnızca çıkış. Düşük gecikmeli transkripsiyon, kullanıcı konuşurken güncellenir. Bu alan sık sık güncellenir.

outputTranscription

BidiGenerateContentTranscription

Yalnızca çıkış. Çıkış ses transkripti. Bu transkriptler, sunucunun oluşturduğu çıktının bir parçasıdır. Bu dönüşün son çıktı transkripsiyonu, generationComplete veya interrupted'den önce gönderilir. Bu ikisini de turnComplete takip eder. Transkriptler ve diğer modelTurn çıkışlar arasında kesin bir sıralama garantisi yoktur ancak sunucu, transkriptleri ilgili ses çıkışına yakın göndermeye çalışır.

urlContextMetadata

UrlContextMetadata

waitingForInput

bool

Yalnızca çıkış. Doğruysa modelin, kullanıcıdan daha fazla giriş beklediği için (ör. kullanıcının konuşmaya devam etmesini beklediği için) içerik oluşturmadığını gösterir.

interactionStatus

InteractionStatus

Yalnızca çıkış. Canlı oturumun mevcut etkinlik durumu. Her zaman turnComplete ile birlikte gönderilir.

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ı için yanıt mesajı.

Alanlar
usageMetadata

UsageMetadata

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

voiceActivity

VoiceActivity

Yalnızca çıkış. Ses akışında ses etkinliği algılandı.

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

BidiGenerateContentSetupComplete

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

serverContent

BidiGenerateContentServerContent

Yalnızca çıkış. Model tarafından, istemci mesajlarına yanıt olarak oluşturulan 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'lere sahip daha önce verilmiş bir 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ış. Oturuma devam etme durumunun güncellenmesi.

BidiGenerateContentSetup

İleti, ilk BidiGenerateContentClientMessage içinde gönderilir (yalnızca ilk içinde). Yayın 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ıdır. Oluşturma yapılandırması.

Aşağıdaki alanlar desteklenmez:

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

Content

İsteğe bağlıdır. 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ıdır. 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ıdır. Gerçek zamanlı girişin işlenmesini yapılandırır.

sessionResumption

SessionResumptionConfig

İsteğe bağlıdır. Oturuma devam etme mekanizmasını yapılandırır.

Dahil edilirse sunucu SessionResumptionUpdate mesajı gönderir.

contextWindowCompression

ContextWindowCompressionConfig

İsteğe bağlıdır. 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 küçültür.

inputAudioTranscription

AudioTranscriptionConfig

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

outputAudioTranscription

AudioTranscriptionConfig

İsteğe bağlıdır. 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ıdır. Modelin proaktifliğini yapılandırır.

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

historyConfig

HistoryConfig

İsteğe bağlıdır. İstemci ile sunucu arasındaki geçmiş alışverişini yapılandırır.

labels

map<string, string>

İsteğe bağlıdır. İstek için kullanıcı tanımlı meta verileri içeren etiketler.

İsteğe bağlıdır. Etiketler, standart birleştirilmiş Cloud etiketleme şartlarına uymalıdır: - Etiket anahtarları bir harfle başlamalıdır. - Etiket anahtarları ve değerleri 63 karakterden (Unicode kod noktaları) uzun olamaz ve yalnızca küçük harf, sayısal karakter, alt çizgi ve kısa çizgi içerebilir. - Uluslararası karakterlere izin verilir.

Kullanım: - Toplayıcılardan alınan güvenlik tanımlayıcıları: safety_identifier anahtarını kullanın (ör. {"safety_identifier": "user_session_123"})

BidiGenerateContentSetupComplete

Bu türün 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'ler ile daha önce verilmiş bir ToolCallMessage'nın yürütülmemesi ve iptal edilmesi gerektiği konusunda bildirim gönderilir. 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ını oluşturdu. Tek tek 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ıdır. İşlev çağrılarına verilen yanıt.

BidiGenerateContentTranscription

Sesin (giriş veya çıkış) transkripsiyonu.

Alanlar
text

string

Metne dönüştürme metni.

languageCode

string

Transkriptin BCP-47 dil kodu.

startOffset

Duration

İsteğe bağlıdır. Sesin başlangıcına göre transkriptin başlangıç zamanı.

endOffset

Duration

İsteğe bağlıdır. Transkriptin, sesin başlangıcına göre zaman içindeki bitiş kayması.

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

Bağlam penceresi sıkıştırmasını tetiklemek için gereken jeton sayısı (tur çalıştırmadan önce).

Daha kısa bağlam pencereleri daha hızlı model yanıtlarına yol açabileceğinden bu, kalite ile gecikme arasında denge kurmak için kullanılabilir. Ancak tüm sıkıştırma işlemleri geçici olarak gecikme süresini artıracağından sık sık tetiklenmemelidir.

Ayarlanmazsa varsayılan değer, modelin bağlam penceresi sınırının% 80'idir. 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. Bu süre, modelin sıklık sınırlarıyla birlikte belirtilir.

HistoryConfig

Geçmiş yapılandırması.

Bu mesaj, oturum yapılandırmasına BidiGenerateContentSetup.historyConfig olarak dahil edilir. Geçmiş iletilerinin değişimini yapılandırır.

Alanlar
initialHistoryInClientContent

bool

İsteğe bağlıdır. Doğruysa sunucu, setupComplete gönderildikten sonra bekler ve turnComplete true olana kadar ilk olarak clientContent mesajını işler. Bu ilk geçmiş, model çağrısını tetiklemez ve MODEL rolüyle sona erebilir. turnComplete true olduktan sonra istemci, realtimeInput üzerinden anlık sohbeti başlatabilir.

InteractionStatus

Canlı oturumun farklı etkinlik durumları. Bu alan, sunucunun tüm işlemleri tamamlayıp tamamlamadığını belirtmek için her zaman turnComplete ile birlikte gönderilir.

Sıralamalar
INTERACTION_STATUS_UNSPECIFIED Belirtilmemiş etkileşim durumu.
IN_PROGRESS Sunucu, kullanıcı girişini işlemeye veya arka planda akıl yürütme yapmaya devam ediyor. Daha fazla model çıktısı gelebilir.
REQUIRES_ACTION

Desteği sonlandırıldı: Bunun yerine IDLE'ı kullanın.

IDLE Sunucu, tüm işleme ve arka plan muhakeme işlemlerini tamamlamıştır.

ProactivityConfig

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

Alanlar
proactiveAudio

bool

İsteğe bağlıdır. 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 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ıdır. Ayarlanmazsa 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ıdır. Etkinliğin etkisini tanımlar.

turnCoverage

TurnCoverage

İsteğe bağlıdır. Kullanıcının sırasına hangi girişin dahil edileceğini tanımlar.

interimTranscriptTimestampEnabled

bool

İsteğe bağlıdır. Geçici transkript zaman damgalarını yapılandırır.

SessionResumptionConfig

Oturuma devam etme yapılandırması.

Bu mesaj, oturum yapılandırmasına BidiGenerateContentSetup.sessionResumption olarak dahil edilir. Yapılandırılmışsa sunucu SessionResumptionUpdate iletileri 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

Oturuma devam etme 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şlemlerinden kaçınmak 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 Belirtilmezse modele göre varsayılan bir davranış seçilir. Örneğin, Gemini 2.5 için varsayılan değer TURN_INCLUDES_ONLY_ACTIVITY iken Gemini 3.1 ve sonraki sürümler için TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO'dir.
TURN_INCLUDES_ONLY_ACTIVITY Etkinlik dışı durumlar (ör. ses akışında sessizlik) hariç olmak üzere, son dönüşten bu yana yapılan etkinlikleri içerir.
TURN_INCLUDES_ALL_INPUT Etkin olmama durumu (ör. ses akışında sessizlik) dahil olmak üzere, son dönüşten bu yana girilen tüm anlık verileri içerir.
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO Ses etkinliğini ve son dönüşten bu yana tüm videoları içerir. Otomatik etkinlik algılama özelliği etkin olduğunda ses etkinliği, konuşma anlamına gelir ve sessizliği kapsamaz.

TranslationConfig

Çeviri özelliklerinin yapılandırılması.

Alanlar
targetLanguageCode

string

Zorunlu. Çevirinin hedef dili. Desteklenen değerler BCP-47 dil kodlarıdır (ör. "en", "es", "fr").

echoTargetLanguage

bool

İsteğe bağlıdır. Doğruysa model, hedef dil konuşulduğunda ses üretir. Yani girişi tekrarlar. Yanlış ise hedef dil için ses üretmeyiz.

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 etkili 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ç kullanımı istemlerinde bulunan jeton sayısı.

thoughtsTokenCount

int32

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

totalTokenCount

int32

Yalnızca çıkış. Oluşturma isteği için toplam birim 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ç kullanma isteği girişleri için işlenen yöntemlerin listesi.

VoiceActivity

Ses akışında ses etkinliği algılandı.

Alanlar
type

Type

Yalnızca çıkış. VAD(ses etkinliği algılama) sinyalinin türü.

audioOffset

Duration

Yalnızca çıkış. Ses etkinliğinin ses akışının başlangıcına göre ses zamanında algılandığı zaman.

Tür

VAD sinyalinin türü.

Sıralamalar
TYPE_UNSPECIFIED Varsayılan değer UNSPECIFIED'dır.
ACTIVITY_START Cümlenin başlangıcı sinyali.
ACTIVITY_END Cümle sonu sinyali.

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 "Token" önekiyle birlikte iletilir.

CreateAuthTokenRequest

Geçici bir kimlik doğrulama jetonu oluşturun.

Alanlar
authToken

AuthToken

Zorunlu. Oluşturulacak jeton.

AuthToken

Geçici 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ıdır. Yalnızca giriş. Değiştirilemez. İ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 sonunda oturumu önceden kapatabilir.)

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

newSessionExpireTime

Timestamp

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

Ayarlanmazsa gelecekte varsayılan olarak 60 saniye kullanılır. Ayarlanırsa bu değer, 20 saatten daha kısa bir süre sonra olmalıdır.

fieldMask

FieldMask

İsteğe bağlıdır. Yalnızca giriş. Değiştirilemez. 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ı. Sonuç jetonunun yönteme özel yapılandırması. config aşağıdakilerden yalnızca biri olabilir:
bidiGenerateContentSetup

BidiGenerateContentSetup

İsteğe bağlıdır. Yalnızca giriş. Değiştirilemez. BidiGenerateContent'ya özgü yapılandırma.

uses

int32

İsteğe bağlıdır. Yalnızca giriş. Değiştirilemez. Jetonun kullanılabileceği sayı. Bu değer sıfırsa sınır uygulanmaz. Bir Live API oturumunu devam ettirmek kullanım olarak sayılmaz. Belirtilmezse 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.