Referensi eksekusi Assistants API (Pratinjau)
Catatan
- Pencarian file dapat menyerap hingga 10.000 file per asisten - 500 kali lebih banyak dari sebelumnya. Solusi ini cepat, mendukung kueri paralel melalui pencarian multi-utas, dan fitur pemeringkatan ulang dan penulisan ulang kueri yang ditingkatkan.
- Penyimpanan vektor adalah objek baru di API. Setelah file ditambahkan ke penyimpanan vektor, file secara otomatis diurai, dipotong, dan disematkan, dibuat siap untuk dicari. Penyimpanan vektor dapat digunakan di seluruh asisten dan utas, menyederhanakan manajemen dan penagihan file.
- Kami telah menambahkan dukungan untuk
tool_choice
parameter yang dapat digunakan untuk memaksa penggunaan alat tertentu (seperti pencarian file, penerjemah kode, atau fungsi) dalam eksekusi tertentu.
Artikel ini menyediakan dokumentasi referensi untuk Python dan REST untuk Assistants API (Pratinjau) baru. Panduan langkah demi langkah yang lebih mendalam disediakan dalam panduan memulai.
Buat eksekusi
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
Buat eksekusi.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas untuk membuat pesan. |
Badan permintaan
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
assistant_id |
string | Wajib | ID asisten yang digunakan untuk menjalankan eksekusi ini. |
model |
string atau null | Opsional | Nama penyebaran model yang akan digunakan untuk menjalankan eksekusi ini. Jika nilai disediakan di sini, nilai akan mengambil alih nama penyebaran model yang terkait dengan asisten. Jika tidak, nama penyebaran model yang terkait dengan asisten akan digunakan. |
instructions |
string atau null | Opsional | Mengambil alih instruksi asisten. Ini berguna untuk memodifikasi perilaku berdasarkan per-eksekusi. |
additional_instructions |
string | Opsional | Menambahkan instruksi tambahan di akhir instruksi untuk eksekusi. Ini berguna untuk memodifikasi perilaku berdasarkan per-eksekusi tanpa menimpa instruksi lain. |
additional_messages |
array | Opsional | Menambahkan pesan tambahan ke utas sebelum membuat eksekusi. |
tools |
array atau null | Opsional | Ambil alih alat yang dapat digunakan asisten untuk eksekusi ini. Ini berguna untuk memodifikasi perilaku berdasarkan per-eksekusi. |
metadata |
peta | Opsional | Set 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. |
temperature |
number | Opsional | Suhu pengambilan sampel apa yang akan digunakan, antara 0 dan 2. Nilai yang lebih tinggi seperti 0,8 akan membuat output lebih acak, sementara nilai yang lebih rendah seperti 0,2 akan membuatnya lebih fokus dan deterministik. Defaultnya adalah 1. |
top_p |
number | Opsional | Alternatif untuk pengambilan sampel dengan suhu, yang disebut pengambilan sampel nukleus, di mana model mempertimbangkan hasil token dengan massa peluang top_p. Jadi 0,1 berarti hanya token yang terdiri dari 10% massa peluang teratas yang dipertimbangkan. Kami umumnya merekomendasikan untuk mengubah ini atau suhu tetapi tidak keduanya. Defaultnya adalah 1. |
stream |
Boolean | opsional | Jika true , mengembalikan aliran peristiwa yang terjadi selama peristiwa Jalankan sebagai yang dikirim server, mengakhiri saat Eksekusi memasuki status terminal dengan data: [DONE] pesan. |
max_prompt_tokens |
Integer | opsional | Jumlah maksimum token penyelesaian yang mungkin digunakan selama eksekusi. Eksekusi akan berupaya sebaik mungkin untuk hanya menggunakan jumlah token penyelesaian yang ditentukan, di beberapa belokan eksekusi. Jika eksekusi melebihi jumlah token penyelesaian yang ditentukan, eksekusi akan berakhir dengan status incomplete . |
max_completion_tokens |
Integer | opsional | Jumlah maksimum token penyelesaian yang mungkin digunakan selama eksekusi. Eksekusi akan berupaya sebaik mungkin untuk hanya menggunakan jumlah token penyelesaian yang ditentukan, di beberapa belokan eksekusi. Jika eksekusi melebihi jumlah token penyelesaian yang ditentukan, eksekusi akan berakhir dengan status incomplete . |
truncation_strategy |
truncationObject | opsional | Kontrol tentang bagaimana utas akan dipotong sebelum eksekusi. Gunakan ini untuk mengontrol jendela konteks awal eksekusi. |
tool_choice |
string atau objek | opsional | Mengontrol alat mana (jika ada) yang dipanggil oleh model. Nilai none berarti model tidak akan memanggil alat apa pun dan sebaliknya menghasilkan pesan. auto adalah nilai default dan berarti model dapat memilih antara menghasilkan pesan atau memanggil alat. Menentukan alat tertentu seperti {"type": "file_search"} atau {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil alat tersebut. |
response_format |
string atau objek | opsional | Menentukan format yang harus dihasilkan model. Kompatibel dengan GPT-4 Turbo dan semua model GPT-3.5 Turbo sejak gpt-3.5-turbo-1106 . Pengaturan untuk { "type": "json_object" } mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Penting: saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri melalui sistem atau pesan pengguna. Tanpa ini, model mungkin menghasilkan aliran spasi kosong yang tidak berujung hingga pembuatan mencapai batas token, yang mengakibatkan permintaan yang berjalan lama dan tampaknya "macet". Perhatikan juga bahwa konten pesan mungkin dipotong sebagian jika finish_reason="length" , yang menunjukkan pembuatan terlampaui max_tokens atau percakapan melebihi panjang konteks maksimum. |
Mengembalikan
Objek eksekusi.
Contoh membuat permintaan eksekusi
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.runs.create(
thread_id="thread_abc123",
assistant_id="asst_abc123"
)
print(run)
Membuat utas dan menjalankan
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/runs?api-version=2024-08-01-preview
Buat utas dan jalankan dalam satu permintaan.
Isi Permintaan
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
assistant_id |
string | Wajib | ID asisten yang digunakan untuk menjalankan eksekusi ini. |
thread |
object | Opsional | |
model |
string atau null | Opsional | ID nama penyebaran Model yang akan digunakan untuk menjalankan eksekusi ini. Jika nilai disediakan di sini, nilai akan mengambil alih nama penyebaran model yang terkait dengan asisten. Jika tidak, nama penyebaran model yang terkait dengan asisten akan digunakan. |
instructions |
string atau null | Opsional | Ambil alih pesan sistem default asisten. Ini berguna untuk memodifikasi perilaku berdasarkan per-eksekusi. |
tools |
array atau null | Opsional | Ambil alih alat yang dapat digunakan asisten untuk eksekusi ini. Ini berguna untuk memodifikasi perilaku berdasarkan per-eksekusi. |
metadata |
peta | Opsional | Set 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. |
temperature |
number | Opsional | Suhu pengambilan sampel apa yang akan digunakan, antara 0 dan 2. Nilai yang lebih tinggi seperti 0,8 akan membuat output lebih acak, sementara nilai yang lebih rendah seperti 0,2 akan membuatnya lebih fokus dan deterministik. Defaultnya adalah 1. |
top_p |
number | Opsional | Alternatif untuk pengambilan sampel dengan suhu, yang disebut pengambilan sampel nukleus, di mana model mempertimbangkan hasil token dengan massa peluang top_p. Jadi 0,1 berarti hanya token yang terdiri dari 10% massa peluang teratas yang dipertimbangkan. Kami umumnya merekomendasikan untuk mengubah ini atau suhu tetapi tidak keduanya. Defaultnya adalah 1. |
stream |
Boolean | opsional | Jika true , mengembalikan aliran peristiwa yang terjadi selama peristiwa Jalankan sebagai yang dikirim server, mengakhiri saat Eksekusi memasuki status terminal dengan data: [DONE] pesan. |
max_prompt_tokens |
Integer | opsional | Jumlah maksimum token penyelesaian yang mungkin digunakan selama eksekusi. Eksekusi akan berupaya sebaik mungkin untuk hanya menggunakan jumlah token penyelesaian yang ditentukan, di beberapa belokan eksekusi. Jika eksekusi melebihi jumlah token penyelesaian yang ditentukan, eksekusi akan berakhir dengan status incomplete . |
max_completion_tokens |
Integer | opsional | Jumlah maksimum token penyelesaian yang mungkin digunakan selama eksekusi. Eksekusi akan berupaya sebaik mungkin untuk hanya menggunakan jumlah token penyelesaian yang ditentukan, di beberapa belokan eksekusi. Jika eksekusi melebihi jumlah token penyelesaian yang ditentukan, eksekusi akan berakhir dengan status incomplete . |
truncation_strategy |
truncationObject | opsional | Kontrol tentang bagaimana utas akan dipotong sebelum eksekusi. Gunakan ini untuk mengontrol jendela konteks awal eksekusi. |
tool_choice |
string atau objek | opsional | Mengontrol alat mana (jika ada) yang dipanggil oleh model. Nilai none berarti model tidak akan memanggil alat apa pun dan sebaliknya menghasilkan pesan. auto adalah nilai default dan berarti model dapat memilih antara menghasilkan pesan atau memanggil alat. Menentukan alat tertentu seperti {"type": "file_search"} atau {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil alat tersebut. |
response_format |
string atau objek | opsional | Menentukan format yang harus dihasilkan model. Kompatibel dengan GPT-4 Turbo dan semua model GPT-3.5 Turbo sejak gpt-3.5-turbo-1106 . Pengaturan untuk { "type": "json_object" } mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Penting: saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri melalui sistem atau pesan pengguna. Tanpa ini, model mungkin menghasilkan aliran spasi kosong yang tidak berujung hingga pembuatan mencapai batas token, yang mengakibatkan permintaan yang berjalan lama dan tampaknya "macet". Perhatikan juga bahwa konten pesan mungkin dipotong sebagian jika finish_reason="length" , yang menunjukkan pembuatan terlampaui max_tokens atau percakapan melebihi panjang konteks maksimum. |
Mengembalikan
Objek eksekusi.
Contoh membuat utas dan menjalankan permintaan
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.create_and_run(
assistant_id="asst_abc123",
thread={
"messages": [
{"role": "user", "content": "Explain deep learning to a 5 year old."}
]
}
)
Daftar berjalan
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs?api-version=2024-08-01-preview
Mengembalikan daftar eksekusi milik utas.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas tempat eksekusi berada. |
Parameter Kueri:
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
limit |
Integer | Opsional - Default ke 20 | Batas jumlah objek yang akan dikembalikan. Batas dapat berkisar antara 1 dan 100, dan defaultnya adalah 20. |
order |
string | Opsional - Default ke desc | Urutkan urutan menurut tanda waktu created_at objek. naik untuk urutan naik dan turun untuk urutan turun. |
after |
string | Opsional | Kursor untuk digunakan dalam penomoran halaman. setelah adalah ID objek yang menentukan tempat Anda dalam daftar. Misalnya, jika Anda membuat permintaan daftar dan menerima 100 objek, berakhir dengan obj_foo, panggilan berikutnya dapat menyertakan after=obj_foo untuk mengambil halaman berikutnya dari daftar. |
before |
string | Opsional | Kursor untuk digunakan dalam penomoran halaman. sebelumnya adalah ID objek yang menentukan tempat Anda dalam daftar. Misalnya, jika Anda membuat permintaan daftar dan menerima 100 objek, berakhir dengan obj_foo, panggilan berikutnya dapat menyertakan before=obj_foo untuk mengambil halaman sebelumnya dari daftar. |
Mengembalikan
Daftar objek eksekusi .
Contoh permintaan eksekusi daftar
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
runs = client.beta.threads.runs.list(
"thread_abc123"
)
print(runs)
Mencantumkan langkah-langkah eksekusi
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps?api-version=2024-08-01-preview
Mengembalikan daftar langkah-langkah milik eksekusi.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas tempat eksekusi berada. |
run_id |
string | Wajib | ID eksekusi yang terkait dengan langkah-langkah eksekusi yang akan dikueri. |
Parameter kueri
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
limit |
Integer | Opsional - Default ke 20 | Batas jumlah objek yang akan dikembalikan. Batas dapat berkisar antara 1 dan 100, dan defaultnya adalah 20. |
order |
string | Opsional - Default ke desc | Urutkan urutan menurut tanda waktu created_at objek. naik untuk urutan naik dan turun untuk urutan turun. |
after |
string | Opsional | Kursor untuk digunakan dalam penomoran halaman. setelah adalah ID objek yang menentukan tempat Anda dalam daftar. Misalnya, jika Anda membuat permintaan daftar dan menerima 100 objek, berakhir dengan obj_foo, panggilan berikutnya dapat menyertakan after=obj_foo untuk mengambil halaman berikutnya dari daftar. |
before |
string | Opsional | Kursor untuk digunakan dalam penomoran halaman. sebelumnya adalah ID objek yang menentukan tempat Anda dalam daftar. Misalnya, jika Anda membuat permintaan daftar dan menerima 100 objek, berakhir dengan obj_foo, panggilan berikutnya dapat menyertakan before=obj_foo untuk mengambil halaman sebelumnya dari daftar. |
Mengembalikan
Daftar objek langkah eksekusi.
Contoh permintaan langkah-langkah eksekusi daftar
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run_steps = client.beta.threads.runs.steps.list(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run_steps)
Mengambil eksekusi
from openai import OpenAI
client = OpenAI()
run = client.beta.threads.runs.retrieve(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Mengambil eksekusi.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas yang dijalankan. |
run_id |
string | Wajib | ID eksekusi yang akan diambil. |
Mengembalikan
Objek eksekusi yang cocok dengan ID eksekusi yang ditentukan.
Contoh permintaan langkah-langkah eksekusi daftar
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.runs.retrieve(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Ambil langkah eksekusi
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/steps/{step_id}?api-version=2024-08-01-preview
Mengambil langkah eksekusi.
Parameter Jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas tempat langkah eksekusi dan eksekusi berada. |
run_id |
string | Wajib | ID eksekusi tempat langkah eksekusi berada. |
step_id |
string | Wajib | ID langkah eksekusi untuk diambil. |
Mengembalikan
Objek langkah eksekusi cocok dengan ID yang ditentukan.
Contoh mengambil permintaan langkah eksekusi
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run_step = client.beta.threads.runs.steps.retrieve(
thread_id="thread_abc123",
run_id="run_abc123",
step_id="step_abc123"
)
print(run_step)
Ubah eksekusi
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}?api-version=2024-08-01-preview
Memodifikasi eksekusi.
Parameter Jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas yang dijalankan. |
run_id |
string | Wajib | ID eksekusi yang akan diubah. |
Badan permintaan
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
metadata |
peta | Opsional | Set 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. |
Mengembalikan
Objek eksekusi yang dimodifikasi cocok dengan ID yang ditentukan.
Contoh mengubah permintaan eksekusi
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.runs.update(
thread_id="thread_abc123",
run_id="run_abc123",
metadata={"user_id": "user_abc123"},
)
print(run)
Kirim output alat untuk dijalankan
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/submit_tool_outputs?api-version=2024-08-01-preview
Ketika eksekusi memiliki status: "requires_action" dan required_action.type submit_tool_outputs, titik akhir ini dapat digunakan untuk mengirimkan output dari panggilan alat setelah semuanya selesai. Semua output harus dikirimkan dalam satu permintaan.
Parameter Jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas tempat eksekusi ini berada. |
run_id |
string | Wajib | ID eksekusi yang memerlukan pengiriman output alat. |
Badan permintaan
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
tool_outputs |
array | Wajib | Daftar alat yang outputnya sedang dikirimkan. |
stream |
Boolean | Opsional | Jika true , mengembalikan aliran peristiwa yang terjadi selama peristiwa Jalankan sebagai yang dikirim server, mengakhiri saat Eksekusi memasuki status terminal dengan data: [DONE] pesan. |
Mengembalikan
Objek eksekusi yang dimodifikasi cocok dengan ID yang ditentukan.
Contoh mengirimkan output alat untuk menjalankan permintaan
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.runs.submit_tool_outputs(
thread_id="thread_abc123",
run_id="run_abc123",
tool_outputs=[
{
"tool_call_id": "call_abc123",
"output": "28C"
}
]
)
print(run)
Membatalkan eksekusi
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/runs/{run_id}/cancel?api-version=2024-08-01-preview
Membatalkan eksekusi yang in_progress.
Parameter Jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
thread_id |
string | Wajib | ID utas tempat eksekusi ini berada. |
run_id |
string | Wajib | ID eksekusi yang akan dibatalkan. |
Mengembalikan
Objek eksekusi yang dimodifikasi cocok dengan ID yang ditentukan.
Contoh mengirimkan output alat untuk menjalankan permintaan
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.runs.cancel(
thread_id="thread_abc123",
run_id="run_abc123"
)
print(run)
Jalankan objek
Mewakili eksekusi yang dijalankan pada utas.
Nama | Tipe | Deskripsi |
---|---|---|
id |
string | Pengidentifikasi, yang dapat dirujuk di titik akhir API. |
object |
string | Jenis objek, yang selalu thread.run. |
created_at |
Integer | Tanda waktu Unix (dalam detik) saat eksekusi dibuat. |
thread_id |
string | ID utas yang dijalankan sebagai bagian dari eksekusi ini. |
assistant_id |
string | ID asisten yang digunakan untuk eksekusi eksekusi ini. |
status |
string | Status eksekusi, yang dapat berupa queued , , in_progress , requires_action , cancelling , cancelled , failed completed , atau expired . |
required_action |
objek atau null | Detail tentang tindakan yang diperlukan untuk melanjutkan eksekusi. Akan null jika tidak ada tindakan yang diperlukan. |
last_error |
objek atau null | Kesalahan terakhir yang terkait dengan eksekusi ini. Akan null jika tidak ada kesalahan. |
expires_at |
Integer | Tanda waktu Unix (dalam detik) saat eksekusi akan kedaluwarsa. |
started_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat eksekusi dimulai. |
cancelled_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat eksekusi dibatalkan. |
failed_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat eksekusi gagal. |
completed_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat eksekusi selesai. |
model |
string | Nama penyebaran model yang digunakan asisten untuk eksekusi ini. |
instructions |
string | Instruksi yang digunakan asisten untuk eksekusi ini. |
tools |
array | Daftar alat yang digunakan asisten untuk eksekusi ini. |
file_ids |
array | Daftar ID File yang digunakan asisten untuk eksekusi ini. |
metadata |
peta | Set 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. |
tool_choice |
string atau objek | Mengontrol alat mana (jika ada) yang dipanggil oleh model. none berarti model tidak akan memanggil alat apa pun dan sebaliknya menghasilkan pesan. auto adalah nilai default dan berarti model dapat memilih antara menghasilkan pesan atau memanggil alat. Menentukan alat tertentu seperti {"type": "file_search"} atau {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil alat tersebut. |
max_prompt_tokens |
bilangan bulat atau null | Jumlah maksimum token prompt yang ditentukan telah digunakan selama eksekusi. |
max_completion_tokens |
bilangan bulat atau null | Jumlah maksimum token penyelesaian yang ditentukan telah digunakan selama eksekusi. |
usage |
objek atau null | Statistik penggunaan yang terkait dengan eksekusi. Nilai ini akan null jika eksekusi tidak dalam status terminal (misalnya in_progress , queued ). |
truncation_strategy |
object | Kontrol tentang bagaimana utas akan dipotong sebelum eksekusi. |
response_format |
string | Format yang harus dihasilkan model. Kompatibel dengan GPT-4 Turbo dan semua model GPT-3.5 Turbo sejak gpt-3.5-turbo-1106 . |
tool_choice |
string | Mengontrol alat mana (jika ada) yang dipanggil oleh model. none berarti model tidak akan memanggil alat apa pun dan sebaliknya menghasilkan pesan. auto adalah nilai default dan berarti model dapat memilih antara menghasilkan pesan atau memanggil alat. |
Jalankan objek langkah
Mewakili langkah dalam eksekusi eksekusi.
Nama | Tipe | Deskripsi |
---|---|---|
id |
string | Pengidentifikasi langkah eksekusi, yang dapat dirujuk di titik akhir API. |
object |
string | Jenis objek, yang selalu thread.run.step. |
created_at |
Integer | Tanda waktu Unix (dalam detik) saat langkah eksekusi dibuat. |
assistant_id |
string | ID asisten yang terkait dengan langkah eksekusi. |
thread_id |
string | ID utas yang dijalankan. |
run_id |
string | ID eksekusi yang merupakan bagian dari langkah eksekusi ini. |
type |
string | Jenis langkah eksekusi, yang dapat berupa message_creation atau tool_calls. |
status |
string | Status langkah eksekusi, yang dapat berupa in_progress , , cancelled , failed completed , atau expired . |
step_details |
object | Detail langkah eksekusi. |
last_error |
objek atau null | Kesalahan terakhir yang terkait dengan langkah eksekusi ini. Akan null jika tidak ada kesalahan. |
expired_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat langkah eksekusi kedaluwarsa. Langkah dianggap kedaluwarsa jika eksekusi induk kedaluwarsa. |
cancelled_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat langkah eksekusi dibatalkan. |
failed_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat langkah eksekusi gagal. |
completed_at |
bilangan bulat atau null | Tanda waktu Unix (dalam detik) saat langkah eksekusi selesai. |
metadata |
peta | Set 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. |
Mengalirkan hasil eksekusi (pratinjau)
Streaming hasil menjalankan Eksekusi atau memulai kembali Eksekusi setelah mengirimkan output alat. Anda dapat melakukan streaming peristiwa setelah:
Untuk melakukan streaming hasil, teruskan "stream": true
saat membuat eksekusi. Responsnya akan menjadi aliran peristiwa Yang Dikirim Server.
Contoh streaming
from typing_extensions import override
from openai import AssistantEventHandler
# First, we create a EventHandler class to define
# how we want to handle the events in the response stream.
class EventHandler(AssistantEventHandler):
@override
def on_text_created(self, text) -> None:
print(f"\nassistant > ", end="", flush=True)
@override
def on_text_delta(self, delta, snapshot):
print(delta.value, end="", flush=True)
def on_tool_call_created(self, tool_call):
print(f"\nassistant > {tool_call.type}\n", flush=True)
def on_tool_call_delta(self, delta, snapshot):
if delta.type == 'code_interpreter':
if delta.code_interpreter.input:
print(delta.code_interpreter.input, end="", flush=True)
if delta.code_interpreter.outputs:
print(f"\n\noutput >", flush=True)
for output in delta.code_interpreter.outputs:
if output.type == "logs":
print(f"\n{output.logs}", flush=True)
# Then, we use the `create_and_stream` SDK helper
# with the `EventHandler` class to create the Run
# and stream the response.
with client.beta.threads.runs.stream(
thread_id=thread.id,
assistant_id=assistant.id,
instructions="Please address the user as Jane Doe. The user has a premium account.",
event_handler=EventHandler(),
) as stream:
stream.until_done()
Objek pemotongan
Kontrol tentang bagaimana utas akan dipotong sebelum eksekusi. Gunakan ini untuk mengontrol jendela konteks awal eksekusi.
Nama | Tipe | Deskripsi | Wajib diisi |
---|---|---|---|
type |
string | Strategi pemotongan yang digunakan untuk utas. Default adalah auto . Jika diatur ke last_messages , utas akan dipotong ke n pesan terbaru di utas. Ketika diatur ke auto , pesan di tengah utas akan dihilangkan agar sesuai dengan panjang konteks model, max_prompt_tokens . |
Ya |
last_messages |
Integer | Jumlah pesan terbaru dari utas saat membuat konteks untuk eksekusi. | No |
Objek delta pesan
Mewakili delta pesan. Misalnya bidang yang diubah pada pesan selama streaming.
Nama | Tipe | Deskripsi |
---|---|---|
id |
string | Pengidentifikasi pesan, yang dapat dirujuk di titik akhir API. |
object |
string | Jenis objek, yang selalu thread.message.delta . |
delta |
object | Delta yang berisi bidang yang telah berubah pada Pesan. |
Jalankan objek delta langkah
Mewakili delta langkah eksekusi. Misalnya setiap bidang yang diubah pada langkah eksekusi selama streaming.
Nama | Tipe | Deskripsi |
---|---|---|
id |
string | Pengidentifikasi langkah eksekusi, yang dapat dirujuk di titik akhir API. |
object |
string | Jenis objek, yang selalu thread.run.step.delta . |
delta |
object | Delta yang berisi bidang yang telah berubah pada langkah eksekusi. |
Peristiwa aliran asisten
Mewakili peristiwa yang dipancarkan saat melakukan streaming Eksekusi. Setiap peristiwa dalam aliran peristiwa yang dikirim server memiliki properti peristiwa dan data:
event: thread.created
data: {"id": "thread_123", "object": "thread", ...}
Peristiwa dipancarkan setiap kali objek baru dibuat, transisi ke status baru, atau sedang dialirkan di bagian (delta). Misalnya, thread.run.created
dipancarkan saat eksekusi baru dibuat, thread.run.completed
saat eksekusi selesai, dan sebagainya. Saat Asisten memilih untuk membuat pesan selama eksekusi, kami memancarkan thread.message.created
peristiwa, thread.message.in_progress
peristiwa, banyak utas.message.delta
peristiwa, dan akhirnya peristiwa thread.message.completed
.
Nama | Tipe | Deskripsi |
---|---|---|
thread.created |
data adalah utas. |
Terjadi ketika utas baru dibuat. |
thread.run.created |
data adalah sebuah eksekusi. |
Terjadi ketika eksekusi baru dibuat. |
thread.run.queued |
data adalah sebuah eksekusi. |
Terjadi saat eksekusi berpindah ke status antrean. |
thread.run.in_progress |
data adalah sebuah eksekusi. |
Terjadi ketika eksekusi berpindah ke status in_progress. |
thread.run.requires_action |
data adalah sebuah eksekusi. |
Terjadi saat eksekusi berpindah ke requires_action status. |
thread.run.completed |
data adalah sebuah eksekusi. |
Terjadi ketika eksekusi selesai. |
thread.run.failed |
data adalah sebuah eksekusi. |
Terjadi ketika eksekusi gagal. |
thread.run.cancelling |
data adalah sebuah eksekusi. |
Terjadi saat eksekusi berpindah ke cancelling status. |
thread.run.cancelled |
data adalah sebuah eksekusi. |
Terjadi ketika eksekusi dibatalkan. |
thread.run.expired |
data adalah sebuah eksekusi. |
Terjadi ketika eksekusi kedaluwarsa. |
thread.run.step.created |
data adalah langkah eksekusi. |
Terjadi ketika langkah eksekusi dibuat. |
thread.run.step.in_progress |
data adalah langkah eksekusi. |
Terjadi ketika langkah eksekusi berpindah ke status in_progress . |
thread.run.step.delta |
data adalah delta langkah eksekusi. |
Terjadi ketika bagian dari langkah eksekusi sedang dialirkan. |
thread.run.step.completed |
data adalah langkah eksekusi. |
Terjadi ketika langkah eksekusi selesai. |
thread.run.step.failed |
data adalah langkah eksekusi. |
Terjadi ketika langkah eksekusi gagal. |
thread.run.step.cancelled |
data adalah langkah eksekusi. |
Terjadi ketika langkah eksekusi dibatalkan. |
thread.run.step.expired |
data adalah langkah eksekusi. |
Terjadi ketika langkah eksekusi kedaluwarsa. |
thread.message.created |
data adalah pesan. |
Terjadi saat pesan dibuat. |
thread.message.in_progress |
data adalah pesan. |
Terjadi ketika pesan berpindah ke status in_progress. |
thread.message.delta |
data adalah delta pesan. |
Terjadi ketika bagian Pesan sedang dialirkan. |
thread.message.completed |
data adalah pesan. |
Terjadi ketika pesan selesai. |
thread.message.incomplete |
data adalah pesan. |
Terjadi ketika pesan berakhir sebelum selesai. |
error |
data adalah kesalahan. |
Terjadi ketika terjadi kesalahan. Ini dapat terjadi karena kesalahan server internal atau waktu habis. |
done |
data is [DONE] |
Terjadi saat aliran berakhir. |