Keluaran streaming Assistant API menyediakan hasil secara real-time dari Assistant dalam bentuk event stream yang berisi informasi status dan pesan percakapan dari runtime Assistant. Untuk memproses pesan-pesan tersebut, Anda perlu memahami objek message delta dan objek run step delta.
PentingAssistant API sedang ditinggalkan. Migrasikan ke Responses API, yang menawarkan alat bawaan dan manajemen konteks multi-turn.
Message delta object
Event name: thread.message.delta
Fragmen pesan yang dihasilkan oleh Large Language Model (LLM) selama eksekusi streaming.
Field name | Type | Description |
|---|---|---|
id | string | Identifier pesan. |
object | string | Jenis objek. Nilainya sama dengan nama event. Selalu bernilai `thread.message.delta`. |
delta | object | Objek fragmen pesan yang dihasilkan oleh LLM. |
delta.role | string | Peran yang menghasilkan pesan tersebut. Nilainya dapat berupa `user` atau `assistant`. |
delta.file_ids | array | Bidang ini tidak digunakan. |
delta.content | object | Objek konten pesan. |
delta.content.type | string | Jenis konten pesan. Selalu bernilai `text`. |
delta.content.text | object | Objek konten teks dalam pesan. |
delta.content.text.annotations | array | Bidang ini tidak digunakan. |
delta.content.text.value | string | Konten teks dalam pesan. |
{
"delta": {
"content": {
"text": {
"annotations": [],
"value": "[REDACTED]"
},
"type": "text"
},
"role": "[REDACTED]",
"file_ids": []
},
"id": "[REDACTED]",
"object": "thread.message.delta",
"request_id": "[REDACTED]",
"status_code": 200
}
Run step delta object
Event name: thread.run.step.delta
Fragmen pesan yang dikembalikan oleh pemanggilan alat selama eksekusi streaming.
Field Name | Type | Description |
|---|---|---|
id | string | Identifier langkah eksekusi (run step). |
object | string | Jenis objek. Nilainya sama dengan nama event. Selalu bernilai `thread.run.step.delta`. |
delta | object | Objek fragmen pesan yang dikembalikan oleh pemanggilan alat. |
delta.step_details | object | Objek informasi detail langkah untuk fragmen tersebut. |
delta.step_details.type | string | Jenis detail langkah. Nilainya dapat berupa `message_creation` atau `tool_calls`. |
delta.step_details.message_creation | object | Detail pesan yang dibuat dalam langkah tersebut. |
delta.step_details.message_creation.type | string | Selalu bernilai `message_creation`. |
delta.step_details.message_creation.message_id | string | ID pesan yang dibuat dalam langkah ini. |
delta.step_details.tool_calls | array | Daftar detail untuk pemanggilan alat. |
delta.step_details.tool_calls.type | string | Jenis pemanggilan alat. Nilainya dapat berupa `code_interpreter`, `quark_search`, `text_to_image`, atau `calculator`. |
delta.step_details.tool_calls.code_interpreter | object | Objek pesan untuk code interpreter. |
delta.step_details.tool_calls.code_interpreter.arguments | string | Parameter input untuk code interpreter. Ini mencakup jenis kode dan kode lengkapnya. Dihasilkan oleh LLM. |
delta.step_details.tool_calls.code_interpreter.output | string | Parameter output dari code interpreter. Ini mencakup hasil eksekusi. Dihasilkan oleh code interpreter. |
delta.step_details.tool_calls.quark_search | object | Objek pesan untuk Quark Search. |
delta.step_details.tool_calls.quark_search.arguments | string | Parameter input untuk Quark Search. Ini mencakup pernyataan kueri yang ditulis ulang. Dihasilkan oleh LLM. |
delta.step_details.tool_calls.quark_search.output | string | Parameter output dari Quark Search. Ini mencakup penanda keberhasilan, kode kesalahan, pesan kesalahan, dan daftar hasil pencarian (judul, alamat, deskripsi, jenis, sumber pesan). Dihasilkan oleh Quark Search. |
delta.step_details.tool_calls.text_to_image | object | Objek pesan untuk text-to-image. |
delta.step_details.tool_calls.text_to_image.arguments | string | Parameter input untuk text-to-image. Ini mencakup nama model, gaya, ukuran gambar, jumlah gambar, petunjuk positif, dan prompt negatif. Dihasilkan oleh LLM. |
delta.step_details.tool_calls.text_to_image.output | string | Parameter output dari text-to-image. Ini mencakup ID permintaan, ID tugas, status tugas, waktu pengiriman, perkiraan waktu selesai, waktu akhir, hasil yang dihasilkan, jumlah gambar, penanda keberhasilan, dan penanda kegagalan. Dihasilkan oleh alat text-to-image. |
delta.step_details.tool_calls.calculator | object | Objek pesan untuk kalkulator. |
delta.step_details.tool_calls.calculator.arguments | string | Parameter input untuk kalkulator. Ini mencakup rumus input dan header permintaan. Dihasilkan oleh LLM. |
delta.step_details.tool_calls.calculator.output | string | Parameter output dari kalkulator. Ini mencakup rumus dan hasilnya. Dihasilkan oleh kalkulator. |
CatatanAlat code interpreter, Quark Search, text-to-image, dan calculator mendukung keluaran streaming.
Alat lain pada Assistant API tidak mendukung keluaran streaming. Untuk mengambil hasil pemanggilan alat tersebut dalam keluaran streaming, gunakan metode pemanggilan alat standar. Untuk informasi lebih lanjut, lihat bagian terkait di Ikhtisar pemanggilan alat.
{
"delta": {
"step_details": {
"tool_calls": [
{
"code_interpreter": {
"output": [],
"arguments": "[REDACTED]"
},
"type": "code_interpreter"
}
],
"type": "tool_calls"
}
},
"id": "[REDACTED]",
"object": "thread.run.step.delta",
"request_id": "[REDACTED]",
"status_code": 200
}
Assistant event stream
Event yang terjadi saat Anda menjalankan Assistant dalam mode streaming.
Pada Assistant API, event stream terdiri dari event dan data:
-
event: Server mengirimkan event ketika objek baru dibuat, status berubah, atau konten dialirkan.Contohnya, event dikirim saat run baru dibuat (
thread.run.created) atau saat run selesai (thread.run.completed). -
data: Berisi data rinci terkait event tersebut.Contohnya, dapat berisi status, teks, pesan alat, atau kesalahan.
event: thread.created
data: {"id": "thread_123", "object": "thread", ...}
Event name | Data type | Description |
|---|---|---|
thread.created | thread | Terjadi saat thread baru dibuat. |
thread.run.created | run | Terjadi saat run baru dibuat. |
thread.run.queued | run | Terjadi saat run berpindah ke status `queued`. |
thread.run.in_progress | run | Terjadi saat run berpindah ke status `in_progress`. |
thread.run.requires_action | run | Terjadi saat run berpindah ke status `requires_action`. |
thread.run.completed | run | Terjadi saat run selesai. |
thread.run.failed | run | Terjadi saat run gagal. |
thread.run.cancelled | run | Terjadi saat run dibatalkan. |
thread.run.expired | run | Terjadi saat run kedaluwarsa. |
thread.run.step.created | run step | Terjadi saat langkah run dibuat. |
thread.run.step.in_progress | run step | Terjadi saat langkah run berpindah ke status `in_progress`. |
thread.run.step.delta | run step delta | Terjadi saat sebagian konten langkah run dialirkan. |
thread.run.step.completed | run step | Terjadi saat langkah run selesai. |
thread.run.step.failed | run step | Terjadi saat langkah run gagal. |
thread.run.step.cancelled | run step | Terjadi saat langkah run dibatalkan. |
thread.run.step.expired | run step | Terjadi saat langkah run kedaluwarsa. |
thread.message.created | message | Terjadi saat pesan dibuat. |
thread.message.in_progress | message | Terjadi saat pesan memasuki status `in_progress`. |
thread.message.delta | message delta | Terjadi saat sebagian konten pesan dialirkan. |
thread.message.completed | message | Terjadi saat pesan selesai. |
thread.message.incomplete | message | Terjadi saat pesan berakhir sebelum selesai sepenuhnya. |
error | error | Dipicu saat terjadi kesalahan. Hal ini dapat disebabkan oleh kesalahan server internal atau timeout. |
FAQ
- Jika Anda mengalami kesalahan eksekusi kode saat mengonfigurasi keluaran streaming, lihat Pesan kesalahan untuk memecahkan masalah tersebut.
- Untuk mempelajari cara mengonfigurasi keluaran streaming untuk Assistant API, lihat Panduan Cepat untuk keluaran streaming Assistant API.