Bagikan melalui


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.