Bagikan melalui


Referensi API Realtime (Pratinjau)

Catatan

Fitur ini masih dalam pratinjau umum. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan kami tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Realtime API adalah API berbasis WebSocket yang memungkinkan Anda berinteraksi dengan layanan Azure OpenAI secara real time.

API Realtime (melalui /realtime) dibangun di WEBSockets API untuk memfasilitasi komunikasi streaming yang sepenuhnya asinkron antara pengguna akhir dan model. Detail perangkat seperti menangkap dan merender data audio berada di luar cakupan API Realtime. Ini harus digunakan dalam konteks layanan tepercaya dan menengah yang mengelola koneksi ke pengguna akhir dan koneksi titik akhir model. Jangan gunakan langsung dari perangkat pengguna akhir yang tidak tepercaya.

Tip

Untuk mulai menggunakan Api Realtime, lihat panduan mulai cepat dan cara penggunaan.

Connection

API Realtime memerlukan titik akhir sumber daya Azure OpenAI yang ada di wilayah yang didukung. API diakses melalui koneksi WebSocket yang aman ke /realtime titik akhir sumber daya Azure OpenAI Anda.

Anda dapat membuat URI permintaan penuh dengan menggabungkan:

  • Protokol WebSocket aman (wss://).
  • Nama host titik akhir sumber daya Azure OpenAI Anda, misalnya, my-aoai-resource.openai.azure.com
  • Jalur openai/realtime API.
  • Parameter api-version string kueri untuk versi API yang didukung seperti 2024-12-17
  • Parameter deployment string kueri dengan nama penyebaran model atau gpt-4o-mini-realtime-preview Andagpt-4o-realtime-preview.

Contoh berikut adalah URI permintaan yang dibuat /realtime dengan baik:

wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-12-17&deployment=gpt-4o-realtime-preview

Autentikasi

Untuk mengautentikasi:

  • Microsoft Entra (disarankan): Gunakan autentikasi berbasis token dengan /realtime API untuk sumber daya Azure OpenAI Service dengan identitas terkelola diaktifkan. Terapkan token autentikasi yang Bearer diambil menggunakan token dengan Authorization header .
  • Kunci API: Dapat api-key disediakan dengan salah satu dari dua cara:
    • api-key Menggunakan header koneksi pada koneksi prehandshake. Opsi ini tidak tersedia di lingkungan browser.
    • api-key Menggunakan parameter string kueri pada URI permintaan. Parameter string kueri dienkripsi saat menggunakan https/wss.

Peristiwa klien

Ada sembilan peristiwa klien yang dapat dikirim dari klien ke server:

Kejadian Deskripsi
RealtimeClientEventConversationItemCreate Peristiwa klien conversation.item.create digunakan untuk menambahkan item baru ke konteks percakapan, termasuk pesan, panggilan fungsi, dan respons panggilan fungsi.
RealtimeClientEventConversationItemDelete Peristiwa klien conversation.item.delete digunakan untuk menghapus item dari riwayat percakapan.
RealtimeClientEventConversationItemTruncate Peristiwa klien conversation.item.truncate digunakan untuk memotong audio pesan asisten sebelumnya.
RealtimeClientEventInputAudioBufferAppend Peristiwa klien input_audio_buffer.append digunakan untuk menambahkan byte audio ke buffer audio input.
RealtimeClientEventInputAudioBufferClear Peristiwa klien input_audio_buffer.clear digunakan untuk menghapus byte audio di buffer.
RealtimeClientEventInputAudioBufferCommit Peristiwa klien input_audio_buffer.commit digunakan untuk menerapkan buffer audio input pengguna.
RealtimeClientEventResponseCancel Peristiwa klien response.cancel digunakan untuk membatalkan respons yang sedang berlangsung.
RealtimeClientEventResponseCreate Peristiwa klien response.create digunakan untuk menginstruksikan server untuk membuat respons melalui inferensi model.
RealtimeClientEventSessionUpdate Peristiwa klien session.update digunakan untuk memperbarui konfigurasi default sesi.

RealtimeClientEventConversationItemCreate

Peristiwa klien conversation.item.create digunakan untuk menambahkan item baru ke konteks percakapan, termasuk pesan, panggilan fungsi, dan respons panggilan fungsi. Kejadian ini dapat digunakan untuk mengisi riwayat percakapan dan menambahkan item baru di tengah aliran. Saat ini kejadian ini tidak dapat mengisi pesan audio asisten.

Jika berhasil, server merespons dengan conversation.item.created peristiwa, jika tidak error , peristiwa akan dikirim.

Struktur peristiwa

{
  "type": "conversation.item.create",
  "previous_item_id": "<previous_item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.create.
previous_item_id string ID item sebelumnya setelah item baru disisipkan. Jika tidak diatur, item baru ditambahkan ke akhir percakapan. Jika diatur, item akan disisipkan di tengah percakapan. Jika ID tidak dapat ditemukan, maka kesalahan dikembalikan dan item tidak ditambahkan.
item RealtimeConversationRequestItem Item yang akan ditambahkan ke percakapan.

RealtimeClientEventConversationItemDelete

Peristiwa klien conversation.item.delete digunakan untuk menghapus item dari riwayat percakapan.

Server merespons dengan conversation.item.deleted peristiwa, kecuali item tidak ada dalam riwayat percakapan, dalam hal ini server merespons dengan kesalahan.

Struktur peristiwa

{
  "type": "conversation.item.delete",
  "item_id": "<item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.delete.
item_id string ID item yang akan dihapus.

RealtimeClientEventConversationItemTruncate

Peristiwa klien conversation.item.truncate digunakan untuk memotong audio pesan asisten sebelumnya. Server menghasilkan audio lebih cepat daripada realtime, sehingga peristiwa ini berguna ketika pengguna mengganggu untuk memotong audio yang dikirim ke klien tetapi belum diputar. Pemahaman server tentang audio dengan pemutaran klien disinkronkan.

Memotong audio akan menghapus transkrip teks sisi server untuk memastikan tidak ada teks dalam konteks yang tidak diketahui pengguna.

Jika peristiwa klien berhasil, server merespons dengan conversation.item.truncated peristiwa.

Struktur peristiwa

{
  "type": "conversation.item.truncate",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.truncate.
item_id string ID item pesan asisten untuk dipotong. Hanya item pesan asisten yang dapat dipotong.
content_index Integer Indeks bagian konten untuk dipotong. Atur properti ini ke "0".
audio_end_ms Integer Durasi inklusif hingga audio dipotong, dalam milidetik. Jika audio_end_ms lebih besar dari durasi audio aktual, server merespons dengan kesalahan.

RealtimeClientEventInputAudioBufferAppend

Peristiwa klien input_audio_buffer.append digunakan untuk menambahkan byte audio ke buffer audio input. Buffer audio adalah penyimpanan sementara yang dapat Anda tulis dan penerapannya nanti.

Dalam mode VAD Server (Deteksi Aktivitas Suara), buffer audio digunakan untuk mendeteksi ucapan dan server memutuskan kapan harus berkomitmen. Ketika VAD server dinonaktifkan, klien dapat memilih berapa banyak audio yang akan ditempatkan di setiap peristiwa hingga maksimum 15 MiB. Misalnya, streaming gugus yang lebih kecil dari klien dapat memungkinkan VAD lebih responsif.

Tidak seperti kebanyakan peristiwa klien lainnya, server tidak mengirim respons konfirmasi ke peristiwa klien input_audio_buffer.append .

Struktur peristiwa

{
  "type": "input_audio_buffer.append",
  "audio": "<audio>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.append.
audio string Byte audio yang dikodekan Base64. Nilai ini harus dalam format yang ditentukan oleh input_audio_format bidang dalam konfigurasi sesi.

RealtimeClientEventInputAudioBufferClear

Peristiwa klien input_audio_buffer.clear digunakan untuk menghapus byte audio di buffer.

Server merespons dengan peristiwa input_audio_buffer.cleared .

Struktur peristiwa

{
  "type": "input_audio_buffer.clear"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

Peristiwa klien input_audio_buffer.commit digunakan untuk menerapkan buffer audio input pengguna, yang membuat item pesan pengguna baru dalam percakapan. Audio ditranskripsikan jika input_audio_transcription dikonfigurasi untuk sesi.

Ketika dalam mode VAD server, klien tidak perlu mengirim kejadian ini, server menerapkan buffer audio secara otomatis. Tanpa PPN server, klien harus menerapkan buffer audio untuk membuat item pesan pengguna. Kejadian klien ini menghasilkan kesalahan jika buffer audio input kosong.

Menerapkan buffer audio input tidak membuat respons dari model.

Server merespons dengan peristiwa input_audio_buffer.committed .

Struktur peristiwa

{
  "type": "input_audio_buffer.commit"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.commit.

RealtimeClientEventResponseCancel

Peristiwa klien response.cancel digunakan untuk membatalkan respons yang sedang berlangsung.

Server merespons dengan response.cancelled peristiwa atau kesalahan jika tidak ada respons untuk membatalkan.

Struktur peristiwa

{
  "type": "response.cancel"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.cancel.

RealtimeClientEventResponseCreate

Peristiwa klien response.create digunakan untuk menginstruksikan server untuk membuat respons melalui inferensi model. Ketika sesi dikonfigurasi dalam mode VAD server, server membuat respons secara otomatis.

Respons mencakup setidaknya satu item, dan dapat memiliki dua, dalam hal ini yang kedua adalah panggilan fungsi. Item ini ditambahkan ke riwayat percakapan.

Server merespons dengan response.created peristiwa, satu atau beberapa item dan peristiwa konten (seperti conversation.item.created dan response.content_part.added), dan akhirnya response.done peristiwa untuk menunjukkan respons selesai.

Catatan

Peristiwa klien response.create mencakup konfigurasi inferensi seperti instructions, dan temperature. Bidang ini hanya dapat mengambil alih konfigurasi sesi untuk respons ini.

Struktur peristiwa

{
  "type": "response.create"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.create.
respons RealtimeResponseOptions Opsi respons.

RealtimeClientEventSessionUpdate

Peristiwa klien session.update digunakan untuk memperbarui konfigurasi default sesi. Klien dapat mengirim peristiwa ini kapan saja untuk memperbarui konfigurasi sesi, dan bidang apa pun dapat diperbarui kapan saja, kecuali untuk suara.

Hanya bidang yang ada yang diperbarui. Untuk menghapus bidang (seperti instructions), berikan string kosong.

Server merespons dengan session.updated peristiwa yang berisi konfigurasi efektif penuh.

Struktur peristiwa

{
  "type": "session.update"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus session.update.
sesi RealtimeRequestSession Konfigurasi sesi.

Peristiwa server

Ada 28 peristiwa server yang dapat diterima dari server:

Kejadian Deskripsi
RealtimeServerEventConversationCreated Peristiwa server conversation.created dikembalikan tepat setelah pembuatan sesi. Satu percakapan dibuat per sesi.
RealtimeServerEventConversationItemCreated Peristiwa server conversation.item.created dikembalikan saat item percakapan dibuat.
RealtimeServerEventConversationItemDeleted Peristiwa server conversation.item.deleted dikembalikan saat klien menghapus item dalam percakapan dengan conversation.item.delete peristiwa.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted Peristiwa server conversation.item.input_audio_transcription.completed adalah hasil dari transkripsi audio untuk ucapan yang ditulis ke buffer audio.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed Peristiwa server conversation.item.input_audio_transcription.failed dikembalikan ketika transkripsi audio input dikonfigurasi, dan permintaan transkripsi untuk pesan pengguna gagal.
RealtimeServerEventConversationItemTruncated Peristiwa server conversation.item.truncated dikembalikan ketika klien memotong item pesan audio asisten sebelumnya dengan conversation.item.truncate peristiwa.
RealtimeServerEventError Peristiwa server error dikembalikan ketika terjadi kesalahan, yang bisa menjadi masalah klien atau masalah server.
RealtimeServerEventInputAudioBufferCleared Peristiwa server input_audio_buffer.cleared dikembalikan ketika klien menghapus buffer audio input dengan input_audio_buffer.clear peristiwa.
RealtimeServerEventInputAudioBufferCommitted Peristiwa server input_audio_buffer.committed dikembalikan ketika buffer audio input diterapkan, baik oleh klien atau secara otomatis dalam mode VAD server.
RealtimeServerEventInputAudioBufferSpeechStarted Peristiwa server input_audio_buffer.speech_started dikembalikan dalam server_vad mode ketika ucapan terdeteksi di buffer audio.
RealtimeServerEventInputAudioBufferSpeechStopped Peristiwa server input_audio_buffer.speech_stopped dikembalikan dalam server_vad mode ketika server mendeteksi akhir ucapan di buffer audio.
RealtimeServerEventRateLimitsUpdated Peristiwa server rate_limits.updated dipancarkan di awal respons untuk menunjukkan batas laju yang diperbarui.
RealtimeServerEventResponseAudioDelta Peristiwa server response.audio.delta dikembalikan saat audio yang dihasilkan model diperbarui.
RealtimeServerEventResponseAudioDone Peristiwa server response.audio.done dikembalikan ketika audio yang dihasilkan model selesai.
RealtimeServerEventResponseAudioTranscriptDelta Peristiwa server response.audio_transcript.delta dikembalikan ketika transkripsi output audio yang dihasilkan model diperbarui.
RealtimeServerEventResponseAudioTranscriptDone Peristiwa server response.audio_transcript.done dikembalikan ketika transkripsi output audio yang dihasilkan model dilakukan streaming.
RealtimeServerEventResponseContentPartAdded Peristiwa server response.content_part.added dikembalikan ketika bagian konten baru ditambahkan ke item pesan asisten.
RealtimeServerEventResponseContentPartdone Peristiwa server response.content_part.done dikembalikan ketika bagian konten dilakukan streaming.
RealtimeServerEventResponseCreated Peristiwa server response.created dikembalikan saat respons baru dibuat. Ini adalah peristiwa pertama pembuatan respons, di mana respons berada dalam keadaan in_progressawal .
RealtimeServerEventResponseDone Peristiwa server response.done dikembalikan ketika respons dilakukan streaming.
RealtimeServerEventResponseFunctionCallArgumentsDelta Peristiwa server response.function_call_arguments.delta dikembalikan ketika argumen panggilan fungsi yang dihasilkan model diperbarui.
RealtimeServerEventResponseFunctionCallArgumentsDone Peristiwa server response.function_call_arguments.done dikembalikan ketika argumen panggilan fungsi yang dihasilkan model dilakukan streaming.
RealtimeServerEventResponseOutputItemAdded Peristiwa server response.output_item.added dikembalikan saat item baru dibuat selama pembuatan respons.
RealtimeServerEventResponseOutputItemDone Peristiwa server response.output_item.done dikembalikan ketika item selesai streaming.
RealtimeServerEventResponseTextDelta Peristiwa server response.text.delta dikembalikan saat teks yang dihasilkan model diperbarui.
RealtimeServerEventResponseTextDone Peristiwa server response.text.done dikembalikan ketika teks yang dihasilkan model dilakukan streaming.
RealtimeServerEventSessionCreated Peristiwa server session.created adalah peristiwa server pertama saat Anda membuat koneksi baru ke API Realtime. Kejadian ini membuat dan mengembalikan sesi baru dengan konfigurasi sesi default.
RealtimeServerEventSessionUpdated Peristiwa server session.updated dikembalikan ketika sesi diperbarui oleh klien. Jika ada kesalahan, server akan mengirim error peristiwa sebagai gantinya.

RealtimeServerEventConversationCreated

Peristiwa server conversation.created dikembalikan tepat setelah pembuatan sesi. Satu percakapan dibuat per sesi.

Struktur peristiwa

{
  "type": "conversation.created",
  "conversation": {
    "id": "<id>",
    "object": "<object>"
  }
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.created.
percakapan object Sumber daya percakapan.

Properti percakapan

Bidang Jenis Deskripsi
id string ID unik percakapan.
object string Jenis objek harus realtime.conversation.

RealtimeServerEventConversationItemCreated

Peristiwa server conversation.item.created dikembalikan saat item percakapan dibuat. Ada beberapa skenario yang menghasilkan peristiwa ini:

  • Server menghasilkan respons, yang jika berhasil menghasilkan satu atau dua item, yang berjenis message (peran assistant) atau jenis function_call.
  • Buffer audio input diterapkan, baik oleh klien atau server (dalam server_vad mode). Server mengambil konten buffer audio input dan menambahkannya ke item pesan pengguna baru.
  • Klien mengirim conversation.item.create acara untuk menambahkan item baru ke percakapan.

Struktur peristiwa

{
  "type": "conversation.item.created",
  "previous_item_id": "<previous_item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.created.
previous_item_id string ID item sebelumnya dalam konteks percakapan, memungkinkan klien memahami urutan percakapan.
item RealtimeConversationResponseItem Item yang dibuat.

RealtimeServerEventConversationItemDeleted

Peristiwa server conversation.item.deleted dikembalikan saat klien menghapus item dalam percakapan dengan conversation.item.delete peristiwa. Kejadian ini digunakan untuk menyinkronkan pemahaman server tentang riwayat percakapan dengan tampilan klien.

Struktur peristiwa

{
  "type": "conversation.item.deleted",
  "item_id": "<item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.deleted.
item_id string ID item yang dihapus.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

Peristiwa server conversation.item.input_audio_transcription.completed adalah hasil dari transkripsi audio untuk ucapan yang ditulis ke buffer audio.

Transkripsi dimulai ketika buffer audio input diterapkan oleh klien atau server (dalam server_vad mode). Transkripsi berjalan secara asinkron dengan pembuatan respons, sehingga peristiwa ini dapat datang sebelum atau sesudah peristiwa respons.

Model API realtime menerima audio secara asli, dan dengan demikian transkripsi input adalah proses terpisah yang dijalankan pada model pengenalan ucapan terpisah, saat ini selalu whisper-1. Dengan demikian transkrip dapat sedikit berbeda dari interpretasi model, dan harus diperlakukan sebagai panduan kasar.

Struktur peristiwa

{
  "type": "conversation.item.input_audio_transcription.completed",
  "item_id": "<item_id>",
  "content_index": 0,
  "transcript": "<transcript>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.input_audio_transcription.completed.
item_id string ID item pesan pengguna yang berisi audio.
content_index Integer Indeks bagian konten yang berisi audio.
transkrip string Teks yang ditranskripsikan.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

Peristiwa server conversation.item.input_audio_transcription.failed dikembalikan ketika transkripsi audio input dikonfigurasi, dan permintaan transkripsi untuk pesan pengguna gagal. Kejadian ini terpisah dari peristiwa lain error sehingga klien dapat mengidentifikasi item terkait.

Struktur peristiwa

{
  "type": "conversation.item.input_audio_transcription.failed",
  "item_id": "<item_id>",
  "content_index": 0,
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.input_audio_transcription.failed.
item_id string ID item pesan pengguna.
content_index Integer Indeks bagian konten yang berisi audio.
kesalahan object Detail kesalahan transkripsi.

Lihat properti berlapis di tabel berikutnya.

Properti kesalahan

Bidang Jenis Deskripsi
jenis string Jenis kesalahan.
kode string Kode kesalahan, jika ada.
pesan string Pesan kesalahan yang dapat dibaca manusia.
param string Parameter yang terkait dengan kesalahan, jika ada.

RealtimeServerEventConversationItemTruncated

Peristiwa server conversation.item.truncated dikembalikan ketika klien memotong item pesan audio asisten sebelumnya dengan conversation.item.truncate peristiwa. Kejadian ini digunakan untuk menyinkronkan pemahaman server tentang audio dengan pemutaran klien.

Kejadian ini memotong audio dan menghapus transkrip teks sisi server untuk memastikan tidak ada teks dalam konteks yang tidak diketahui pengguna.

Struktur peristiwa

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus conversation.item.truncated.
item_id string ID item pesan asisten yang dipotong.
content_index Integer Indeks bagian konten yang terpotong.
audio_end_ms Integer Durasi hingga audio dipotong, dalam milidetik.

RealtimeServerEventError

Peristiwa server error dikembalikan ketika terjadi kesalahan, yang bisa menjadi masalah klien atau masalah server. Sebagian besar kesalahan dapat dipulihkan dan sesi tetap terbuka.

Struktur peristiwa

{
  "type": "error",
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>",
    "event_id": "<event_id>"
  }
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus error.
kesalahan object Detail kesalahan.

Lihat properti berlapis di tabel berikutnya.

Properti kesalahan

Bidang Jenis Deskripsi
jenis string Jenis kesalahan. Misalnya, "invalid_request_error" dan "server_error" adalah jenis kesalahan.
kode string Kode kesalahan, jika ada.
pesan string Pesan kesalahan yang dapat dibaca manusia.
param string Parameter yang terkait dengan kesalahan, jika ada.
event_id string ID peristiwa klien yang menyebabkan kesalahan, jika berlaku.

RealtimeServerEventInputAudioBufferCleared

Peristiwa server input_audio_buffer.cleared dikembalikan ketika klien menghapus buffer audio input dengan input_audio_buffer.clear peristiwa.

Struktur peristiwa

{
  "type": "input_audio_buffer.cleared"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

Peristiwa server input_audio_buffer.committed dikembalikan ketika buffer audio input diterapkan, baik oleh klien atau secara otomatis dalam mode VAD server. Properti item_id adalah ID item pesan pengguna yang dibuat. Dengan demikian, conversation.item.created peristiwa juga dikirim ke klien.

Struktur peristiwa

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.committed.
previous_item_id string ID item sebelumnya setelah item baru disisipkan.
item_id string ID item pesan pengguna yang dibuat.

RealtimeServerEventInputAudioBufferSpeechStarted

Peristiwa server input_audio_buffer.speech_started dikembalikan dalam server_vad mode ketika ucapan terdeteksi di buffer audio. Kejadian ini dapat terjadi kapan saja audio ditambahkan ke buffer (kecuali ucapan sudah terdeteksi).

Catatan

Klien mungkin ingin menggunakan kejadian ini untuk mengganggu pemutaran audio atau memberikan umpan balik visual kepada pengguna.

Klien harus mengharapkan untuk menerima input_audio_buffer.speech_stopped peristiwa ketika ucapan berhenti. Properti item_id adalah ID item pesan pengguna yang dibuat saat ucapan berhenti. juga item_id disertakan dalam input_audio_buffer.speech_stopped peristiwa kecuali klien secara manual menerapkan buffer audio selama aktivasi VAD.

Struktur peristiwa

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.speech_started.
audio_start_ms Integer Milidetik dari awal semua audio yang ditulis ke buffer selama sesi ketika ucapan pertama kali terdeteksi. Properti ini sesuai dengan awal audio yang dikirim ke model, dan dengan demikian menyertakan yang prefix_padding_ms dikonfigurasi dalam sesi.
item_id string ID item pesan pengguna yang dibuat saat ucapan berhenti.

RealtimeServerEventInputAudioBufferSpeechStopped

Peristiwa server input_audio_buffer.speech_stopped dikembalikan dalam server_vad mode ketika server mendeteksi akhir ucapan di buffer audio.

Server juga mengirim conversation.item.created peristiwa dengan item pesan pengguna yang dibuat dari buffer audio.

Struktur peristiwa

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus input_audio_buffer.speech_stopped.
audio_end_ms Integer Milidetik sejak sesi dimulai ketika ucapan berhenti. Properti ini sesuai dengan akhir audio yang dikirim ke model, dan dengan demikian menyertakan yang min_silence_duration_ms dikonfigurasi dalam sesi.
item_id string ID item pesan pengguna yang dibuat.

RealtimeServerEventRateLimitsUpdated

Peristiwa server rate_limits.updated dipancarkan di awal respons untuk menunjukkan batas laju yang diperbarui.

Saat respons dibuat, beberapa token dicadangkan untuk token output. Batas tarif yang ditunjukkan di sini mencerminkan reservasi tersebut, yang kemudian disesuaikan setelah respons selesai.

Struktur peristiwa

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus rate_limits.updated.
rate_limits array RealtimeServerEventRateLimitsUpdatedRateLimitsItem Daftar informasi batas tarif.

RealtimeServerEventResponseAudioDelta

Peristiwa server response.audio.delta dikembalikan saat audio yang dihasilkan model diperbarui.

Struktur peristiwa

{
  "type": "response.audio.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.audio.delta.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
delta string Delta data audio yang dikodekan Base64.

RealtimeServerEventResponseAudioDone

Peristiwa server response.audio.done dikembalikan ketika audio yang dihasilkan model selesai.

Kejadian ini juga dikembalikan saat respons terganggu, tidak lengkap, atau dibatalkan.

Struktur peristiwa

{
  "type": "response.audio.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.audio.done.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.

RealtimeServerEventResponseAudioTranscriptDelta

Peristiwa server response.audio_transcript.delta dikembalikan ketika transkripsi output audio yang dihasilkan model diperbarui.

Struktur peristiwa

{
  "type": "response.audio_transcript.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.audio_transcript.delta.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
delta string Delta transkrip.

RealtimeServerEventResponseAudioTranscriptDone

Peristiwa server response.audio_transcript.done dikembalikan ketika transkripsi output audio yang dihasilkan model dilakukan streaming.

Kejadian ini juga dikembalikan saat respons terganggu, tidak lengkap, atau dibatalkan.

Struktur peristiwa

{
  "type": "response.audio_transcript.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "transcript": "<transcript>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.audio_transcript.done.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
transkrip string Transkrip akhir audio.

RealtimeServerEventResponseContentPartAdded

Peristiwa server response.content_part.added dikembalikan ketika bagian konten baru ditambahkan ke item pesan asisten selama pembuatan respons.

Struktur peristiwa

{
  "type": "response.content_part.added",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.content_part.added.
response_id string ID respons.
item_id string ID item tempat bagian konten ditambahkan.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
bagian RealtimeContentPart Bagian konten yang ditambahkan.

Properti bagian

Bidang Jenis Deskripsi
jenis RealtimeContentPartType

RealtimeServerEventResponseContentPartdone

Peristiwa server response.content_part.done dikembalikan ketika bagian konten dilakukan streaming dalam item pesan asisten.

Kejadian ini juga dikembalikan saat respons terganggu, tidak lengkap, atau dibatalkan.

Struktur peristiwa

{
  "type": "response.content_part.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.content_part.done.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
bagian RealtimeContentPart Bagian konten yang dilakukan.

Properti bagian

Bidang Jenis Deskripsi
jenis RealtimeContentPartType

RealtimeServerEventResponseCreated

Peristiwa server response.created dikembalikan saat respons baru dibuat. Ini adalah peristiwa pertama pembuatan respons, di mana respons berada dalam keadaan in_progressawal .

Struktur peristiwa

{
  "type": "response.created"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.created.
respons RealtimeResponse Objek respons.

RealtimeServerEventResponseDone

Peristiwa server response.done dikembalikan ketika respons dilakukan streaming. Kejadian ini selalu dipancarkan, apa pun status akhirnya. Objek respons yang response.done disertakan dalam peristiwa mencakup semua item output dalam respons, tetapi menghilangkan data audio mentah.

Struktur peristiwa

{
  "type": "response.done"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.done.
respons RealtimeResponse Objek respons.

RealtimeServerEventResponseFunctionCallArgumentsDelta

Peristiwa server response.function_call_arguments.delta dikembalikan ketika argumen panggilan fungsi yang dihasilkan model diperbarui.

Struktur peristiwa

{
  "type": "response.function_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "delta": "<delta>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.function_call_arguments.delta.
response_id string ID respons.
item_id string ID item panggilan fungsi.
output_index Integer Indeks item output dalam respons.
call_id string ID panggilan fungsi.
delta string Argumen delta sebagai string JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

Peristiwa server response.function_call_arguments.done dikembalikan ketika argumen panggilan fungsi yang dihasilkan model dilakukan streaming.

Kejadian ini juga dikembalikan saat respons terganggu, tidak lengkap, atau dibatalkan.

Struktur peristiwa

{
  "type": "response.function_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "arguments": "<arguments>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.function_call_arguments.done.
response_id string ID respons.
item_id string ID item panggilan fungsi.
output_index Integer Indeks item output dalam respons.
call_id string ID panggilan fungsi.
arguments string Argumen akhir sebagai string JSON.

RealtimeServerEventResponseOutputItemAdded

Peristiwa server response.output_item.added dikembalikan saat item baru dibuat selama pembuatan respons.

Struktur peristiwa

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.output_item.added.
response_id string ID respons tempat item berada.
output_index Integer Indeks item output dalam respons.
item RealtimeConversationResponseItem Item yang ditambahkan.

RealtimeServerEventResponseOutputItemDone

Peristiwa server response.output_item.done dikembalikan ketika item selesai streaming.

Kejadian ini juga dikembalikan saat respons terganggu, tidak lengkap, atau dibatalkan.

Struktur peristiwa

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.output_item.done.
response_id string ID respons tempat item berada.
output_index Integer Indeks item output dalam respons.
item RealtimeConversationResponseItem Item yang dilakukan streaming.

RealtimeServerEventResponseTextDelta

Peristiwa server response.text.delta dikembalikan saat teks yang dihasilkan model diperbarui. Teks sesuai dengan bagian text konten item pesan asisten.

Struktur peristiwa

{
  "type": "response.text.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.text.delta.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
delta string Delta teks.

RealtimeServerEventResponseTextDone

Peristiwa server response.text.done dikembalikan ketika teks yang dihasilkan model dilakukan streaming. Teks sesuai dengan bagian text konten item pesan asisten.

Kejadian ini juga dikembalikan saat respons terganggu, tidak lengkap, atau dibatalkan.

Struktur peristiwa

{
  "type": "response.text.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "text": "<text>"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus response.text.done.
response_id string ID respons.
item_id string ID item.
output_index Integer Indeks item output dalam respons.
content_index Integer Indeks bagian konten dalam array konten item.
text string Konten teks akhir.

RealtimeServerEventSessionCreated

Peristiwa server session.created adalah peristiwa server pertama saat Anda membuat koneksi baru ke API Realtime. Kejadian ini membuat dan mengembalikan sesi baru dengan konfigurasi sesi default.

Struktur peristiwa

{
  "type": "session.created"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus session.created.
sesi RealtimeResponseSession Objek sesi.

RealtimeServerEventSessionUpdated

Peristiwa server session.updated dikembalikan ketika sesi diperbarui oleh klien. Jika ada kesalahan, server akan mengirim error peristiwa sebagai gantinya.

Struktur peristiwa

{
  "type": "session.updated"
}

Properti

Bidang Jenis Deskripsi
jenis string Jenis peristiwa harus session.updated.
sesi RealtimeResponseSession Objek sesi.

Komponen

RealtimeAudioFormat

Nilai yang Diizinkan:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Nilai yang Diizinkan:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

Bidang Jenis Deskripsi
model RealtimeAudioInputTranscriptionModel Model default whisper-1 saat ini adalah satu-satunya model yang didukung untuk transkripsi input audio.

RealtimeClientEvent

Bidang Jenis Deskripsi
jenis RealtimeClientEventType Jenis peristiwa klien.
event_id string ID unik acara. Klien dapat menentukan ID untuk membantu mengidentifikasi peristiwa.

RealtimeClientEventType

Nilai yang Diizinkan:

  • session.update
  • input_audio_buffer.append
  • input_audio_buffer.commit
  • input_audio_buffer.clear
  • conversation.item.create
  • conversation.item.delete
  • conversation.item.truncate
  • response.create
  • response.cancel

RealtimeContentPart

Bidang Jenis Deskripsi
jenis RealtimeContentPartType Jenis konten.

Properti function objek.

Nilai yang diizinkan: input_text, input_audio, item_reference, text.
text string Isi teks. Properti ini berlaku untuk input_text tipe isi dan text .
id string ID item percakapan sebelumnya untuk direferensikan dalam item yang dibuat klien dan server. Properti ini berlaku untuk item_reference tipe isi dalam response.create peristiwa.
audio string Byte audio yang dikodekan base64. Properti ini berlaku untuk input_audio tipe isi.
transkrip string Transkrip audio. Properti ini berlaku untuk input_audio tipe isi.

RealtimeContentPartType

Nilai yang Diizinkan:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

Item yang akan ditambahkan ke percakapan.

Tabel ini menjelaskan semua RealtimeConversationItem properti. Properti yang berlaku per peristiwa bergantung pada RealtimeItemType.

Bidang Jenis Deskripsi
id string ID unik item. Klien dapat menentukan ID untuk membantu mengelola konteks sisi server. Jika klien tidak memberikan ID, server akan membuatnya.
jenis RealtimeItemType Jenis item.

Nilai yang diizinkan: message, function_call, function_call_output
object string Pengidentifikasi untuk objek API yang dikembalikan. Nilainya akan selalu .realtime.item
status RealtimeItemStatus Status item. Bidang ini tidak memengaruhi percakapan, tetapi diterima untuk konsistensi dengan peristiwa.conversation.item.created

Nilai yang diizinkan: completed, incomplete
role RealtimeMessageRole Peran pengirim pesan. Properti ini hanya berlaku untuk message item.

Nilai yang diizinkan: system, user, assistant
konten array RealtimeContentPart Konten pesan. Properti ini hanya berlaku untuk message item.

- Item pesan dari konten dukungan peran system saja input_text .
- Item pesan dukungan input_text peran user dan input_audio konten.
- Item pesan konten dukungan text peranassistant.
call_id string ID panggilan fungsi (untuk function_call item dan function_call_output ). Jika diteruskan pada function_call_output item, server akan memeriksa apakah function_call item dengan ID yang sama ada dalam riwayat percakapan.
nama string Nama fungsi yang dipanggil (untuk function_call item).
arguments string Argumen panggilan fungsi (untuk function_call item).
output tali Output panggilan fungsi (untuk function_call_output item).

RealtimeConversationRequestItem

Anda menggunakan RealtimeConversationRequestItem objek untuk membuat item baru dalam percakapan melalui peristiwa conversation.item.create .

Bidang Jenis Deskripsi
jenis RealtimeItemType Jenis item.
id string ID unik item. Klien dapat menentukan ID untuk membantu mengelola konteks sisi server. Jika klien tidak memberikan ID, server akan membuatnya.

RealtimeConversationResponseItem

Objek RealtimeConversationResponseItem mewakili item dalam percakapan. Ini digunakan dalam beberapa peristiwa server, seperti:

Bidang Jenis Deskripsi
object string Pengidentifikasi untuk objek API yang dikembalikan.

Nilai yang diizinkan: realtime.item
jenis RealtimeItemType Jenis item.

Nilai yang diizinkan: message, function_call, function_call_output
id string ID unik item. Klien dapat menentukan ID untuk membantu mengelola konteks sisi server. Jika klien tidak memberikan ID, server akan membuatnya.

Properti ini dapat diubah ke null.

RealtimeFunctionTool

Definisi alat fungsi seperti yang digunakan oleh titik akhir realtime.

Bidang Jenis Deskripsi
jenis string Jenis alat.

Nilai yang diizinkan: function
nama string Nama fungsi.
description string Deskripsi fungsi, termasuk panduan penggunaan. Misalnya, "Gunakan fungsi ini untuk mendapatkan waktu saat ini."
parameter object Parameter fungsi dalam bentuk objek JSON.

RealtimeItemStatus

Nilai yang Diizinkan:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Nilai yang Diizinkan:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Nilai yang Diizinkan:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Bidang Jenis Deskripsi
role string Peran pesan.

Nilai yang diizinkan: assistant
konten array RealtimeRequestTextContentPart Konten pesan.

RealtimeRequestAudioContentPart

Bidang Jenis Deskripsi
jenis string Jenis bagian konten.

Nilai yang diizinkan: input_audio
transkrip string Transkrip audio.

RealtimeRequestFunctionCallItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: function_call
nama string Nama item panggilan fungsi.
call_id string ID item panggilan fungsi.
arguments string Argumen item panggilan fungsi.
status RealtimeItemStatus Status item.

RealtimeRequestFunctionCallOutputItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: function_call_output
call_id string ID item panggilan fungsi.
output tali Output item panggilan fungsi.

RealtimeRequestMessageItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: message
role RealtimeMessageRole Peran pesan.
status RealtimeItemStatus Status item.

RealtimeRequestMessageReferenceItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: message
id string ID item pesan.

RealtimeRequestSession

Anda menggunakan RealtimeRequestSession objek saat ingin memperbarui konfigurasi sesi melalui peristiwa session.update .

Bidang Jenis Deskripsi
Modalitas array Modalitas yang didukung sesi.

Nilai yang diizinkan: text, audio

Misalnya, "modalities": ["text", "audio"] adalah pengaturan default yang memungkinkan modalitas teks dan audio. Untuk mengaktifkan hanya teks, atur "modalities": ["text"]. Anda tidak hanya dapat mengaktifkan audio.
petunjuk string Instruksi (pesan sistem) untuk memandu respons teks dan audio model.

Berikut adalah beberapa contoh instruksi untuk membantu memandu konten dan format respons teks dan audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Berikut adalah beberapa contoh instruksi untuk membantu memandu perilaku audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Meskipun model mungkin tidak selalu mengikuti instruksi ini, model tersebut memberikan panduan tentang perilaku yang diinginkan.
Suara RealtimeVoice Suara yang digunakan untuk respons model untuk sesi tersebut.

Setelah suara digunakan dalam sesi untuk respons audio model, suara tidak dapat diubah.
input_audio_format RealtimeAudioFormat Format untuk audio input.
output_audio_format RealtimeAudioFormat Format untuk audio output.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Pengaturan untuk transkripsi input audio.

Properti ini dapat diubah ke null.
turn_detection RealtimeTurnDetection Pengaturan deteksi giliran untuk sesi.

Properti ini dapat diubah ke null.
alat array RealtimeTool Alat yang tersedia untuk model untuk sesi tersebut.
tool_choice RealtimeToolChoice Pilihan alat untuk sesi.

Nilai yang diizinkan: auto, none, dan required. Jika tidak, Anda dapat menentukan nama fungsi yang akan digunakan.
suhu number Suhu pengambilan sampel untuk model. Nilai suhu yang diizinkan dibatasi hingga [0,6, 1,2]. Default ke 0,8.
max_response_output_tokens bilangan bulat atau "inf" Jumlah maksimum token output per respons asisten, termasuk panggilan alat.

Tentukan bilangan bulat antara 1 dan 4096 untuk membatasi token output. Jika tidak, atur nilai ke "inf" untuk memungkinkan jumlah maksimum token.

Misalnya, untuk membatasi token output menjadi 1000, atur "max_response_output_tokens": 1000. Untuk mengizinkan jumlah maksimum token, atur "max_response_output_tokens": "inf".

Default ke "inf".

RealtimeRequestSystemMessageItem

Bidang Jenis Deskripsi
role string Peran pesan.

Nilai yang diizinkan: system
konten array RealtimeRequestTextContentPart Konten pesan.

RealtimeRequestTextContentPart

Bidang Jenis Deskripsi
jenis string Jenis bagian konten.

Nilai yang diizinkan: input_text
text string Isi teks.

RealtimeRequestUserMessageItem

Bidang Jenis Deskripsi
role string Peran pesan.

Nilai yang diizinkan: user
konten array RealtimeRequestTextContentPart atau RealtimeRequestAudioContentPart Konten pesan.

RealtimeResponse

Bidang Jenis Deskripsi
object string Objek respons.

Nilai yang diizinkan: realtime.response
id string ID unik respons.
status RealtimeResponseStatus Status respons.

Nilai status defaultnya adalah in_progress.
status_details RealtimeResponseStatusDetails Detail status respons.

Properti ini dapat diubah ke null.
output array RealtimeConversationResponseItem Item output respons.
penggunaan object Statistik penggunaan untuk respons. Setiap sesi API Realtime mempertahankan konteks percakapan dan menambahkan item baru ke percakapan. Output dari belokan sebelumnya (token teks dan audio) diinput untuk giliran selanjutnya.

Lihat properti berlapis berikutnya.
+ total_tokens Integer Jumlah total token dalam Respons termasuk teks input dan output dan token audio.

Properti usage objek.
+ input_tokens Integer Jumlah token input yang digunakan dalam respons, termasuk token teks dan audio.

Properti usage objek.
+ output_tokens Integer Jumlah token output yang dikirim dalam respons, termasuk token teks dan audio.

Properti usage objek.
+ input_token_details object Detail tentang token input yang digunakan dalam respons.

Properti usage objek.
Br>
Lihat properti berlapis berikutnya.
+ cached_tokens Integer Jumlah token cache yang digunakan dalam respons.

Properti input_token_details objek.
+ text_tokens Integer Jumlah token teks yang digunakan dalam respons.

Properti input_token_details objek.
+ audio_tokens Integer Jumlah token audio yang digunakan dalam respons.

Properti input_token_details objek.
+ output_token_details object Detail tentang token output yang digunakan dalam respons.

Properti usage objek.

Lihat properti berlapis berikutnya.
+ text_tokens Integer Jumlah token teks yang digunakan dalam respons.

Properti output_token_details objek.
+ audio_tokens Integer Jumlah token audio yang digunakan dalam respons.

Properti output_token_details objek.

RealtimeResponseAudioContentPart

Bidang Jenis Deskripsi
jenis string Jenis bagian konten.

Nilai yang diizinkan: audio
transkrip string Transkrip audio.

Properti ini dapat diubah ke null.

RealtimeResponseBase

Sumber daya respons.

RealtimeResponseFunctionCallItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: function_call
nama string Nama item panggilan fungsi.
call_id string ID item panggilan fungsi.
arguments string Argumen item panggilan fungsi.
status RealtimeItemStatus Status item.

RealtimeResponseFunctionCallOutputItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: function_call_output
call_id string ID item panggilan fungsi.
output tali Output item panggilan fungsi.

RealtimeResponseMessageItem

Bidang Jenis Deskripsi
jenis string Jenis item.

Nilai yang diizinkan: message
role RealtimeMessageRole Peran pesan.
konten array Konten pesan.

Item array: RealtimeResponseTextContentPart
status RealtimeItemStatus Status item.

RealtimeResponseOptions

Bidang Jenis Deskripsi
Modalitas array Modalitas yang didukung sesi.

Nilai yang diizinkan: text, audio

Misalnya, "modalities": ["text", "audio"] adalah pengaturan default yang memungkinkan modalitas teks dan audio. Untuk mengaktifkan hanya teks, atur "modalities": ["text"]. Anda tidak hanya dapat mengaktifkan audio.
petunjuk string Instruksi (pesan sistem) untuk memandu respons teks dan audio model.

Berikut adalah beberapa contoh instruksi untuk membantu memandu konten dan format respons teks dan audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Berikut adalah beberapa contoh instruksi untuk membantu memandu perilaku audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Meskipun model mungkin tidak selalu mengikuti instruksi ini, model tersebut memberikan panduan tentang perilaku yang diinginkan.
Suara RealtimeVoice Suara yang digunakan untuk respons model untuk sesi tersebut.

Setelah suara digunakan dalam sesi untuk respons audio model, suara tidak dapat diubah.
output_audio_format RealtimeAudioFormat Format untuk audio output.
alat array RealtimeTool Alat yang tersedia untuk model untuk sesi tersebut.
tool_choice RealtimeToolChoice Pilihan alat untuk sesi.
suhu number Suhu pengambilan sampel untuk model. Nilai suhu yang diizinkan dibatasi hingga [0,6, 1,2]. Default ke 0,8.
max__output_tokens bilangan bulat atau "inf" Jumlah maksimum token output per respons asisten, termasuk panggilan alat.

Tentukan bilangan bulat antara 1 dan 4096 untuk membatasi token output. Jika tidak, atur nilai ke "inf" untuk memungkinkan jumlah maksimum token.

Misalnya, untuk membatasi token output menjadi 1000, atur "max_response_output_tokens": 1000. Untuk mengizinkan jumlah maksimum token, atur "max_response_output_tokens": "inf".

Default ke "inf".
percakapan string Mengontrol percakapan mana respons ditambahkan. Nilai yang didukung adalah auto dan none.

Nilai auto (atau tidak mengatur properti ini) memastikan bahwa konten respons ditambahkan ke percakapan default sesi.

Atur properti ini ke none untuk membuat respons di luar band di mana item tidak akan ditambahkan ke percakapan default. Untuk informasi selengkapnya, lihat panduan cara penggunaan.

Default ke "auto"
metadata peta Atur hingga 16 pasangan kunci-nilai yang dapat dilampirkan ke objek. Ini dapat berguna untuk menyimpan informasi tambahan tentang objek dalam format terstruktur. Kunci dapat memiliki panjang maksimal 64 karakter dan nilai dapat memiliki panjang maksimal 512 karakter.

Misalnya: metadata: { topic: "classification" }
input array Masukkan item untuk disertakan dalam permintaan model. Membuat konteks baru untuk respons ini, tanpa menyertakan percakapan default. Bisa menyertakan referensi ke item dari percakapan default.

Item array: RealtimeConversationItemBase

RealtimeResponseSession

Objek RealtimeResponseSession mewakili sesi di API Realtime. Ini digunakan dalam beberapa peristiwa server, seperti:

Bidang Jenis Deskripsi
object string Objek sesi.

Nilai yang diizinkan: realtime.session
id string ID unik sesi.
model string Model yang digunakan untuk sesi.
Modalitas array Modalitas yang didukung sesi.

Nilai yang diizinkan: text, audio

Misalnya, "modalities": ["text", "audio"] adalah pengaturan default yang memungkinkan modalitas teks dan audio. Untuk mengaktifkan hanya teks, atur "modalities": ["text"]. Anda tidak hanya dapat mengaktifkan audio.
petunjuk string Instruksi (pesan sistem) untuk memandu respons teks dan audio model.

Berikut adalah beberapa contoh instruksi untuk membantu memandu konten dan format respons teks dan audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Berikut adalah beberapa contoh instruksi untuk membantu memandu perilaku audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Meskipun model mungkin tidak selalu mengikuti instruksi ini, model tersebut memberikan panduan tentang perilaku yang diinginkan.
Suara RealtimeVoice Suara yang digunakan untuk respons model untuk sesi tersebut.

Setelah suara digunakan dalam sesi untuk respons audio model, suara tidak dapat diubah.
input_audio_format RealtimeAudioFormat Format untuk audio input.
output_audio_format RealtimeAudioFormat Format untuk audio output.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Pengaturan untuk transkripsi input audio.

Properti ini dapat diubah ke null.
turn_detection RealtimeTurnDetection Pengaturan deteksi giliran untuk sesi.

Properti ini dapat diubah ke null.
alat array RealtimeTool Alat yang tersedia untuk model untuk sesi tersebut.
tool_choice RealtimeToolChoice Pilihan alat untuk sesi.
suhu number Suhu pengambilan sampel untuk model. Nilai suhu yang diizinkan dibatasi hingga [0,6, 1,2]. Default ke 0,8.
max_response_output_tokens bilangan bulat atau "inf" Jumlah maksimum token output per respons asisten, termasuk panggilan alat.

Tentukan bilangan bulat antara 1 dan 4096 untuk membatasi token output. Jika tidak, atur nilai ke "inf" untuk memungkinkan jumlah maksimum token.

Misalnya, untuk membatasi token output menjadi 1000, atur "max_response_output_tokens": 1000. Untuk mengizinkan jumlah maksimum token, atur "max_response_output_tokens": "inf".

RealtimeResponseStatus

Nilai yang Diizinkan:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Bidang Jenis Deskripsi
jenis RealtimeResponseStatus Status respons.

RealtimeResponseTextContentPart

Bidang Jenis Deskripsi
jenis string Jenis bagian konten.

Nilai yang diizinkan: text
text string Isi teks.

RealtimeServerEvent

Bidang Jenis Deskripsi
jenis RealtimeServerEventType Jenis peristiwa server.
event_id string ID unik peristiwa server.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Bidang Jenis Deskripsi
nama string Nama properti batas tarif yang menyertakan informasi tentang item ini.
batas Integer Batas maksimum yang dikonfigurasi untuk properti batas tarif ini.
tersisa Integer Sisa kuota yang tersedia terhadap batas yang dikonfigurasi untuk properti batas tarif ini.
reset_seconds number Sisa waktu, dalam detik, hingga properti batas tarif ini diatur ulang.

RealtimeServerEventType

Nilai yang Diizinkan:

  • session.created
  • session.updated
  • conversation.created
  • conversation.item.created
  • conversation.item.deleted
  • conversation.item.truncated
  • response.created
  • response.done
  • rate_limits.updated
  • response.output_item.added
  • response.output_item.done
  • response.content_part.added
  • response.content_part.done
  • response.audio.delta
  • response.audio.done
  • response.audio_transcript.delta
  • response.audio_transcript.done
  • response.text.delta
  • response.text.done
  • response.function_call_arguments.delta
  • response.function_call_arguments.done
  • input_audio_buffer.speech_started
  • input_audio_buffer.speech_stopped
  • conversation.item.input_audio_transcription.completed
  • conversation.item.input_audio_transcription.failed
  • input_audio_buffer.committed
  • input_audio_buffer.cleared
  • error

RealtimeServerVadTurnDetection

Bidang Jenis Deskripsi
jenis string Jenis deteksi giliran.

Nilai yang diizinkan: server_vad
ambang number Ambang aktivasi untuk deteksi giliran VAD server. Di lingkungan yang berisik, Anda mungkin perlu meningkatkan ambang batas untuk menghindari positif palsu. Di lingkungan yang tenang, Anda mungkin perlu mengurangi ambang batas untuk menghindari negatif palsu.

Default ke 0.5. Anda dapat mengatur ambang batas ke nilai antara 0.0 dan 1.0.
prefix_padding_ms string Durasi audio ucapan (dalam milidetik) untuk disertakan sebelum dimulainya ucapan yang terdeteksi.

Default ke 300.
silence_duration_ms string Durasi keheningan (dalam milidetik) untuk mendeteksi akhir ucapan. Anda ingin mendeteksi akhir ucapan sesegera mungkin, tetapi tidak terlalu cepat untuk menghindari pemotongan bagian terakhir dari ucapan.

Model akan merespons lebih cepat jika Anda mengatur nilai ini ke angka yang lebih rendah, tetapi mungkin memotong bagian terakhir ucapan. Jika Anda mengatur nilai ini ke angka yang lebih tinggi, model akan menunggu lebih lama untuk mendeteksi akhir ucapan, tetapi mungkin perlu waktu lebih lama untuk merespons.

RealtimeSessionBase

Konfigurasi objek sesi realtime.

RealtimeTool

Representasi dasar definisi alat realtime.

Bidang Jenis Deskripsi
jenis RealtimeToolType Jenis alat.

RealtimeToolChoice

Kumpulan gabungan representasi yang tersedia untuk parameter realtime tool_choice , mencakup kedua opsi literal string seperti 'otomatis' dan referensi terstruktur ke alat yang ditentukan.

RealtimeToolChoiceFunctionObject

Representasi realtime tool_choice memilih alat fungsi bernama.

Bidang Jenis Deskripsi
jenis string Jenis tool_choice.

Nilai yang diizinkan: function
fungsi object Alat fungsi untuk dipilih.

Lihat properti berlapis berikutnya.
+ nama string Nama alat fungsi.

Properti function objek.

RealtimeToolChoiceLiteral

Set opsi literal tool_choice string tingkat mode yang tersedia untuk titik akhir realtime.

Nilai yang Diizinkan:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Representasi dasar untuk realtime tool_choice memilih alat bernama.

Bidang Jenis Deskripsi
jenis RealtimeToolType Jenis tool_choice.

RealtimeToolType

Diskriminator jenis alat yang didukung untuk alat realtime. Saat ini, hanya alat 'fungsi' yang didukung.

Nilai yang Diizinkan:

  • function

RealtimeTurnDetection

Bidang Jenis Deskripsi
jenis RealtimeTurnDetectionType Jenis deteksi giliran.

Nilai yang diizinkan: server_vad
ambang number Ambang aktivasi untuk deteksi giliran VAD server. Di lingkungan yang berisik, Anda mungkin perlu meningkatkan ambang batas untuk menghindari positif palsu. Di lingkungan yang tenang, Anda mungkin perlu mengurangi ambang batas untuk menghindari negatif palsu.

Default ke 0.5. Anda dapat mengatur ambang batas ke nilai antara 0.0 dan 1.0.
prefix_padding_ms string Durasi audio ucapan (dalam milidetik) untuk disertakan sebelum dimulainya ucapan yang terdeteksi.

Default ke 300 milidetik.
silence_duration_ms string Durasi keheningan (dalam milidetik) untuk mendeteksi akhir ucapan. Anda ingin mendeteksi akhir ucapan sesegera mungkin, tetapi tidak terlalu cepat untuk menghindari pemotongan bagian terakhir dari ucapan.

Model akan merespons lebih cepat jika Anda mengatur nilai ini ke angka yang lebih rendah, tetapi mungkin memotong bagian terakhir ucapan. Jika Anda mengatur nilai ini ke angka yang lebih tinggi, model akan menunggu lebih lama untuk mendeteksi akhir ucapan, tetapi mungkin perlu waktu lebih lama untuk merespons.

Default ke 500 milidetik.
create_response Boolean Menunjukkan apakah server akan secara otomatis membuat respons saat PPN diaktifkan dan ucapan berhenti.

Default ke true.

RealtimeTurnDetectionType

Nilai yang Diizinkan:

  • server_vad

RealtimeVoice

Nilai yang Diizinkan:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse