Live API memungkinkan interaksi suara dan video dua arah dengan latensi rendah bersama Gemini. Dengan Live API, Anda dapat memberikan pengalaman percakapan suara yang alami dan mirip manusia kepada pengguna akhir, serta kemampuan untuk menyela respons model menggunakan perintah suara. Live API dapat memproses input teks, audio, dan video, serta memberikan output teks dan audio.
Untuk mengetahui informasi selengkapnya tentang Live API, lihat Live API.
Kemampuan
Live API mencakup kemampuan utama berikut:
- Multimodalitas: Model dapat melihat, mendengar, dan berbicara.
- Interaksi real-time latensi rendah: Model dapat memberikan respons yang cepat.
- Memori sesi: Model mempertahankan memori semua interaksi dalam satu sesi, mengingat kembali informasi yang sebelumnya didengar atau dilihat.
- Dukungan untuk panggilan fungsi, eksekusi kode, dan Penelusuran sebagai Alat: Anda dapat mengintegrasikan model dengan layanan dan sumber data eksternal.
Live API dirancang untuk komunikasi server ke server.
Untuk aplikasi web dan seluler, sebaiknya gunakan integrasi dari partner kami di Daily.
Model yang didukung
- Gemini 2.5 Flash dengan audio native Live API
Pratinjau - Gemini 2.0 Flash dengan Live API
Pratinjau - Gemini 2.5 Flash
Mulai
Untuk mencoba Live API, buka Vertex AI Studio, lalu klik Start Session.
Live API adalah API stateful yang menggunakan WebSockets.
Bagian ini menunjukkan contoh cara menggunakan Live API untuk pembuatan teks ke teks, menggunakan Python 3.9+.
Python
Instal
pip install --upgrade google-genai
Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.
Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Panduan integrasi
Bagian ini menjelaskan cara kerja integrasi dengan Live API.
Sesi
Koneksi WebSocket membuat sesi antara klien dan server Gemini.
Setelah klien memulai koneksi baru, sesi dapat bertukar pesan dengan server untuk:
- Mengirim teks, audio, atau video ke server Gemini.
- Menerima permintaan audio, teks, atau panggilan fungsi dari server Gemini.
Konfigurasi sesi dikirim dalam pesan pertama setelah koneksi. Konfigurasi sesi mencakup model, parameter pembuatan, petunjuk sistem, dan alat.
Lihat contoh konfigurasi berikut:
{
"model": string,
"generationConfig": {
"candidateCount": integer,
"maxOutputTokens": integer,
"temperature": number,
"topP": number,
"topK": integer,
"presencePenalty": number,
"frequencyPenalty": number,
"responseModalities": [string],
"speechConfig": object
},
"systemInstruction": string,
"tools": [object]
}
Untuk mengetahui informasi selengkapnya, lihat BidiGenerateContentSetup.
Mengirim pesan
Pesan adalah objek berformat JSON yang dipertukarkan melalui koneksi WebSocket.
Untuk mengirim pesan, klien harus mengirim objek JSON melalui koneksi WebSocket yang terbuka. Objek JSON harus memiliki tepat satu kolom dari kumpulan objek berikut:
{
"setup": BidiGenerateContentSetup,
"clientContent": BidiGenerateContentClientContent,
"realtimeInput": BidiGenerateContentRealtimeInput,
"toolResponse": BidiGenerateContentToolResponse
}
Pesan klien yang didukung
Lihat pesan klien yang didukung dalam tabel berikut:
Pesan | Deskripsi |
---|---|
BidiGenerateContentSetup |
Konfigurasi sesi yang akan dikirim dalam pesan pertama |
BidiGenerateContentClientContent |
Pembaruan konten inkremental percakapan saat ini yang dikirim dari klien |
BidiGenerateContentRealtimeInput |
Input audio atau video real-time |
BidiGenerateContentToolResponse |
Respons terhadap ToolCallMessage yang diterima dari server |
Menerima pesan
Untuk menerima pesan dari Gemini, dengarkan peristiwa 'message' WebSocket, lalu parsing hasilnya sesuai dengan definisi pesan server yang didukung.
Lihat referensi berikut:
ws.addEventListener("message", async (evt) => { if (evt.data instanceof Blob) { // Process the received data (audio, video, etc.) } else { // Process JSON response } });
Pesan server akan memiliki tepat satu kolom dari set objek berikut:
{
"setupComplete": BidiGenerateContentSetupComplete,
"serverContent": BidiGenerateContentServerContent,
"toolCall": BidiGenerateContentToolCall,
"toolCallCancellation": BidiGenerateContentToolCallCancellation
"usageMetadata": UsageMetadata
"goAway": GoAway
"sessionResumptionUpdate": SessionResumptionUpdate
"inputTranscription": BidiGenerateContentTranscription
"outputTranscription": BidiGenerateContentTranscription
}
Pesan server yang didukung
Lihat pesan server yang didukung dalam tabel berikut:
Pesan | Deskripsi |
---|---|
BidiGenerateContentSetupComplete |
Pesan BidiGenerateContentSetup dari klien, dikirim saat penyiapan selesai |
BidiGenerateContentServerContent |
Konten yang dihasilkan oleh model sebagai respons terhadap pesan klien |
BidiGenerateContentToolCall |
Permintaan agar klien menjalankan panggilan fungsi dan menampilkan respons dengan ID yang cocok |
BidiGenerateContentToolCallCancellation |
Dikirim saat panggilan fungsi dibatalkan karena pengguna menginterupsi output model |
UsageMetadata |
Laporan jumlah token yang digunakan oleh sesi sejauh ini |
GoAway |
Sinyal bahwa koneksi saat ini akan segera dihentikan |
SessionResumptionUpdate |
Checkpoint sesi, yang dapat dilanjutkan |
BidiGenerateContentTranscription |
Transkripsi ucapan pengguna atau model |
Update konten inkremental
Gunakan update inkremental untuk mengirim input teks, membuat konteks sesi, atau memulihkan konteks sesi. Untuk konteks singkat, Anda dapat mengirimkan interaksi belokan demi belokan untuk merepresentasikan urutan peristiwa yang tepat. Untuk konteks yang lebih panjang, sebaiknya berikan ringkasan satu pesan untuk mengosongkan jendela konteks bagi interaksi lanjutan.
Lihat contoh pesan konteks berikut:
{ "clientContent": { "turns": [ { "parts":[ { "text": "" } ], "role":"user" }, { "parts":[ { "text": "" } ], "role":"model" } ], "turnComplete": true } }
Perhatikan bahwa meskipun bagian konten dapat berupa jenis functionResponse
, BidiGenerateContentClientContent
tidak boleh digunakan untuk memberikan respons terhadap panggilan fungsi yang dikeluarkan oleh model. BidiGenerateContentToolResponse
harus digunakan sebagai gantinya. BidiGenerateContentClientContent
hanya boleh
digunakan untuk membuat konteks sebelumnya atau memberikan input teks ke percakapan.
Streaming audio dan video
Eksekusi kode
Untuk mempelajari lebih lanjut eksekusi kode, lihat Eksekusi kode.
Panggilan fungsi
Semua fungsi harus dideklarasikan di awal sesi dengan mengirimkan definisi alat sebagai bagian dari pesan BidiGenerateContentSetup
.
Anda menentukan fungsi menggunakan JSON, khususnya dengan subset pilihan dari format skema OpenAPI. Deklarasi fungsi tunggal dapat mencakup parameter berikut:
name (string): ID unik untuk fungsi dalam panggilan API.
description (string): Penjelasan lengkap tentang tujuan dan kemampuan fungsi.
parameters (objek): Menentukan data input yang diperlukan oleh fungsi.
type (string): Menentukan jenis data keseluruhan, seperti objek.
properties (objek): Mencantumkan setiap parameter, masing-masing dengan:
- type (string): Jenis data parameter, seperti string, bilangan bulat, boolean.
- description (string): Penjelasan yang jelas tentang tujuan dan format yang diharapkan dari parameter.
required (array): Array string yang mencantumkan nama parameter yang wajib ada agar fungsi dapat beroperasi.
Untuk contoh kode deklarasi fungsi menggunakan perintah curl, lihat Pemanggilan fungsi dengan Gemini API. Untuk contoh cara membuat deklarasi fungsi menggunakan SDK Gemini API, lihat tutorial Panggilan fungsi.
Dari satu perintah, model dapat menghasilkan beberapa panggilan fungsi dan kode yang diperlukan untuk menggabungkan outputnya. Kode ini dijalankan di lingkungan sandbox, yang menghasilkan pesan BidiGenerateContentToolCall
berikutnya. Eksekusi akan dijeda hingga hasil setiap panggilan fungsi
tersedia, yang memastikan pemrosesan berurutan.
Klien harus merespons dengan BidiGenerateContentToolResponse
.
Untuk mempelajari lebih lanjut, lihat Pengantar panggilan fungsi.
Format audio
Lihat daftar format audio yang didukung.
Petunjuk sistem
Anda dapat memberikan petunjuk sistem untuk mengontrol output model dengan lebih baik dan menentukan nada serta sentimen respons audio.
Petunjuk sistem ditambahkan ke perintah sebelum interaksi dimulai dan tetap berlaku selama seluruh sesi.
Petunjuk sistem hanya dapat ditetapkan di awal sesi, segera setelah koneksi awal. Untuk memberikan input lebih lanjut ke model selama sesi, gunakan update konten inkremental.
Gangguan
Pengguna dapat menghentikan output model kapan saja. Saat
Deteksi aktivitas suara (VAD) mendeteksi gangguan, pembuatan yang sedang berlangsung
dibatalkan dan dibuang. Hanya informasi yang sudah dikirim
ke klien yang dipertahankan dalam histori sesi. Server kemudian
mengirim pesan BidiGenerateContentServerContent
untuk melaporkan gangguan.
Selain itu, server Gemini akan membatalkan semua panggilan fungsi yang tertunda dan mengirim pesan BidiGenerateContentServerContent
dengan ID panggilan yang dibatalkan.
Suara
Untuk menentukan suara, tetapkan voiceName
dalam objek speechConfig
,
sebagai bagian dari konfigurasi sesi.
Lihat representasi JSON objek speechConfig
berikut:
{ "voiceConfig": { "prebuiltVoiceConfig": { "voiceName": "VOICE_NAME" } } }
Untuk melihat daftar suara yang didukung, lihat Mengubah setelan suara dan bahasa.
Batasan
Pertimbangkan batasan Live API dan Gemini 2.0 berikut saat Anda merencanakan project.
Autentikasi klien
Live API hanya menyediakan autentikasi server ke server dan tidak direkomendasikan untuk penggunaan klien langsung. Input klien harus dirutekan melalui server aplikasi perantara untuk autentikasi yang aman dengan Live API.
Durasi sesi maksimum
Durasi maksimum default sesi percakapan adalah 10 menit. Untuk mengetahui informasi selengkapnya, lihat Durasi sesi.
Deteksi aktivitas suara (VAD)
Secara default, model akan otomatis melakukan deteksi aktivitas suara (VAD) pada
aliran input audio berkelanjutan. VAD dapat dikonfigurasi dengan kolom
RealtimeInputConfig.AutomaticActivityDetection
dari pesan penyiapan.
Saat aliran audio dijeda selama lebih dari satu detik (misalnya,
saat pengguna menonaktifkan mikrofon), peristiwa AudioStreamEnd
dikirim untuk menghapus semua audio yang di-cache. Klien dapat melanjutkan pengiriman data audio kapan saja.
Atau, VAD otomatis dapat dinonaktifkan dengan menyetel
RealtimeInputConfig.AutomaticActivityDetection.disabled
ke true
dalam pesan
penyiapan. Dalam konfigurasi ini, klien bertanggung jawab untuk mendeteksi ucapan pengguna dan mengirim pesan
ActivityStart
dan ActivityEnd
pada waktu yang tepat. AudioStreamEnd
tidak dikirim dalam konfigurasi ini. Sebagai gantinya, gangguan pada streaming ditandai dengan pesan ActivityEnd
.
Batasan tambahan
Pengakhiran titik akhir manual tidak didukung.
Input audio dan output audio berdampak negatif pada kemampuan model untuk menggunakan panggilan fungsi.
Jumlah token
Jumlah token tidak didukung.
Batas kapasitas
Batas frekuensi berikut berlaku:
- 5.000 sesi serentak per kunci API
- 4 juta token per menit
Pesan dan acara
BidiGenerateContentClientContent
Pembaruan inkremental percakapan saat ini yang dikirim dari klien. Semua konten di sini ditambahkan tanpa syarat ke histori percakapan dan digunakan sebagai bagian dari perintah ke model untuk membuat konten.
Pesan di sini akan mengganggu pembuatan model saat ini.
Kolom | |
---|---|
turns[] |
Opsional. Konten yang ditambahkan ke percakapan saat ini dengan model. Untuk kueri sekali putaran, ini adalah satu instance. Untuk kueri bolak-balik, ini adalah kolom berulang yang berisi histori percakapan dan permintaan terbaru. |
turn_complete |
Opsional. Jika benar, menunjukkan bahwa pembuatan konten server harus dimulai dengan perintah yang saat ini terakumulasi. Jika tidak, server akan menunggu pesan tambahan sebelum memulai pembuatan. |
BidiGenerateContentRealtimeInput
Input pengguna yang dikirim secara real time.
Hal ini berbeda dengan ClientContentUpdate
dalam beberapa hal:
- Dapat dikirim secara terus-menerus tanpa gangguan ke pembuatan model.
- Jika ada kebutuhan untuk menggabungkan data yang disisipkan di seluruh
ClientContentUpdate
danRealtimeUpdate
, server akan mencoba mengoptimalkan respons terbaik, tetapi tidak ada jaminan. - Akhir giliran tidak ditentukan secara eksplisit, tetapi berasal dari aktivitas pengguna (misalnya, akhir ucapan).
- Bahkan sebelum akhir giliran, data diproses secara inkremental untuk mengoptimalkan permulaan respons yang cepat dari model.
- Selalu diasumsikan sebagai input pengguna (tidak dapat digunakan untuk mengisi histori percakapan).
Kolom | |
---|---|
media_chunks[] |
Opsional. Data byte inline untuk input media. |
activity_start |
Opsional. Menandai awal aktivitas pengguna. Ini hanya dapat dikirim jika deteksi aktivitas otomatis (yaitu sisi server) dinonaktifkan. |
activity_end |
Opsional. Menandai akhir aktivitas pengguna. Ini hanya dapat dikirim jika deteksi aktivitas otomatis (yaitu sisi server) dinonaktifkan. |
ActivityEnd
Jenis ini tidak memiliki kolom.
Menandai akhir aktivitas pengguna.
ActivityStart
Jenis ini tidak memiliki kolom.
Hanya satu kolom dalam pesan ini yang harus disetel dalam satu waktu. Menandai awal aktivitas pengguna.
BidiGenerateContentServerContent
Update server inkremental yang dihasilkan oleh model sebagai respons terhadap pesan klien.
Konten dibuat secepat mungkin, dan tidak secara real time. Klien dapat memilih untuk melakukan buffering dan memutarnya secara real time.
Kolom | |
---|---|
turn_complete |
Hanya output. Jika benar (true), menunjukkan bahwa model telah selesai membuat. Pembuatan hanya akan dimulai sebagai respons terhadap pesan klien tambahan. Dapat ditetapkan bersama |
interrupted |
Hanya output. Jika benar, menunjukkan bahwa pesan klien telah mengganggu pembuatan model saat ini. Jika klien memutar konten secara real-time, ini adalah sinyal yang baik untuk menghentikan dan mengosongkan antrean saat ini. Jika klien memutar konten secara real-time, ini adalah sinyal yang baik untuk menghentikan dan mengosongkan antrean pemutaran saat ini. |
generation_complete |
Hanya output. Jika benar (true), menunjukkan bahwa model telah selesai membuat. Jika model terganggu saat membuat, tidak akan ada pesan 'generation_complete' dalam giliran yang terganggu, dan akan melalui 'interrupted > turn_complete'. Saat model mengasumsikan pemutaran real-time, akan ada jeda antara generation_complete dan turn_complete yang disebabkan oleh model yang menunggu pemutaran selesai. |
grounding_metadata |
Hanya output. Metadata menentukan sumber yang digunakan untuk mendasari konten yang dihasilkan. |
input_transcription |
Opsional. Input transkripsi. Transkripsi tidak bergantung pada giliran model, yang berarti tidak menyiratkan pengurutan antara transkripsi dan giliran model. |
output_transcription |
Opsional. Transkripsi output. Transkripsi tidak bergantung pada giliran model, yang berarti tidak menyiratkan pengurutan antara transkripsi dan giliran model. |
model_turn |
Hanya output. Konten yang dihasilkan model sebagai bagian dari percakapan saat ini dengan pengguna. |
Transkripsi
Pesan transkripsi audio.
Kolom | |
---|---|
text |
Opsional. Teks transkripsi. |
finished |
Opsional. Bool menunjukkan akhir transkripsi. |
BidiGenerateContentSetup
Pesan yang akan dikirim dalam pesan klien pertama dan satu-satunya. Berisi konfigurasi yang akan diterapkan selama durasi sesi streaming.
Klien harus menunggu pesan BidiGenerateContentSetupComplete
sebelum mengirim pesan tambahan.
Kolom | |
---|---|
model |
Wajib. Nama yang sepenuhnya memenuhi syarat dari model penayang. Format model penayang: |
generation_config |
Opsional. Konfigurasi pembuatan. Kolom berikut tidak didukung:
|
system_instruction |
Opsional. Pengguna memberikan petunjuk sistem untuk model. Catatan: hanya teks yang boleh digunakan di bagian dan konten di setiap bagian akan berada dalam paragraf terpisah. |
tools[] |
Opsional. Daftar
|
session_resumption |
Opsional. Mengonfigurasi mekanisme kelanjutan sesi. Jika disertakan, server akan mengirim pesan |
context_window_compression |
Opsional. Mengonfigurasi mekanisme kompresi jendela konteks. Jika disertakan, server akan memadatkan jendela konteks agar sesuai dengan panjang yang diberikan. |
realtime_input_config |
Opsional. Mengonfigurasi penanganan input real-time. |
input_audio_transcription |
Opsional. Transkripsi input sesuai dengan bahasa audio input. |
output_audio_transcription |
Opsional. Transkripsi output selaras dengan kode bahasa yang ditentukan untuk audio output. |
AudioTranscriptionConfig
Jenis ini tidak memiliki kolom.
Konfigurasi transkripsi audio.
BidiGenerateContentSetupComplete
Jenis ini tidak memiliki kolom.
Dikirim sebagai respons terhadap pesan BidiGenerateContentSetup
dari klien.
BidiGenerateContentToolCall
Meminta klien untuk menjalankan function_calls
dan menampilkan respons dengan id
yang cocok.
Kolom | |
---|---|
function_calls[] |
Hanya output. Panggilan fungsi yang akan dieksekusi. |
BidiGenerateContentToolCallCancellation
Notifikasi untuk klien bahwa ToolCallMessage
yang dikeluarkan sebelumnya dengan id
yang ditentukan seharusnya tidak dieksekusi dan harus dibatalkan. Jika ada efek samping pada panggilan alat tersebut, klien dapat mencoba mengurungkan panggilan alat. Pesan ini hanya muncul jika klien mengganggu giliran server.
Kolom | |
---|---|
ids[] |
Hanya output. ID panggilan alat yang akan dibatalkan. |
BidiGenerateContentToolResponse
Respons yang dihasilkan klien terhadap ToolCall
yang diterima dari server. Setiap objek FunctionResponse
dicocokkan dengan objek FunctionCall
masing-masing berdasarkan kolom id
.
Perhatikan bahwa pada panggilan fungsi GenerateContent API unary dan server-streaming terjadi dengan menukar bagian Content
, sedangkan pada panggilan fungsi GenerateContent API bidi terjadi melalui serangkaian pesan khusus ini.
Kolom | |
---|---|
function_responses[] |
Opsional. Respons terhadap panggilan fungsi. |
RealtimeInputConfig
Mengonfigurasi perilaku input real-time di BidiGenerateContent
.
Kolom | |
---|---|
automatic_activity_detection |
Opsional. Jika tidak disetel, deteksi aktivitas otomatis diaktifkan secara default. Jika deteksi suara otomatis dinonaktifkan, klien harus mengirim sinyal aktivitas. |
activity_handling |
Opsional. Mendefinisikan efek aktivitas. |
turn_coverage |
Opsional. Menentukan input mana yang disertakan dalam giliran pengguna. |
ActivityHandling
Berbagai cara menangani aktivitas pengguna.
Enum | |
---|---|
ACTIVITY_HANDLING_UNSPECIFIED |
Jika tidak ditentukan, perilaku defaultnya adalah START_OF_ACTIVITY_INTERRUPTS . |
START_OF_ACTIVITY_INTERRUPTS |
Jika benar, dimulainya aktivitas akan mengganggu respons model (juga disebut "interupsi"). Respons model saat ini akan terpotong saat terjadi gangguan. Ini adalah perilaku default. |
NO_INTERRUPTION |
Respons model tidak akan terganggu. |
AutomaticActivityDetection
Mengonfigurasi deteksi aktivitas otomatis.
Kolom | |
---|---|
start_of_speech_sensitivity |
Opsional. Menentukan kemungkinan ucapan terdeteksi. |
end_of_speech_sensitivity |
Opsional. Menentukan kemungkinan ucapan yang terdeteksi telah berakhir. |
prefix_padding_ms |
Opsional. Durasi ucapan yang terdeteksi yang diperlukan sebelum awal ucapan dilakukan. Makin rendah nilai ini, makin sensitif deteksi awal ucapan dan makin pendek ucapan yang dapat dikenali. Namun, hal ini juga meningkatkan probabilitas positif palsu. |
silence_duration_ms |
Opsional. Durasi yang diperlukan untuk mendeteksi keheningan (atau non-ucapan) sebelum akhir ucapan dilakukan. Makin besar nilai ini, makin lama jeda ucapan tanpa mengganggu aktivitas pengguna, tetapi hal ini akan meningkatkan latensi model. |
disabled |
Opsional. Jika diaktifkan, input suara dan teks yang terdeteksi akan dihitung sebagai aktivitas. Jika dinonaktifkan, klien harus mengirim sinyal aktivitas. |
EndSensitivity
Sensitivitas akhir ucapan.
Enum | |
---|---|
END_SENSITIVITY_UNSPECIFIED |
Defaultnya adalah END_SENSITIVITY_LOW. |
END_SENSITIVITY_HIGH |
Deteksi otomatis lebih sering mengakhiri ucapan. |
END_SENSITIVITY_LOW |
Deteksi otomatis mengakhiri ucapan lebih jarang. |
StartSensitivity
Sensitivitas awal ucapan.
Enum | |
---|---|
START_SENSITIVITY_UNSPECIFIED |
Defaultnya adalah START_SENSITIVITY_LOW. |
START_SENSITIVITY_HIGH |
Deteksi otomatis akan mendeteksi awal ucapan lebih sering. |
START_SENSITIVITY_LOW |
Deteksi otomatis akan mendeteksi awal ucapan lebih jarang. |
TurnCoverage
Opsi tentang input mana yang disertakan dalam giliran pengguna.
Enum | |
---|---|
TURN_COVERAGE_UNSPECIFIED |
Jika tidak ditentukan, perilaku defaultnya adalah TURN_INCLUDES_ALL_INPUT . |
TURN_INCLUDES_ONLY_ACTIVITY |
Giliran pengguna hanya mencakup aktivitas sejak giliran terakhir, tidak termasuk tidak aktif (misalnya, tidak ada suara di aliran audio). |
TURN_INCLUDES_ALL_INPUT |
Giliran pengguna mencakup semua input real-time sejak giliran terakhir, termasuk tidak aktif (misalnya, tidak ada suara di aliran audio). Ini adalah perilaku default. |
UsageMetadata
Metadata tentang penggunaan konten yang di-cache.
Kolom | |
---|---|
total_token_count |
Jumlah total token yang digunakan oleh konten yang di-cache. |
text_count |
Jumlah karakter teks. |
image_count |
Jumlah gambar. |
video_duration_seconds |
Durasi video dalam detik. |
audio_duration_seconds |
Durasi audio dalam detik. |
GoAway
Server tidak akan dapat melayani klien dalam waktu dekat.
Kolom | |
---|---|
time_left |
Waktu yang tersisa sebelum koneksi akan dihentikan sebagai DIBATALKAN. Waktu minimum yang ditampilkan di sini ditentukan secara berbeda bersama dengan batas kecepatan untuk model tertentu. |
SessionResumptionUpdate
Pembaruan status kelanjutan sesi.
Hanya dikirim jika BidiGenerateContentSetup.session_resumption
disetel.
Kolom | |
---|---|
new_handle |
Handle baru yang merepresentasikan status yang dapat dilanjutkan. Kosong jika |
resumable |
Benar (true) jika sesi dapat dilanjutkan pada saat ini. Mungkin tidak dapat melanjutkan sesi pada beberapa titik. Dalam hal ini, kami mengirim update new_handle kosong dan resumable=false. Contoh kasus tersebut dapat berupa model yang menjalankan panggilan fungsi atau hanya membuat. Melanjutkan sesi (menggunakan token sesi sebelumnya) dalam status tersebut akan menyebabkan hilangnya beberapa data. |
last_consumed_client_message_index |
Indeks pesan terakhir yang dikirim oleh klien yang disertakan dalam status yang diwakili oleh SessionResumptionToken ini. Hanya dikirim jika Kehadiran indeks ini memungkinkan pengguna untuk terhubung kembali secara transparan dan menghindari masalah kehilangan sebagian input/video audio real-time. Jika klien ingin memutuskan koneksi untuk sementara (misalnya, sebagai akibat dari menerima GoAway), klien dapat melakukannya tanpa kehilangan status dengan mem-buffer pesan yang dikirim sejak Hal ini tidak akan digunakan untuk 'melanjutkan pemulihan status' beberapa waktu kemudian -- dalam kasus tersebut, kemungkinan tidak diperlukan frame audio dan video parsial. |
Langkah berikutnya
- Pelajari lebih lanjut pemanggilan fungsi.
- Lihat Referensi pemanggilan fungsi untuk melihat contohnya.