Bagikan melalui


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, failedcompleted, 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, failedcompleted, 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.