Referensi: Penyelesaian Obrolan | Azure Pembelajaran Mesin
Membuat respons model untuk percakapan obrolan yang diberikan.
POST /chat/completions?api-version=2024-04-01-preview
Parameter URI
Nama | Dalam | Wajib | Tipe | Deskripsi |
---|---|---|---|---|
versi-api | pertanyaan | Benar | string | Versi API dalam format "YYYY-MM-DD" atau "YYYY-MM-DD-preview". |
Header Permintaan
Nama | Wajib | Tipe | Deskripsi |
---|---|---|---|
parameter ekstra | string | Perilaku API ketika parameter tambahan ditunjukkan dalam payload. Menggunakan pass-through membuat API untuk meneruskan parameter ke model yang mendasar. Gunakan nilai ini saat Anda ingin meneruskan parameter yang dapat didukung oleh model yang mendasar. Menggunakan ignore membuat API untuk menghilangkan parameter yang tidak didukung. Gunakan nilai ini saat Anda perlu menggunakan payload yang sama di berbagai model, tetapi salah satu parameter tambahan dapat membuat model mengalami kesalahan jika tidak didukung. Menggunakan error membuat API untuk menolak parameter tambahan apa pun dalam payload. Hanya parameter yang ditentukan dalam API ini yang dapat ditunjukkan, atau kesalahan 400 yang dikembalikan. |
|
azureml-model-deployment | string | Nama penyebaran yang ingin Anda rutekan permintaannya. Didukung untuk titik akhir yang mendukung beberapa penyebaran. |
Isi Permintaan
Nama | Wajib | Tipe | Deskripsi |
---|---|---|---|
pesan | Benar | ChatCompletionRequestMessage | Daftar pesan yang terdiri dari percakapan sejauh ini. Mengembalikan kesalahan 422 jika setidaknya beberapa pesan tidak dapat dipahami oleh model. |
frequency_penalty | number | Membantu mencegah pengulangan kata dengan mengurangi kemungkinan kata dipilih jika sudah digunakan. Semakin tinggi penalti frekuensi, semakin kecil kemungkinan model mengulangi kata yang sama dalam outputnya. Mengembalikan kesalahan 422 jika nilai atau parameter tidak didukung oleh model. | |
max_tokens | Integer | Jumlah maksimum token yang dapat dihasilkan dalam penyelesaian obrolan. Panjang total token input dan token yang dihasilkan dibatasi oleh panjang konteks model. Melewati null menyebabkan model menggunakan panjang konteks maksimumnya. |
|
presence_penalty | number | Membantu mencegah topik yang sama diulang dengan menghukut kata jika sudah ada dalam penyelesaian, bahkan hanya sekali. Mengembalikan kesalahan 422 jika nilai atau parameter tidak didukung oleh model. | |
response_format | ChatCompletionResponseFormat | ||
seed | Integer | Jika ditentukan, sistem kami akan melakukan upaya terbaik untuk sampel secara deterministik, sehingga permintaan berulang dengan yang sama seed dan parameter harus mengembalikan hasil yang sama. Determinisme tidak dijamin, dan Anda harus merujuk ke system_fingerprint parameter respons untuk memantau perubahan di backend. |
|
stop | Urutan di mana API akan berhenti menghasilkan token lebih lanjut. | ||
stream | Boolean | Jika diatur, delta pesan parsial akan dikirim. Token akan dikirim sebagai peristiwa yang dikirim server khusus data saat tersedia, dengan aliran dihentikan oleh pesandata: [DONE] . |
|
suhu | number | Angka non-negatif. Mengembalikan 422 jika nilai tidak didukung oleh model. | |
tool_choice | ChatCompletionToolChoiceOption | Mengontrol fungsi (jika ada) mana yang dipanggil oleh model. none berarti model tidak akan memanggil fungsi dan sebaliknya menghasilkan pesan. auto berarti model dapat memilih antara menghasilkan pesan atau memanggil fungsi. Menentukan fungsi tertentu melalui {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil fungsi tersebut.none adalah default ketika tidak ada fungsi yang ada. auto adalah default jika fungsi ada. Mengembalikan kesalahan 422 jika alat tidak didukung oleh model. |
|
alat | ChatCompletionTool[] | Daftar alat yang mungkin dipanggil model. Saat ini, hanya fungsi yang didukung sebagai alat. Gunakan ini untuk menyediakan daftar fungsi yang dapat dihasilkan model input JSON. Mengembalikan kesalahan 422 jika alat tidak didukung oleh model. | |
top_p | number | 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 temperature tetapi tidak keduanya. |
Respons
Nama | Tipe | Deskripsi |
---|---|---|
200 OK | CreateChatCompletionResponse | OK |
401 Tidak Sah | UnauthorizedError | Token akses hilang atau tidak valid Header x-ms-error-code: string |
404 Tidak ditemukan | NotFoundError | Modalitas tidak didukung oleh model. Periksa dokumentasi model untuk melihat rute mana yang tersedia. Header x-ms-error-code: string |
422 Entitas yang Tidak Dapat Diolah | UnprocessableContentError | Permintaan berisi konten yang tidak dapat diolah Header x-ms-error-code: string |
429 Terlalu Banyak Permintaan | TooManyRequestsError | Anda telah mencapai batas tarif yang ditetapkan dan permintaan Anda perlu ditempuh. Header x-ms-error-code: string |
Kode Status Lainnya | ContentFilterError | Permintaan Buruk Header x-ms-error-code: string |
Keamanan
Authorization
Token dengan awalan Bearer:
, misalnya Bearer abcde12345
Jenis: apiKey
Di: header
AADToken
Autentikasi Azure Active Directory OAuth2
Jenis: oauth2
Alur: aplikasi
URL Token: https://login.microsoftonline.com/common/oauth2/v2.0/token
Contoh
Membuat respons model untuk percakapan obrolan yang diberikan
Permintaan Sampel
POST /chat/completions?api-version=2024-04-01-preview
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture"
},
{
"role": "assistant",
"content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
},
{
"role": "user",
"content": "Ist it proved?"
}
],
"frequency_penalty": 0,
"presence_penalty": 0,
"max_tokens": 256,
"seed": 42,
"stop": "<|endoftext|>",
"stream": false,
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" }
}
Respons Sampel
Kode Status: 200
{
"id": "1234567890",
"model": "llama2-70b-chat",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "No, it has never been proved"
}
}
],
"created": 1234567890,
"object": "chat.completion",
"usage": {
"prompt_tokens": 205,
"completion_tokens": 5,
"total_tokens": 210
}
}
Definisi
Nama | Deskripsi |
---|---|
ChatCompletionRequestMessage | |
ChatCompletionMessageContentPart | |
ChatCompletionMessageContentPartType | |
ChatCompletionToolChoiceOption | Mengontrol fungsi (jika ada) mana yang dipanggil oleh model. none berarti model tidak akan memanggil fungsi dan sebaliknya menghasilkan pesan. auto berarti model dapat memilih antara menghasilkan pesan atau memanggil fungsi. Menentukan fungsi tertentu melalui {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil fungsi tersebut.none adalah default ketika tidak ada fungsi yang ada. auto adalah default jika fungsi ada. Mengembalikan kesalahan 422 jika alat tidak didukung oleh model. |
ChatCompletionFinishReason | Alasan model berhenti menghasilkan token. Ini akan terjadi stop jika model mencapai titik henti alami atau urutan berhenti yang disediakan, length jika jumlah maksimum token yang ditentukan dalam permintaan tercapai, content_filter jika konten dihilangkan karena bendera dari filter konten kami, tool_calls jika model memanggil alat. |
ChatCompletionMessageToolCall | |
ChatCompletionObject | Jenis objek, yang selalu chat.completion . |
ChatCompletionResponseFormat | Format respons untuk respons model. Pengaturan untuk json_object mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri melalui sistem atau pesan pengguna. Perhatikan juga bahwa konten pesan mungkin dipotong sebagian jika finish_reason="length" , yang menunjukkan pembuatan terlampaui max_tokens atau percakapan melebihi panjang konteks maksimum. |
ChatCompletionResponseFormatType | Jenis format respons. |
ChatCompletionResponseMessage | Pesan penyelesaian obrolan yang dihasilkan oleh model. |
ChatCompletionTool | |
ChatMessageRole | Peran penulis pesan ini. |
Pilihan | Daftar pilihan penyelesaian obrolan. |
CompletionUsage | Statistik penggunaan untuk permintaan penyelesaian. |
ContentFilterError | Panggilan API gagal saat perintah memicu filter konten seperti yang dikonfigurasi. Ubah perintah dan coba lagi. |
CreateChatCompletionRequest | |
CreateChatCompletionResponse | Mewakili respons penyelesaian obrolan yang dikembalikan oleh model, berdasarkan input yang disediakan. |
Detail | Detail untuk kesalahan UnprocessableContentError . |
Fungsi | Fungsi yang dipanggil model. |
FunctionObject | Definisi fungsi yang dapat diakses model. |
ImageDetail | Menentukan tingkat detail gambar. |
NotFoundError | Rute tidak valid untuk model yang disebarkan. |
ToolType | Jenis alat. Saat ini, hanya function didukung. |
TooManyRequestsError | Anda telah mencapai batas tarif yang ditetapkan dan permintaan Anda perlu ditempuh. |
UnauthorizedError | Autentikasi hilang atau tidak valid. |
UnprocessableContentError | Permintaan berisi konten yang tidak dapat diolah. Kesalahan dikembalikan ketika payload yang ditunjukkan valid sesuai dengan spesifikasi ini. Namun, beberapa instruksi yang ditunjukkan dalam payload tidak didukung oleh model yang mendasar. Gunakan bagian details untuk memahami parameter yang menyinggung. |
ChatCompletionFinishReason
Alasan model berhenti menghasilkan token. Ini akan terjadi stop
jika model mencapai titik henti alami atau urutan berhenti yang disediakan, length
jika jumlah maksimum token yang ditentukan dalam permintaan tercapai, content_filter
jika konten dihilangkan karena bendera dari filter konten kami, tool_calls
jika model memanggil alat.
Nama | Tipe | Deskripsi |
---|---|---|
content_filter | string | |
length | string | |
stop | string | |
tool_calls | string |
ChatCompletionMessageToolCall
Nama | Tipe | Deskripsi |
---|---|---|
fungsi | Fungsi | Fungsi yang dipanggil model. |
ID | string | ID panggilan alat. |
jenis | ToolType | Jenis alat. Saat ini, hanya function didukung. |
ChatCompletionObject
Jenis objek, yang selalu chat.completion
.
Nama | Tipe | Deskripsi |
---|---|---|
chat.completion | string |
ChatCompletionResponseFormat
Format respons untuk respons model. Pengaturan untuk json_object
mengaktifkan mode JSON, yang menjamin pesan yang dihasilkan model adalah JSON yang valid. Saat menggunakan mode JSON, Anda juga harus menginstruksikan model untuk menghasilkan JSON sendiri melalui sistem atau pesan pengguna. Perhatikan juga bahwa konten pesan mungkin dipotong sebagian jika finish_reason="length"
, yang menunjukkan pembuatan terlampaui max_tokens
atau percakapan melebihi panjang konteks maksimum.
Nama | Tipe | Deskripsi |
---|---|---|
jenis | ChatCompletionResponseFormatType | Jenis format respons. |
ChatCompletionResponseFormatType
Jenis format respons.
Nama | Tipe | Deskripsi |
---|---|---|
json_object | string | |
text | string |
ChatCompletionResponseMessage
Pesan penyelesaian obrolan yang dihasilkan oleh model.
Nama | Tipe | Deskripsi |
---|---|---|
konten | string | Isi pesan. |
role | ChatMessageRole | Peran penulis pesan ini. |
tool_calls | ChatCompletionMessageToolCall[] | Panggilan alat yang dihasilkan oleh model, seperti panggilan fungsi. |
ChatCompletionTool
Nama | Tipe | Deskripsi |
---|---|---|
fungsi | FunctionObject | |
jenis | ToolType | Jenis alat. Saat ini, hanya function didukung. |
ChatMessageRole
Peran penulis pesan ini.
Nama | Tipe | Deskripsi |
---|---|---|
assistant | string | |
sistem | string | |
alat | string | |
pengguna | string |
Pilihan
Daftar pilihan penyelesaian obrolan. Bisa lebih dari satu jika n
lebih besar dari 1.
Nama | Tipe | Deskripsi |
---|---|---|
finish_reason | ChatCompletionFinishReason | Alasan model berhenti menghasilkan token. Ini akan terjadi stop jika model mencapai titik henti alami atau urutan berhenti yang disediakan, length jika jumlah maksimum token yang ditentukan dalam permintaan tercapai, content_filter jika konten dihilangkan karena bendera dari filter konten kami, tool_calls jika model memanggil alat. |
index | Integer | Indeks pilihan dalam daftar pilihan. |
pesan | ChatCompletionResponseMessage | Pesan penyelesaian obrolan yang dihasilkan oleh model. |
CompletionUsage
Statistik penggunaan untuk permintaan penyelesaian.
Nama | Tipe | Deskripsi |
---|---|---|
completion_tokens | Integer | Jumlah token dalam penyelesaian yang dihasilkan. |
prompt_tokens | Integer | Jumlah token dalam perintah. |
total_tokens | Integer | Jumlah total token yang digunakan dalam permintaan (prompt + completion). |
ContentFilterError
Panggilan API gagal saat perintah memicu filter konten seperti yang dikonfigurasi. Ubah perintah dan coba lagi.
Nama | Tipe | Deskripsi |
---|---|---|
kode | string | Kode kesalahan. |
kesalahan | string | Deskripsi kesalahan. |
pesan | string | Pesan kesalahan. |
param | string | Parameter yang memicu filter konten. |
status | Integer | Kode status HTTP. |
CreateChatCompletionRequest
Nama | Tipe | Nilai Default | Deskripsi |
---|---|---|---|
frequency_penalty | number | 0 | Membantu mencegah pengulangan kata dengan mengurangi kemungkinan kata dipilih jika sudah digunakan. Semakin tinggi penalti frekuensi, semakin kecil kemungkinan model mengulangi kata yang sama dalam outputnya. Mengembalikan kesalahan 422 jika nilai atau parameter tidak didukung oleh model. |
max_tokens | Integer | Jumlah maksimum token yang dapat dihasilkan dalam penyelesaian obrolan. Panjang total token input dan token yang dihasilkan dibatasi oleh panjang konteks model. Melewati null menyebabkan model menggunakan panjang konteks maksimumnya. |
|
pesan | ChatCompletionRequestMessage[] | Daftar pesan yang terdiri dari percakapan sejauh ini. Mengembalikan kesalahan 422 jika setidaknya beberapa pesan tidak dapat dipahami oleh model. | |
presence_penalty | number | 0 | Membantu mencegah topik yang sama diulang dengan menghukut kata jika sudah ada dalam penyelesaian, bahkan hanya sekali. Mengembalikan kesalahan 422 jika nilai atau parameter tidak didukung oleh model. |
response_format | ChatCompletionResponseFormat | text | |
seed | Integer | Jika ditentukan, sistem kami akan melakukan upaya terbaik untuk sampel secara deterministik, sehingga permintaan berulang dengan yang sama seed dan parameter harus mengembalikan hasil yang sama. Determinisme tidak dijamin, dan Anda harus merujuk ke system_fingerprint parameter respons untuk memantau perubahan di backend. |
|
stop | Urutan di mana API akan berhenti menghasilkan token lebih lanjut. | ||
stream | Boolean | Salah | Jika diatur, delta pesan parsial akan dikirim. Token akan dikirim sebagai peristiwa yang dikirim server khusus data saat tersedia, dengan aliran dihentikan oleh pesandata: [DONE] . |
suhu | number | 1 | Angka non-negatif. Mengembalikan 422 jika nilai tidak didukung oleh model. |
tool_choice | ChatCompletionToolChoiceOption | Mengontrol fungsi (jika ada) mana yang dipanggil oleh model. none berarti model tidak akan memanggil fungsi dan sebaliknya menghasilkan pesan. auto berarti model dapat memilih antara menghasilkan pesan atau memanggil fungsi. Menentukan fungsi tertentu melalui {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil fungsi tersebut.none adalah default ketika tidak ada fungsi yang ada. auto adalah default jika fungsi ada. Mengembalikan kesalahan 422 jika alat tidak didukung oleh model. |
|
alat | ChatCompletionTool[] | Daftar alat yang mungkin dipanggil model. Saat ini, hanya fungsi yang didukung sebagai alat. Gunakan ini untuk menyediakan daftar fungsi yang dapat dihasilkan model input JSON. Mengembalikan kesalahan 422 jika alat tidak didukung oleh model. | |
top_p | number | 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 temperature tetapi tidak keduanya. |
ChatCompletionRequestMessage
Nama | Tipe | Deskripsi |
---|---|---|
konten | string atau ChatCompletionMessageContentPart[] | Isi pesan. |
role | ChatMessageRole | Peran penulis pesan ini. |
tool_calls | ChatCompletionMessageToolCall[] | Panggilan alat yang dihasilkan oleh model, seperti panggilan fungsi. |
ChatCompletionMessageContentPart
Nama | Tipe | Deskripsi |
---|---|---|
konten | string | Baik URL gambar atau data gambar yang dikodekan base64. |
detail | ImageDetail | Menentukan tingkat detail gambar. |
jenis | ChatCompletionMessageContentPartType | Jenis bagian konten. |
ChatCompletionMessageContentPartType
Nama | Tipe | Deskripsi |
---|---|---|
text | string | |
gambar | string | |
image_url | string |
ChatCompletionToolChoiceOption
Mengontrol alat mana (jika ada) yang dipanggil oleh model.
Nama | Tipe | Deskripsi |
---|---|---|
tidak ada | string | Model tidak akan memanggil alat apa pun dan sebaliknya menghasilkan pesan. |
auto | string | Model dapat memilih antara menghasilkan pesan atau memanggil satu atau beberapa alat. |
wajib diisi | string | Model harus memanggil satu atau beberapa alat. |
string | Menentukan alat tertentu melalui {"type": "function", "function": {"name": "my_function"}} memaksa model untuk memanggil alat tersebut. |
ImageDetail
Menentukan tingkat detail gambar.
Nama | Tipe | Deskripsi |
---|---|---|
auto | string | |
rendah | string | |
tinggi | string |
CreateChatCompletionResponse
Mewakili respons penyelesaian obrolan yang dikembalikan oleh model, berdasarkan input yang disediakan.
Nama | Tipe | Deskripsi |
---|---|---|
Pilihan | Pilihan[] | Daftar pilihan penyelesaian obrolan. Bisa lebih dari satu jika n lebih besar dari 1. |
Dibuat | Integer | Tanda waktu Unix (dalam detik) saat penyelesaian obrolan dibuat. |
ID | string | Pengidentifikasi unik untuk penyelesaian obrolan. |
model | string | Model yang digunakan untuk penyelesaian obrolan. |
object | ChatCompletionObject | Jenis objek, yang selalu chat.completion . |
system_fingerprint | string | Sidik jari ini mewakili konfigurasi backend yang dijalankan model. Dapat digunakan bersama dengan seed parameter permintaan untuk memahami kapan perubahan backend telah dilakukan yang mungkin berdampak pada determinisme. |
penggunaan | CompletionUsage | Statistik penggunaan untuk permintaan penyelesaian. |
Detail
Detail untuk kesalahan UnprocessableContentError .
Nama | Tipe | Deskripsi |
---|---|---|
loc | string[] | Parameter yang menyebabkan masalah |
value | string | Nilai yang diteruskan ke parameter yang menyebabkan masalah. |
Fungsi
Fungsi yang dipanggil model.
Nama | Tipe | Deskripsi |
---|---|---|
arguments | string | Argumen untuk memanggil fungsi dengan, seperti yang dihasilkan oleh model dalam format JSON. Perhatikan bahwa model tidak selalu menghasilkan JSON yang valid, dan dapat menghasilkan parameter yang salah yang tidak ditentukan oleh skema fungsi Anda. Validasi argumen dalam kode Anda sebelum memanggil fungsi Anda. |
nama | string | Nama fungsi yang akan dipanggil. |
FunctionObject
Definisi fungsi yang dapat diakses model.
Nama | Tipe | Deskripsi |
---|---|---|
description | string | Deskripsi tentang apa yang dilakukan fungsi, digunakan oleh model untuk memilih kapan dan bagaimana memanggil fungsi. |
nama | string | Nama fungsi yang akan dipanggil. Harus a-z, A-Z, 0-9, atau berisi garis bawah dan tanda hubung, dengan panjang maksimum 64. |
parameter | object | Parameter yang diterima fungsi, dijelaskan sebagai objek Skema JSON. Menghilangkan mendefinisikan parameters fungsi dengan daftar parameter kosong. |
NotFoundError
Nama | Tipe | Deskripsi |
---|---|---|
kesalahan | string | Deskripsi kesalahan. |
pesan | string | Pesan kesalahan. |
status | Integer | Kode status HTTP. |
ToolType
Jenis alat. Saat ini, hanya function
didukung.
Nama | Tipe | Deskripsi |
---|---|---|
fungsi | string |
TooManyRequestsError
Nama | Tipe | Deskripsi |
---|---|---|
kesalahan | string | Deskripsi kesalahan. |
pesan | string | Pesan kesalahan. |
status | Integer | Kode status HTTP. |
UnauthorizedError
Nama | Tipe | Deskripsi |
---|---|---|
kesalahan | string | Deskripsi kesalahan. |
pesan | string | Pesan kesalahan. |
status | Integer | Kode status HTTP. |
UnprocessableContentError
Permintaan berisi konten yang tidak dapat diolah. Kesalahan dikembalikan ketika payload yang ditunjukkan valid sesuai dengan spesifikasi ini. Namun, beberapa instruksi yang ditunjukkan dalam payload tidak didukung oleh model yang mendasar. Gunakan bagian details
untuk memahami parameter yang menyinggung.
Nama | Tipe | Deskripsi |
---|---|---|
kode | string | Kode kesalahan. |
detail | Detail | |
kesalahan | string | Deskripsi kesalahan. |
pesan | string | Pesan kesalahan. |
status | Integer | Kode status HTTP. |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk