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[] |
İ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[] |
İ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 |
İsteğe bağlıdır. Kelime düzeyinde zaman damgası oluşturmayı yapılandırır. |
diarization |
İsteğe bağlıdır. Konuşmacı ayırmayı yapılandırır. |
mode |
İsteğe bağlıdır. Metne dönüştürme modunu yapılandırır. Desteklenen değerler: |
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 |
İ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 |
İsteğe bağlıdır. Konuşmanın algılanma olasılığını belirler. |
prefixPaddingMs |
İ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 |
İsteğe bağlıdır. Algılanan konuşmanın ne kadar olasılıkla sona erdiğini belirler. |
silenceDurationMs |
İ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[] |
İ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 |
İ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.
BidiGenerateContentClientContentveBidiGenerateContentRealtimeInputarası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[] |
İsteğe bağlıdır. Medya girişi için satır içi bayt verileri. Birden fazla KULLANIM DIŞI: Bunun yerine |
audio |
İsteğe bağlıdır. Bunlar, anlık ses giriş akışını oluşturur. |
video |
İsteğe bağlıdır. Bunlar, gerçek zamanlı video giriş akışını oluşturur. |
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 |
İ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 |
İsteğe bağlıdır. Kullanılacak medya çözünürlüğü. Belirtilmezse |
audioStreamEnd |
İ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 |
İ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 |
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 |
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 |
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 |
Yalnızca çıkış. Oluşturulan içerik için temellendirme meta verileri. |
inputTranscription |
Yalnızca çıkış. Ses transkripti girin. Transkript, diğer sunucu mesajlarından bağımsız olarak gönderilir ve sıralama garanti edilmez. |
interimInputTranscription |
Yalnızca çıkış. Düşük gecikmeli transkripsiyon, kullanıcı konuşurken güncellenir. Bu alan sık sık güncellenir. |
outputTranscription |
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, |
urlContextMetadata |
|
waitingForInput |
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 |
Yalnızca çıkış. Canlı oturumun mevcut etkinlik durumu. Her zaman |
modelTurn |
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 |
Yalnızca çıkış. Yanıtlarla ilgili kullanım meta verileri. |
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 |
Yalnızca çıkış. Kurulum tamamlandığında müşteriden gelen |
serverContent |
Yalnızca çıkış. Model tarafından, istemci mesajlarına yanıt olarak oluşturulan içerik. |
toolCall |
Yalnızca çıkış. İstemcinin |
toolCallCancellation |
Yalnızca çıkış. Müşteriye, belirtilen |
goAway |
Yalnızca çıkış. Sunucunun yakında bağlantısının kesileceğine dair bir bildirim. |
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 |
Zorunlu. Modelin kaynak adı. Bu, Model'in kullanacağı bir kimlik görevi görür. Biçim: |
generationConfig |
İsteğe bağlıdır. Oluşturma yapılandırması. Aşağıdaki alanlar desteklenmez:
|
systemInstruction |
İ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[] |
İsteğe bağlıdır. Modelin bir sonraki yanıtı oluşturmak için kullanabileceği
|
realtimeInputConfig |
İsteğe bağlıdır. Gerçek zamanlı girişin işlenmesini yapılandırır. |
sessionResumption |
İsteğe bağlıdır. Oturuma devam etme mekanizmasını yapılandırır. Dahil edilirse sunucu |
contextWindowCompression |
İ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 |
İ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 |
İ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 |
İ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 |
İsteğe bağlıdır. İstemci ile sunucu arasındaki geçmiş alışverişini yapılandırır. |
labels |
İ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ı: |
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[] |
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[] |
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[] |
İsteğe bağlıdır. İşlev çağrılarına verilen yanıt. |
BidiGenerateContentTranscription
Sesin (giriş veya çıkış) transkripsiyonu.
| Alanlar | |
|---|---|
text |
Metne dönüştürme metni. |
languageCode |
Transkriptin BCP-47 dil kodu. |
startOffset |
İsteğe bağlıdır. Sesin başlangıcına göre transkriptin başlangıç zamanı. |
endOffset |
İ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 |
Kayar pencere mekanizması. |
triggerTokens |
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 |
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 |
İsteğe bağlıdır. Doğruysa sunucu, |
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 |
İ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 |
İ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 |
İsteğe bağlıdır. Etkinliğin etkisini tanımlar. |
turnCoverage |
İsteğe bağlıdır. Kullanıcının sırasına hangi girişin dahil edileceğini tanımlar. |
interimTranscriptTimestampEnabled |
İ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 |
Önceki bir oturumun işleyeni. Mevcut değilse yeni bir oturum oluşturulur. Oturum işleyicileri, önceki bağlantılardaki |
SessionResumptionUpdate
Oturuma devam etme durumunun güncellenmesi.
Yalnızca BidiGenerateContentSetup.sessionResumption ayarlandıysa gönderilir.
| Alanlar | |
|---|---|
newHandle |
Devam ettirilebilecek bir durumu temsil eden yeni herkese açık kullanıcı adı. |
resumable |
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 |
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 |
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 |
Zorunlu. Çevirinin hedef dili. Desteklenen değerler BCP-47 dil kodlarıdır (ör. "en", "es", "fr"). |
echoTargetLanguage |
İ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[] |
URL bağlamı listesi. |
UsageMetadata
Yanıtlarla ilgili kullanım meta verileri.
| Alanlar | |
|---|---|
promptTokenCount |
Yalnızca çıkış. İstemdeki jeton sayısı. |
cachedContentTokenCount |
İstemin önbelleğe alınan bölümündeki (önbelleğe alınan içerik) jeton sayısı |
responseTokenCount |
Yalnızca çıkış. Oluşturulan tüm yanıt adaylarındaki toplam jeton sayısı. |
toolUsePromptTokenCount |
Yalnızca çıkış. Araç kullanımı istemlerinde bulunan jeton sayısı. |
thoughtsTokenCount |
Yalnızca çıkış. Düşünen modeller için düşünce jetonlarının sayısı. |
totalTokenCount |
Yalnızca çıkış. Oluşturma isteği için toplam birim sayısı (istem + yanıt adayları). |
promptTokensDetails[] |
Yalnızca çıkış. İstek girişinde işlenen yöntemlerin listesi. |
cacheTokensDetails[] |
Yalnızca çıkış. İstek girişindeki önbelleğe alınmış içeriğin biçimlerinin listesi. |
responseTokensDetails[] |
Yalnızca çıkış. Yanıtta döndürülen yöntemlerin listesi. |
toolUsePromptTokensDetails[] |
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 |
Yalnızca çıkış. VAD(ses etkinliği algılama) sinyalinin türü. |
audioOffset |
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 |
Zorunlu. Oluşturulacak jeton. |
AuthToken
Geçici kimlik doğrulama jetonu oluşturma isteği.
| Alanlar | |
|---|---|
name |
Yalnızca çıkış. Tanımlayıcı. Jetonun kendisi. |
expireTime |
İ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 |
İ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 |
İsteğe bağlıdır. Yalnızca giriş. Değiştirilemez. field_mask boşsa ve field_mask boşsa ve field_mask boş değilse |
config birleşik alanı. Sonuç jetonunun yönteme özel yapılandırması. config aşağıdakilerden yalnızca biri olabilir: |
|
bidiGenerateContentSetup |
İsteğe bağlıdır. Yalnızca giriş. Değiştirilemez. |
uses |
İ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.