Referensi REST API model fondasi
Artikel ini menyediakan informasi API umum untuk API Model Databricks Foundation dan model yang mereka dukung. API Model Foundation dirancang agar mirip dengan REST API OpenAI untuk mempermudah migrasi proyek yang ada. Baik titik akhir bayar per token dan throughput yang disediakan menerima format permintaan REST API yang sama.
Endpoint
Setiap model bayar per token memiliki satu titik akhir, dan pengguna dapat berinteraksi dengan titik akhir ini menggunakan permintaan HTTP POST. Titik akhir throughput yang disediakan dapat dibuat menggunakan API atau Antarmuka Pengguna penyajian. Titik akhir ini juga mendukung beberapa model per titik akhir untuk pengujian A/B, selama kedua model yang dilayani mengekspos format API yang sama. Misalnya, kedua model adalah model obrolan.
Permintaan dan respons menggunakan JSON, struktur JSON yang tepat tergantung pada jenis tugas titik akhir. Titik akhir obrolan dan penyelesaian mendukung respons streaming.
Beban kerja bayar per token mendukung model tertentu, lihat Model yang didukung untuk bayar per token untuk model tersebut dan format API yang diterima.
Penggunaan
Respons mencakup usage
sub-pesan yang melaporkan jumlah token dalam permintaan dan respons. Format sub-pesan ini sama di semua jenis tugas.
Bidang | Jenis | Deskripsi |
---|---|---|
completion_tokens |
Bilangan bulat | Jumlah token yang dihasilkan. Tidak termasuk dalam respons penyematan. |
prompt_tokens |
Bilangan bulat | Jumlah token dari prompt input. |
total_tokens |
Bilangan bulat | Jumlah total token. |
Untuk model seperti llama-2-70b-chat
permintaan pengguna diubah menggunakan templat perintah sebelum diteruskan ke model. Untuk titik akhir bayar per token, prompt sistem mungkin juga ditambahkan. prompt_tokens
mencakup semua teks yang ditambahkan oleh server kami.
Tugas obrolan
Tugas obrolan dioptimalkan untuk percakapan multi-giliran dengan model. Setiap permintaan menjelaskan percakapan sejauh ini, di mana messages
bidang harus bergantian antara user
dan assistant
peran, diakhir dengan pesan user
. Respons model menyediakan pesan berikutnya assistant
dalam percakapan.
Permintaan obrolan
Bidang | Default | Tipe | Deskripsi |
---|---|---|---|
messages |
Daftar ChatMessage | Diperlukan. Daftar pesan yang mewakili percakapan saat ini. | |
max_tokens |
nil |
Bilangan bulat lebih besar dari nol atau nil , yang mewakili tak terbatas |
Jumlah maksimum token yang akan dihasilkan. |
stream |
true |
Boolean | Streaming respons kembali ke klien untuk memungkinkan hasil parsial untuk permintaan. Jika parameter ini disertakan dalam permintaan, respons dikirim menggunakan standar peristiwa yang dikirim server. |
temperature |
1.0 |
Mengapung di [0,2] | Suhu pengambilan sampel. 0 adalah nilai deterministik dan lebih tinggi memperkenalkan lebih banyak keacakan. |
top_p |
1.0 |
Mengambang dalam (0,1] | Ambang probabilitas yang digunakan untuk pengambilan sampel nukleus. |
top_k |
nil |
Bilangan bulat lebih besar dari nol atau nil , yang mewakili tak terbatas |
Menentukan jumlah token k yang paling mungkin digunakan untuk pemfilteran k atas. Atur nilai ini ke 1 untuk membuat output deterministik. |
stop |
[] | String atau List[String] | Model berhenti menghasilkan token lebih lanjut ketika salah satu urutan ditemui stop . |
n |
1 | Bilangan bulat lebih besar dari nol | API mengembalikan n penyelesaian obrolan independen saat n ditentukan. Direkomendasikan untuk beban kerja yang menghasilkan beberapa penyelesaian pada input yang sama untuk efisiensi inferensi tambahan dan penghematan biaya. Hanya tersedia untuk titik akhir throughput yang disediakan. |
tool_choice |
nil |
String atau ToolChoiceObject | Hanya digunakan bersama dengan tools bidang . tool_choice mendukung berbagai string kata kunci seperti auto , , required dan none . auto berarti Anda membiarkan model memutuskan alat mana (jika ada) yang relevan untuk digunakan. Dengan auto jika model tidak percaya salah satu alat di tools relevan, model menghasilkan pesan asisten standar alih-alih panggilan alat. required berarti bahwa model memilih alat tools yang paling relevan dan harus menghasilkan panggilan alat. none berarti bahwa model tidak menghasilkan panggilan alat apa pun dan sebaliknya harus menghasilkan pesan asisten standar. Untuk memaksa panggilan alat dengan alat tertentu yang ditentukan dalam tools , gunakan ToolChoiceObject. Secara default, jika tools bidang diisi tool_choice = "auto" . Jika tidak, tools bidang default ke tool_choice = "none" |
tools |
nil |
ToolObject | Daftar tools yang dapat dipanggil model. Saat ini, function adalah satu-satunya jenis yang didukung tool dan maksimal 32 fungsi didukung. |
ChatMessage
Bidang | Jenis | Deskripsi |
---|---|---|
role |
String | Diperlukan. Peran penulis pesan. Bisa , "system" "user" , "assistant" atau "tool" . |
content |
String | Konten pesan. Diperlukan untuk tugas obrolan yang tidak melibatkan panggilan alat. |
tool_calls |
Daftar ToolCall | Daftar tool_calls model yang dihasilkan. Harus memiliki role sebagai "assistant" dan tidak ada spesifikasi untuk bidang .content |
tool_call_id |
String | Ketika role adalah "tool" , ID yang terkait dengan ToolCall pesan yang ditanggapi. Harus kosong untuk opsi lain role . |
Peran system
hanya dapat digunakan sekali, sebagai pesan pertama dalam percakapan. Ini mengambil alih permintaan sistem default model.
ToolCall
Saran tindakan panggilan alat oleh model. Lihat Panggilan fungsi di Azure Databricks.
Bidang | Jenis | Deskripsi |
---|---|---|
id |
String | Diperlukan. Pengidentifikasi unik untuk saran panggilan alat ini. |
type |
String | Diperlukan. Hanya "function" yang didukung. |
function |
FunctionCallCompletion | Diperlukan. Panggilan fungsi yang disarankan oleh model. |
FunctionCallCompletion
Bidang | Jenis | Deskripsi |
---|---|---|
name |
String | Harus diisi. Nama fungsi yang direkomendasikan model. |
arguments |
Objek | Harus diisi. Argumen ke fungsi sebagai kamus JSON berseri. |
ToolChoiceObject
Lihat Panggilan fungsi di Azure Databricks.
Bidang | Jenis | Deskripsi |
---|---|---|
type |
String | Diperlukan. Jenis alat. Saat ini, hanya "function" didukung. |
function |
Objek | Diperlukan. Objek yang menentukan alat mana yang akan dipanggil dari formulir {"type": "function", "function": {"name": "my_function"}} di mana "my_function adalah nama FunctionObject di tools bidang . |
ToolObject
Lihat Panggilan fungsi di Azure Databricks.
Bidang | Jenis | Deskripsi |
---|---|---|
type |
String | Diperlukan. Jenis alat. Saat ini, hanya function didukung. |
function |
FunctionObject | Diperlukan. Definisi fungsi yang terkait dengan alat. |
FunctionObject
Bidang | Jenis | Deskripsi |
---|---|---|
name |
String | Diperlukan. Nama fungsi yang akan dipanggil. |
description |
Objek | Diperlukan. Deskripsi terperinci tentang fungsi. Model ini menggunakan deskripsi ini untuk memahami relevansi fungsi dengan perintah dan menghasilkan panggilan alat dengan akurasi yang lebih tinggi. |
parameters |
Objek | Parameter yang diterima fungsi, dijelaskan sebagai objek Skema JSON yang valid. Jika alat dipanggil, maka panggilan alat sesuai dengan Skema JSON yang disediakan. Menghilangkan parameter mendefinisikan fungsi tanpa parameter apa pun. Jumlah properties dibatasi hingga 15 kunci. |
Respons obrolan
Untuk permintaan non-streaming, responsnya adalah objek penyelesaian obrolan tunggal. Untuk permintaan streaming, respons adalah text/event-stream
tempat setiap peristiwa adalah objek gugus penyelesaian. Struktur penyelesaian dan potongan objek tingkat atas hampir identik: hanya choices
memiliki jenis yang berbeda.
Bidang | Jenis | Deskripsi |
---|---|---|
id |
String | Pengidentifikasi unik untuk penyelesaian obrolan. |
choices |
List[ChatCompletionChoice] atau List[ChatCompletionChunk] (streaming) | Daftar teks penyelesaian obrolan. n pilihan dikembalikan jika n parameter ditentukan. |
object |
String | Jenis objek. Sama dengan untuk "chat.completions" non-streaming atau "chat.completion.chunk" untuk streaming. |
created |
Bilangan bulat | Waktu penyelesaian obrolan dihasilkan dalam hitungan detik. |
model |
String | Versi model yang digunakan untuk menghasilkan respons. |
usage |
Penggunaan | Metadata penggunaan token. Mungkin tidak ada pada respons streaming. |
ChatCompletionChoice
Bidang | Jenis | Deskripsi |
---|---|---|
index |
Bilangan bulat | Indeks pilihan dalam daftar pilihan yang dihasilkan. |
message |
ChatMessage | Pesan penyelesaian obrolan yang dikembalikan oleh model. Perannya adalah assistant . |
finish_reason |
String | Alasan model berhenti menghasilkan token. |
ChatCompletionChunk
Bidang | Jenis | Deskripsi |
---|---|---|
index |
Bilangan bulat | Indeks pilihan dalam daftar pilihan yang dihasilkan. |
delta |
ChatMessage | Bagian pesan penyelesaian obrolan dari respons streaming yang dihasilkan dari model. Hanya potongan pertama yang dijamin telah role diisi. |
finish_reason |
String | Alasan model berhenti menghasilkan token. Hanya potongan terakhir yang akan mengisi ini. |
Tugas penyelesaian
Tugas penyelesaian teks adalah untuk menghasilkan respons ke satu perintah. Tidak seperti Obrolan, tugas ini mendukung input batch: beberapa perintah independen dapat dikirim dalam satu permintaan.
Permintaan penyelesaian
Bidang | Default | Tipe | Deskripsi |
---|---|---|---|
prompt |
String atau List[String] | Diperlukan. Perintah untuk model. | |
max_tokens |
nil |
Bilangan bulat lebih besar dari nol atau nil , yang mewakili tak terbatas |
Jumlah maksimum token yang akan dihasilkan. |
stream |
true |
Boolean | Streaming respons kembali ke klien untuk memungkinkan hasil parsial untuk permintaan. Jika parameter ini disertakan dalam permintaan, respons dikirim menggunakan standar peristiwa yang dikirim server. |
temperature |
1.0 |
Mengapung di [0,2] | Suhu pengambilan sampel. 0 adalah nilai deterministik dan lebih tinggi memperkenalkan lebih banyak keacakan. |
top_p |
1.0 |
Mengambang dalam (0,1] | Ambang probabilitas yang digunakan untuk pengambilan sampel nukleus. |
top_k |
nil |
Bilangan bulat lebih besar dari nol atau nil , yang mewakili tak terbatas |
Menentukan jumlah token k yang paling mungkin digunakan untuk pemfilteran k atas. Atur nilai ini ke 1 untuk membuat output deterministik. |
error_behavior |
"error" |
"truncate" atau "error" |
Untuk waktu habis dan kesalahan yang terlampaui konteks. Salah satu dari: "truncate" (mengembalikan token sebanyak mungkin) dan "error" (mengembalikan kesalahan). Parameter ini hanya diterima dengan membayar per titik akhir token. |
n |
1 | Bilangan bulat lebih besar dari nol | API mengembalikan n penyelesaian obrolan independen saat n ditentukan. Direkomendasikan untuk beban kerja yang menghasilkan beberapa penyelesaian pada input yang sama untuk efisiensi inferensi tambahan dan penghematan biaya. Hanya tersedia untuk titik akhir throughput yang disediakan. |
stop |
[] | String atau List[String] | Model berhenti menghasilkan token lebih lanjut ketika salah satu urutan ditemui stop . |
suffix |
"" |
String | String yang ditambahkan ke akhir setiap penyelesaian. |
echo |
false |
Boolean | Mengembalikan prompt bersama dengan penyelesaian. |
use_raw_prompt |
false |
Boolean | Jika true , teruskan prompt langsung ke model tanpa transformasi apa pun. |
Respons penyelesaian
Bidang | Jenis | Deskripsi |
---|---|---|
id |
String | Pengidentifikasi unik untuk penyelesaian teks. |
choices |
CompletionChoice | Daftar penyelesaian teks. Untuk setiap permintaan yang diteruskan, n pilihan dihasilkan jika n ditentukan. Defaultnya n adalah 1. |
object |
String | Jenis objek. Sama dengan "text_completion" |
created |
Bilangan bulat | Waktu penyelesaian dihasilkan dalam hitungan detik. |
usage |
Penggunaan | Metadata penggunaan token. |
CompletionChoice
Bidang | Jenis | Deskripsi |
---|---|---|
index |
Bilangan bulat | Indeks permintaan dalam permintaan. |
text |
String | Penyelesaian yang dihasilkan. |
finish_reason |
String | Alasan model berhenti menghasilkan token. |
Tugas penyematan
Menyematkan tugas memetakan string input ke dalam vektor penyematan. Banyak input dapat di-batch bersama-sama di setiap permintaan.
Permintaan penyematan
Bidang | Jenis | Deskripsi |
---|---|---|
input |
String atau List[String] | Diperlukan. Teks input yang akan disematkan. Dapat berupa string atau daftar string. |
instruction |
String | Instruksi opsional untuk diteruskan ke model penyematan. |
Instruksi bersifat opsional dan sangat spesifik untuk model. Misalnya penulis BGE tidak merekomendasikan instruksi saat mengindeks gugus dan merekomendasikan penggunaan instruksi "Represent this sentence for searching relevant passages:"
untuk kueri pengambilan. Model lain seperti Instructor-XL mendukung berbagai string instruksi.
Respons penyematan
Bidang | Jenis | Deskripsi |
---|---|---|
id |
String | Pengidentifikasi unik untuk penyematan. |
object |
String | Jenis objek. "list" Sama dengan . |
model |
String | Nama model penyematan yang digunakan untuk membuat penyematan. |
data |
EmbeddingObject | Objek penyematan. |
usage |
Penggunaan | Metadata penggunaan token. |
EmbeddingObject
Bidang | Jenis | Deskripsi |
---|---|---|
object |
String | Jenis objek. "embedding" Sama dengan . |
index |
Bilangan bulat | Indeks penyematan dalam daftar penyematan yang dihasilkan oleh model. |
embedding |
Daftar[Float] | Vektor penyematan. Setiap model akan mengembalikan vektor ukuran tetap (1024 untuk BGE-Large) |
Sumber Daya Tambahan:
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