Referensi 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.
Membuat asisten
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Buat asisten dengan model dan instruksi.
Isi permintaan
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
model | string | Wajib | Nama penyebaran model model yang akan digunakan. |
nama | string atau null | Opsional | Nama asisten. Panjang maksimum adalah 256 karakter. |
description | string atau null | Opsional | Penjabaran dari asisten. Panjang maksimum adalah 512 karakter. |
petunjuk | string atau null | Opsional | Instruksi sistem yang digunakan asisten. Panjang maksimum adalah 256.000 karakter. |
alat | array | Opsional | Default ke []. Daftar alat yang diaktifkan pada asisten. Mungkin ada maksimal 128 alat per asisten. Alat saat ini dapat dari jenis code_interpreter , atau function . Deskripsi function dapat maksimal 1.024 karakter. |
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. |
suhu | angka atau null | Opsional | Default ke 1. Menentukan 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. |
top_p | angka atau null | Opsional | Default ke 1. 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. |
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. Mengatur parameter ini untuk { "type": "json_object" } mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Yang penting, saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri menggunakan sistem atau pesan pengguna. Tanpa instruksi ini, model dapat menghasilkan aliran spasi kosong yang tidak berujung sampai pembuatan mencapai batas token, yang mengakibatkan permintaan yang berjalan lama dan tampaknya "macet". Selain itu, konten pesan dapat dipotong sebagian jika Anda menggunakan finish_reason="length" , yang menunjukkan pembuatan terlampaui max_tokens atau percakapan melebihi panjang konteks maksimum. |
tool_resources | object | Opsional | Sekumpulan sumber daya yang digunakan oleh alat asisten. Sumber daya khusus untuk jenis alat. Misalnya, alat ini code_interpreter memerlukan daftar ID file, sementara alat ini file_search memerlukan daftar ID penyimpanan vektor. |
jenis response_format
tali
auto
merupakan nilai defaultnya.
object
Nilai yang mungkin type
: text
, json_object
, json_schema
.
json_schema
Nama | Tipe | Deskripsi | Default | Diperlukan/Opsional |
---|---|---|---|---|
description |
string | Deskripsi untuk apa format respons, digunakan oleh model untuk menentukan cara merespons dalam format. | Opsional | |
name |
string | Nama format respons. Harus a-z, A-Z, 0-9, atau berisi garis bawah dan tanda hubung, dengan panjang maksimum 64. | Wajib | |
schema |
object | Skema untuk format respons, dijelaskan sebagai objek Skema JSON. | Opsional | |
strict |
boolean atau null | Apakah akan mengaktifkan kepatuhan skema yang ketat saat menghasilkan output. Jika diatur ke true, model akan selalu mengikuti skema yang tepat yang ditentukan di schema bidang . Hanya subset Skema JSON yang didukung saat strict adalah true . |
salah | Opsional |
properti tool_resources
code_interpreter
Nama | Tipe | Deskripsi | Default |
---|---|---|---|
file_ids |
array | Daftar ID file yang disediakan untuk alat code_interpreter. Mungkin ada maksimal 20 file yang terkait dengan alat ini. | [] |
file_search
Nama | Tipe | Deskripsi | Diperlukan/Opsional |
---|---|---|---|
vector_store_ids |
array | Penyimpanan vektor yang terpasang pada utas ini. Mungkin ada maksimal 1 penyimpanan vektor yang terpasang pada utas. | Opsional |
vector_stores |
array | Pembantu untuk membuat penyimpanan vektor dengan file_ids dan melampirkannya ke utas ini. Mungkin ada maksimal 1 penyimpanan vektor yang terpasang pada utas. | Opsional |
vector_stores
Nama | Tipe | Deskripsi | Diperlukan/Opsional |
---|---|---|---|
file_ids |
array | Daftar ID file yang akan ditambahkan ke penyimpanan vektor. Mungkin ada maksimal 10000 file di penyimpanan vektor. | Opsional |
chunking_strategy |
object | Strategi penggugusan yang digunakan untuk memotong file. Jika tidak diatur, akan menggunakan strategi otomatis. | Opsional |
metadata |
peta | Set 16 pasangan kunci-nilai yang dapat dilampirkan ke penyimpanan vektor. Ini dapat berguna untuk menyimpan informasi tambahan tentang penyimpanan vektor dalam format terstruktur. Kunci dapat memiliki panjang maksimal 64 karakter dan nilai dapat memiliki panjang maksimal 512 karakter. | Opsional |
chunking_strategy
Nama | Tipe | Deskripsi | Diperlukan/opsional |
---|---|---|---|
Auto Chunking Strategy |
object | Strategi default. Strategi ini saat ini menggunakan max_chunk_size_tokens dari 800 dan chunk_overlap_tokens dari 400 .
type selalu auto |
Wajib |
Static Chunking Strategy |
object |
type Selalu static |
Wajib |
Strategi Penggugusan Statis
Nama | Tipe | Deskripsi | Diperlukan/Opsional |
---|---|---|---|
max_chunk_size_tokens |
Integer | Jumlah maksimum token di setiap gugus. Nilai defaultnya adalah 800 . Nilai minimum adalah 100 dan nilai maksimumnya adalah 4096 . |
Wajib |
chunk_overlap_tokens |
Integer | Jumlah token yang tumpang tindih di antara gugus. Nilai defaultnya adalah 400 . Perhatikan bahwa tumpang tindih tidak boleh melebihi setengah dari max_chunk_size_tokens . |
Wajib |
Mengembalikan
Sebuah objek asisten .
Contoh permintaan buat asisten
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")
)
assistant = client.beta.assistants.create(
instructions="You are an AI assistant that can write code to help answer math questions",
model="<REPLACE WITH MODEL DEPLOYMENT NAME>", # replace with model deployment name.
tools=[{"type": "code_interpreter"}]
)
Mencantumkan asisten
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Mengembalikan daftar semua asisten.
Parameter kueri
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
limit |
Integer | Opsional | 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.
after 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.
before 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 asisten
Contoh asisten 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")
)
my_assistants = client.beta.assistants.list(
order="desc",
limit="20",
)
print(my_assistants.data)
Mengambil asisten
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Mengambil asisten.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
assistant_id |
string | Wajib | ID asisten yang akan diambil. |
Kembali
Objek asisten yang cocok dengan ID yang ditentukan.
Contoh mengambil asisten
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
my_assistant = client.beta.assistants.retrieve("asst_abc123")
print(my_assistant)
Mengubah asisten
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Memodifikasi asisten.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
assistant_id | string | Wajib | ID asisten tempat file berada. |
Isi Permintaan
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
model |
Opsional | Nama penyebaran model model yang akan digunakan. | |
name |
string atau null | Opsional | Nama asisten. Panjang maksimum adalah 256 karakter. |
description |
string atau null | Opsional | Penjabaran dari asisten. Panjang maksimum adalah 512 karakter. |
instructions |
string atau null | Opsional | Instruksi sistem yang digunakan asisten. Panjang maksimum adalah 32768 karakter. |
tools |
array | Opsional | Default ke []. Daftar alat yang diaktifkan pada asisten. Mungkin ada maksimal 128 alat per asisten. Alat bisa dari jenis code_interpreter, atau fungsi. Deskripsi function dapat maksimal 1.024 karakter. |
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 |
angka atau null | Opsional | Default ke 1. Menentukan 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. |
top_p |
angka atau null | Opsional | Default ke 1. 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. |
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. Mengatur parameter ini untuk { "type": "json_object" } mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Yang penting, saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri menggunakan sistem atau pesan pengguna. Tanpa instruksi ini, model dapat menghasilkan aliran spasi kosong yang tidak berujung sampai pembuatan mencapai batas token, yang mengakibatkan permintaan yang berjalan lama dan tampaknya "macet". Selain itu, konten pesan dapat dipotong sebagian jika Anda menggunakan finish_reason="length" , yang menunjukkan pembuatan terlampaui max_tokens atau percakapan melebihi panjang konteks maksimum. |
tool_resources |
object | Opsional | Sekumpulan sumber daya yang digunakan oleh alat asisten. Sumber daya khusus untuk jenis alat. Misalnya, alat ini code_interpreter memerlukan daftar ID file, sementara alat ini file_search memerlukan daftar ID penyimpanan vektor. |
Kembali
Objek asisten yang dimodifikasi.
Contoh asisten modifikasi
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
my_updated_assistant = client.beta.assistants.update(
"asst_abc123",
instructions="You are an HR bot, and you have access to files to answer employee questions about company policies. Always respond with info from either of the files.",
name="HR Helper",
tools=[{"type": "code-interpreter"}],
model="gpt-4", #model = model deployment name
)
print(my_updated_assistant)
Hapus asisten
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Menghapus asisten.
Parameter jalur
Parameter | Tipe | Wajib | Deskripsi |
---|---|---|---|
assistant_id |
string | Wajib | ID asisten tempat file berada. |
Kembali
Status penghapusan.
Contoh asisten penghapusan
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
response = client.beta.assistants.delete("asst_abc123")
print(response)
Referensi API unggahan file
Asisten menggunakan API yang sama untuk pengunggahan file sebagai penyempurnaan. Saat mengunggah file, Anda harus menentukan nilai yang sesuai untuk parameter tujuan.
Objek asisten
Bidang | Jenis | Deskripsi |
---|---|---|
id |
string | Pengidentifikasi, yang dapat dirujuk di titik akhir API. |
object |
string | Jenis objek, yang selalu asisten. |
created_at |
Integer | Tanda waktu Unix (dalam detik) saat asisten dibuat. |
name |
string atau null | Nama asisten. Panjang maksimum adalah 256 karakter. |
description |
string atau null | Penjabaran dari asisten. Panjang maksimum adalah 512 karakter. |
model |
string | Nama nama penyebaran model yang akan digunakan. |
instructions |
string atau null | Instruksi sistem yang digunakan asisten. Panjang maksimum adalah 32768 karakter. |
tools |
array | Daftar alat yang diaktifkan pada asisten. Mungkin ada maksimal 128 alat per asisten. Alat bisa dari jenis code_interpreter, atau fungsi. Deskripsi function dapat maksimal 1.024 karakter. |
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. |
temperature |
angka atau null | Default ke 1. Menentukan 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. |
top_p |
angka atau null | Default ke 1. 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. |
response_format |
string atau objek | Menentukan format yang harus dihasilkan model. Kompatibel dengan GPT-4 Turbo dan semua model GPT-3.5 Turbo sejak gpt-3.5-turbo-1106. Mengatur parameter ini untuk { "type": "json_object" } mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Yang penting, saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri menggunakan sistem atau pesan pengguna. Tanpa instruksi ini, model dapat menghasilkan aliran spasi kosong yang tidak berujung sampai pembuatan mencapai batas token, yang mengakibatkan permintaan yang berjalan lama dan tampaknya "macet". Selain itu, konten pesan dapat dipotong sebagian jika Anda menggunakan finish_reason="length" , yang menunjukkan pembuatan terlampaui max_tokens atau percakapan melebihi panjang konteks maksimum. |
tool_resources |
object | Sekumpulan sumber daya yang digunakan oleh alat asisten. Sumber daya khusus untuk jenis alat. Misalnya, alat ini code_interpreter memerlukan daftar ID file, sementara alat ini file_search memerlukan daftar ID penyimpanan vektor. |