Bagikan melalui


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, , requireddan 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: