Model eksternal dalam Mosaic AI Model Serving
Penting
Contoh kode dalam artikel ini menunjukkan penggunaan API CRUD Deployments MLflow Pratinjau Publik.
Artikel ini menjelaskan model eksternal dalam Mosaic AI Model Serving termasuk penyedia dan batasan model yang didukung.
Apa itu model eksternal?
Penting
Sekarang Anda dapat mengonfigurasi Mosaic AI Gateway pada endpoint penyajian model yang melayani model eksternal. AI Gateway menghadirkan tata kelola, pemantauan, dan kesiapan produksi untuk model ini yang melayani titik akhir. Lihat pengenalan Mosaic AI Gateway.
Model eksternal adalah model pihak ketiga yang dihosting di luar Databricks. Didukung oleh Model Serving, model eksternal memungkinkan Anda menyederhanakan penggunaan dan manajemen berbagai penyedia model bahasa besar (LLM), seperti OpenAI dan Anthropic, dalam organisasi. Anda juga dapat menggunakan Mosaic AI Model Serving sebagai penyedia layanan model kustom, yang menawarkan batasan kuota untuk endpoint tersebut. Sebagai bagian dari dukungan ini, Model Serving menawarkan antarmuka tingkat tinggi yang menyederhanakan interaksi dengan layanan ini dengan menyediakan titik akhir terpadu untuk menangani permintaan terkait LLM tertentu.
Selain itu, dukungan Azure Databricks untuk model eksternal menyediakan manajemen kredensial terpusat. Dengan menyimpan kunci API di satu lokasi yang aman, organisasi dapat meningkatkan postur keamanan mereka dengan meminimalkan paparan kunci API sensitif di seluruh sistem. Ini juga membantu mencegah mengekspos kunci ini dalam kode atau mengharuskan pengguna akhir untuk mengelola kunci dengan aman.
Lihat Tutorial: Membuat titik akhir model eksternal untuk mengkueri model OpenAI untuk panduan langkah demi langkah tentang pembuatan titik akhir model eksternal dan mengkueri model yang didukung yang dilayani oleh titik akhir tersebut menggunakan SDK Penyebaran MLflow. Lihat panduan berikut untuk instruksi tentang cara menggunakan Antarmuka Pengguna layanan dan REST API:
Persyaratan
- Kolom kunci API atau autentikasi untuk penyedia model.
- Ruang kerja Databricks di wilayah yang mendukung model eksternal.
Penyedia Model
Model eksternal dalam Model Serving dirancang untuk mendukung berbagai penyedia model. Penyedia mewakili sumber model pembelajaran mesin, seperti OpenAI, Anthropic, dan sebagainya. Setiap penyedia memiliki karakteristik dan konfigurasi khusus yang dienkapsulasi dalam external_model
bidang konfigurasi titik akhir model eksternal.
Penyedia berikut didukung:
- openai: Untuk model yang ditawarkan oleh OpenAI dan integrasi Azure untuk Azure OpenAI dan Azure OpenAI dengan AAD.
- Anthropic: Untuk model yang ditawarkan oleh Anthropic.
- cohere: Untuk model yang ditawarkan oleh Cohere.
- amazon-bedrock: Untuk model yang ditawarkan oleh Amazon Bedrock.
- google-cloud-vertex-ai: Untuk model yang ditawarkan oleh Google Cloud Vertex AI.
- databricks-model-serving: Untuk endpoint penyajian model Mosaic AI dengan skema yang kompatibel. Lihat Konfigurasi Titik Akhir.
- kustom : Untuk penyedia atau model alternatif di balik proksi kustom yang kompatibel dengan OpenAI API, tetapi tidak didukung langsung oleh Databricks.
Untuk meminta dukungan untuk penyedia yang tidak tercantum di sini, coba gunakan opsi penyedia kustom atau hubungi tim akun Databricks Anda.
Model yang didukung
Model yang Anda pilih secara langsung memengaruhi hasil respons yang Anda dapatkan dari panggilan API. Oleh karena itu, pilih model yang sesuai dengan persyaratan kasus penggunaan Anda. Misalnya, untuk menghasilkan respons percakapan, Anda dapat memilih model obrolan. Sebaliknya, untuk menghasilkan penyematan teks, Anda dapat memilih model penyematan.
Lihat Model yang Didukung.
Menggunakan model yang disajikan pada titik akhir Penyajian Model AI Mosaik
Titik akhir Penyajian Model AI Mosaic sebagai penyedia yang didukung untuk llm/v1/completions
, llm/v1/chat
, dan llm/v1/embeddings
jenis titik akhir. Titik akhir ini harus menerima parameter kueri standar yang ditandai sebagaimana diperlukan, sementara parameter lain mungkin diabaikan tergantung pada apakah titik akhir Mosaic AI Model Serving mendukungnya atau tidak.
Lihat POST /serving-endpoints/{name}/invocations dalam referensi API untuk parameter kueri standar.
Titik akhir ini harus menghasilkan respons dalam format OpenAI berikut.
Untuk tugas penyelesaian:
{
"id": "123", # Not Required
"model": "test_databricks_model",
"choices": [
{
"text": "Hello World!",
"index": 0,
"logprobs": null, # Not Required
"finish_reason": "length" # Not Required
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Untuk tugas obrolan:
{
"id": "123", # Not Required
"model": "test_chat_model",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"finish_reason": "stop"
},
{
"index": 1,
"message": {
"role": "human",
"content": "\n\nWhat is the weather in San Francisco?",
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Untuk tugas penyematan:
{
"data": [
{
"embedding": [
1.0023064255,
-0.009327292,
.... # (1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
},
{
"embedding": [
1.0023064255,
-0.009327292,
.... #(1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
}
],
"model": "test_embedding_model",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Konfigurasi titik akhir
Untuk melayani dan mengkueri model eksternal, Anda perlu mengonfigurasi titik akhir penyajian. Lihat Membuat model eksternal yang melayani titik akhir
Untuk model eksternal yang melayani titik akhir, Anda harus menyertakan bidang external_model
dan parameternya di bagian served_entities
konfigurasi titik akhir. Jika Anda mengonfigurasi beberapa model eksternal dalam titik akhir penyajian, Anda harus menyediakan traffic_config
untuk menentukan persentase perutean lalu lintas untuk setiap model eksternal.
Bidang external_model
menentukan model tempat titik akhir ini meneruskan permintaan. Saat menentukan model, sangat penting bahwa penyedia mendukung model yang Anda minta. Misalnya, openai
sebagai penyedia mendukung model seperti text-embedding-ada-002
, tetapi penyedia lain mungkin tidak. Jika model tidak didukung oleh penyedia, Databricks mengembalikan kesalahan HTTP 4xx saat mencoba merutekan permintaan ke model tersebut.
Tabel di bawah ini meringkas parameter bidang external_model
. Lihat POST /api/2.0/serving-endpoints untuk parameter konfigurasi titik akhir.
Parameter | Deskripsi |
---|---|
name |
Nama model yang akan digunakan. Misalnya, gpt-3.5-turbo untuk model OpenAI GPT-3.5-Turbo . Ini diteruskan sebagai bagian dari isi permintaan dengan kunci yang sesuai: "model" . |
provider |
Menentukan nama penyedia untuk model ini. Nilai string ini harus sesuai dengan penyedia model eksternal yang didukung. Misalnya, openai untuk model OpenAI GPT-3.5 . |
task |
Tugas ini sesuai dengan jenis interaksi model bahasa yang Anda inginkan. Tugas yang didukung meliputi "llm/v1/completions", "llm/v1/chat", dan "llm/v1/embeddings". |
<provider>_config |
Berisi detail konfigurasi tambahan yang diperlukan untuk model. Ini termasuk menentukan URL dasar API dan kunci API. Lihat Mengonfigurasi penyedia untuk endpoint. Jika Anda menggunakan penyedia custom , tentukan parameter ini sebagai custom_provider_config . |
Berikut ini adalah contoh pembuatan titik akhir model eksternal menggunakan create_endpoint()
API. Dalam contoh ini, permintaan yang dikirim ke titik akhir penyelesaian diteruskan ke claude-2
model yang disediakan oleh anthropic
.
import mlflow.deployments
client = mlflow.deployments.get_deploy_client("databricks")
client.create_endpoint(
name="anthropic-completions-endpoint",
config={
"served_entities": [
{
"name": "test",
"external_model": {
"name": "claude-2",
"provider": "anthropic",
"task": "llm/v1/completions",
"anthropic_config": {
"anthropic_api_key": "{{secrets/my_anthropic_secret_scope/anthropic_api_key}}"
}
}
}
]
}
)
Mengonfigurasi penyedia untuk titik akhir
Saat membuat titik akhir, Anda harus menyediakan konfigurasi yang diperlukan untuk penyedia model yang ditentukan. Bagian berikut ini meringkas parameter konfigurasi titik akhir yang tersedia untuk setiap penyedia model.
Catatan
Databricks mengenkripsi dan menyimpan kredensial yang disediakan dengan aman untuk setiap penyedia model. Kredensial ini secara otomatis dihapus ketika endpoint terkait dihapus.
OpenAI
Parameter Konfigurasi | Deskripsi | Wajib diisi | Default |
---|---|---|---|
openai_api_key |
Referensi kunci rahasia Azure Databricks untuk kunci API OpenAI menggunakan layanan OpenAI. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat openai_api_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: openai_api_key atau openai_api_key_plaintext . |
|
openai_api_key_plaintext |
API key OpenAI yang menggunakan layanan OpenAI disediakan sebagai string teks biasa. Jika Anda lebih suka mereferensikan kunci Anda menggunakan Rahasia Azure Databricks, lihat openai_api_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: openai_api_key atau openai_api_key_plaintext harus disediakan. |
|
openai_api_type |
Bidang opsional untuk menentukan jenis API OpenAI yang akan digunakan. | Tidak | openai |
openai_api_base |
URL dasar untuk API OpenAI. | Tidak | https://api.openai.com/v1 |
openai_api_version |
Bidang opsional untuk menentukan versi OpenAI API. | Tidak | |
openai_organization |
Bidang opsional untuk menentukan organisasi di OpenAI. | Tidak |
Cohere
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
cohere_api_key |
Referensi kunci rahasia Azure Databricks untuk kunci API Cohere. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat cohere_api_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: cohere_api_key atau cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
Kunci COhere API disediakan sebagai string teks biasa. Jika Anda lebih suka merujuk kunci Anda menggunakan Azure Databricks Secrets, lihat cohere_api_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: cohere_api_key atau cohere_api_key_plaintext . |
|
cohere_api_base |
URL dasar untuk layanan Cohere. | Tidak |
Antropis
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
anthropic_api_key |
Referensi kunci rahasia Azure Databricks untuk kunci API Antropik. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat anthropic_api_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: anthropic_api_key atau anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
Kunci API Anthropic disediakan sebagai string teks biasa. Jika Anda lebih suka mereferensikan kunci Anda menggunakan Rahasia Azure Databricks, lihat anthropic_api_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: anthropic_api_key atau anthropic_api_key_plaintext . |
Azure OpenAI
Azure OpenAI memiliki fitur yang berbeda dibandingkan dengan layanan OpenAI langsung. Untuk gambaran umum, silakan lihat dokumentasi perbandingan.
Parameter Konfigurasi | Deskripsi | Wajib diisi | Default |
---|---|---|---|
openai_api_key |
Referensi kunci rahasia Azure Databricks untuk kunci API OpenAI menggunakan layanan Azure. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat openai_api_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: openai_api_key atau openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Kunci API OpenAI dapat menggunakan layanan Azure yang disediakan sebagai string teks biasa. Jika Anda lebih suka mereferensikan kunci Anda menggunakan Rahasia Azure Databricks, lihat openai_api_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: openai_api_key atau openai_api_key_plaintext . |
|
openai_api_type |
Gunakan azure untuk validasi token akses. |
Ya | |
openai_api_base |
URL dasar untuk layanan Azure OpenAI API yang disediakan oleh Azure. | Ya | |
openai_api_version |
Versi layanan Azure OpenAI untuk digunakan, ditentukan oleh tanggal. | Ya | |
openai_deployment_name |
Nama sumber daya penyebaran untuk layanan Azure OpenAI. | Ya | |
openai_organization |
Bidang opsional untuk menentukan organisasi di OpenAI. | Tidak |
Jika Anda menggunakan Azure OpenAI dengan MICROSOFT Entra ID, gunakan parameter berikut dalam konfigurasi titik akhir Anda. Databricks meneruskan https://cognitiveservices.azure.com/
sebagai cakupan default untuk token Microsoft Entra ID.
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
microsoft_entra_tenant_id |
ID penyewa untuk autentikasi ID Microsoft Entra. | Ya | |
microsoft_entra_client_id |
ID klien untuk autentikasi ID Microsoft Entra. | Ya | |
microsoft_entra_client_secret |
Referensi kunci rahasia Azure Databricks untuk rahasia klien yang digunakan untuk autentikasi ID Microsoft Entra. Jika Anda lebih suka menempelkan rahasia klien Anda secara langsung, lihat microsoft_entra_client_secret_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: microsoft_entra_client_secret atau microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
Rahasia klien yang digunakan untuk autentikasi ID Microsoft Entra disediakan sebagai string teks biasa. Jika Anda lebih suka mereferensikan kunci Anda menggunakan Rahasia Azure Databricks, lihat microsoft_entra_client_secret . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: microsoft_entra_client_secret atau microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Gunakan azuread untuk autentikasi menggunakan ID Microsoft Entra. |
Ya | |
openai_api_base |
URL dasar untuk layanan Azure OpenAI API yang disediakan oleh Azure. | Ya | |
openai_api_version |
Versi layanan Azure OpenAI untuk digunakan, ditentukan oleh tanggal. | Ya | |
openai_deployment_name |
Nama sumber daya penyebaran untuk layanan Azure OpenAI. | Ya | |
openai_organization |
Bidang opsional untuk menentukan organisasi di OpenAI. | Tidak |
Contoh berikut menunjukkan cara membuat titik akhir dengan Azure OpenAI:
client.create_endpoint(
name="openai-chat-endpoint",
config={
"served_entities": [{
"external_model": {
"name": "gpt-3.5-turbo",
"provider": "openai",
"task": "llm/v1/chat",
"openai_config": {
"openai_api_type": "azure",
"openai_api_key": "{{secrets/my_openai_secret_scope/openai_api_key}}",
"openai_api_base": "https://my-azure-openai-endpoint.openai.azure.com",
"openai_deployment_name": "my-gpt-35-turbo-deployment",
"openai_api_version": "2023-05-15"
}
}
}]
}
)
Google Cloud Vertex AI
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
private_key |
Referensi kunci rahasia Azure Databricks untuk kunci privat untuk akun layanan yang memiliki akses ke Layanan AI Google Cloud Vertex. Lihat Praktik terbaik untuk mengelola kunci akun layanan. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat private_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: private_key atau private_key_plaintext . |
|
private_key_plaintext |
Kunci privat untuk akun layanan yang memiliki akses ke Layanan AI Google Cloud Vertex yang disediakan sebagai rahasia teks biasa. Lihat Praktik terbaik untuk mengelola kunci akun layanan. Jika Anda lebih suka mereferensikan kunci Anda menggunakan Rahasia Azure Databricks, lihat private_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: private_key atau private_key_plaintext . |
|
region |
Ini adalah wilayah untuk Layanan AI Google Cloud Vertex. Lihat wilayah yang didukung untuk detail selengkapnya. Beberapa model hanya tersedia di wilayah tertentu. | Ya | |
project_id |
Ini adalah id proyek Google Cloud yang dikaitkan dengan akun layanan. | Ya |
Amazon Bedrock
Untuk menggunakan Amazon Bedrock sebagai penyedia model eksternal, pelanggan perlu memastikan Bedrock diaktifkan di wilayah AWS yang ditentukan, dan pasangan kunci AWS yang ditentukan memiliki izin yang sesuai untuk berinteraksi dengan layanan Bedrock. Untuk informasi selengkapnya, lihat AWS Identity and Access Management.
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
aws_region |
Wilayah AWS yang akan digunakan. Bedrock harus diaktifkan di sana. | Ya | |
aws_access_key_id |
Referensi kunci rahasia Azure Databricks untuk ID kunci akses AWS yang memiliki izin untuk berinteraksi dengan layanan Bedrock. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat aws_access_key_id_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: aws_access_key_id atau aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
ID kunci akses AWS dengan izin untuk berinteraksi dengan layanan Bedrock yang disediakan sebagai string teks biasa. Jika Anda lebih suka merujuk kunci Anda menggunakan Secrets Azure Databricks, lihat aws_access_key_id . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: aws_access_key_id atau aws_access_key_id_plaintext . |
|
aws_secret_access_key |
Referensi kunci rahasia pada Azure Databricks untuk kunci akses rahasia AWS yang telah dipasangkan dengan ID kunci akses, serta memiliki izin untuk berinteraksi dengan layanan Bedrock. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat aws_secret_access_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: aws_secret_access_key atau aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Kunci akses rahasia AWS dipasangkan dengan ID kunci akses, dengan izin untuk berinteraksi dengan layanan Bedrock yang disediakan sebagai string teks biasa. Jika Anda lebih suka mengacu pada kunci Anda menggunakan fitur Rahasia di Azure Databricks, lihat aws_secret_access_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: aws_secret_access_key atau aws_secret_access_key_plaintext . |
|
bedrock_provider |
Penyedia dasar di Amazon Bedrock. Nilai yang didukung (tidak peka huruf besar/kecil) meliputi: Anthropic, Cohere, AI21Labs, Amazon | Ya |
Contoh berikut menunjukkan cara membuat titik akhir dengan Amazon Bedrock menggunakan kunci akses.
client.create_endpoint(
name="bedrock-anthropic-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "claude-v2",
"provider": "amazon-bedrock",
"task": "llm/v1/completions",
"amazon_bedrock_config": {
"aws_region": "<YOUR_AWS_REGION>",
"aws_access_key_id": "{{secrets/my_amazon_bedrock_secret_scope/aws_access_key_id}}",
"aws_secret_access_key": "{{secrets/my_amazon_bedrock_secret_scope/aws_secret_access_key}}",
"bedrock_provider": "anthropic",
},
}
}
]
},
)
Jika ada masalah izin AWS, Databricks menyarankan agar Anda memverifikasi kredensial langsung dengan API Amazon Bedrock .
AI21 Labs
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
ai21labs_api_key |
Referensi kunci rahasia Azure Databricks untuk kunci API AI21 Labs. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat ai21labs_api_key_plaintext . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: ai21labs_api_key atau ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Kunci AI21 Labs API disediakan sebagai string teks biasa. Jika Anda lebih suka mereferensikan kunci Anda menggunakan Azure Databricks Secrets, lihat ai21labs_api_key . |
Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: ai21labs_api_key atau ai21labs_api_key_plaintext . |
Penyedia kustom
Parameter Konfigurasi | Deskripsi | Wajib diisi | Bawaan |
---|---|---|---|
custom_provider_url |
URL tempat model penyedia kustom berada. | Ya | |
bearer_token_auth |
Jika penyedia kustom menggunakan autentikasi token pembawa, tentukan bidang yang diperlukan. | Anda harus menyediakan metode autentikasi menggunakan salah satu bidang berikut: bearer_token_auth atau api_key_auth . |
|
token |
Referensi kunci rahasia Azure Databricks untuk token untuk autentikasi pembawa. Parameter ini harus disarangkan di bawah bearer_token_auth . Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat token_plaintext . |
Jika menggunakan autentikasi pembawa, Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: token atau token_plaintext . |
|
token_plaintext |
Token untuk autentikasi pembawa yang disediakan sebagai string teks biasa. Parameter ini harus disarangkan di bawah bearer_token_auth . Jika Anda lebih suka mereferensikan kunci Anda menggunakan rahasia Azure Databricks, lihat token . |
Jika menggunakan autentikasi pembawa, Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: token atau token_plaintext . |
|
api_key_auth |
Jika penyedia kustom menggunakan autentikasi kunci API, tentukan bidang yang diperlukan. | Anda harus menyediakan metode autentikasi menggunakan salah satu bidang berikut: bearer_token_auth atau api_key_auth . |
|
key |
Kunci untuk autentikasi kunci API. Parameter ini harus ditumpuk di bawah api_key_auth |
Ya, saat menggunakan autentikasi kunci API. | |
value |
Referensi kunci rahasia Azure Databricks untuk nilai autentikasi kunci API. Jika Anda lebih suka menempelkan kunci API Anda secara langsung, lihat value_plaintext . |
Jika menggunakan autentikasi kunci API, Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: value atau value_plaintext . |
|
value_plaintext |
Nilai untuk autentikasi kunci API yang disediakan sebagai string teks biasa. Jika Anda lebih suka mereferensikan kunci Anda menggunakan rahasia Azure Databricks, lihat value . |
Jika menggunakan autentikasi kunci API, Anda harus menyediakan kunci API menggunakan salah satu bidang berikut: value atau value_plaintext . |
Contoh berikut menunjukkan cara membuat endpoint dengan penyedia kustom menggunakan autentikasi bearer :
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"bearer_token_auth": {
"token": "{{secrets/my_custom_provider_secret_scope/custom_provider_token}}"
}
}
}
}
]
},
)
Contoh berikut menunjukkan cara membuat titik akhir dengan penyedia kustom menggunakan autentikasi kunci API :
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"api_key_auth": {
"key": "X-API-KEY",
"value": "{{secrets/my_custom_provider_secret_scope/custom_provider_api_key}}"
}
}
}
}
]
},
)
Mengonfigurasi Gateway AI pada titik akhir
Anda juga dapat mengonfigurasi titik akhir untuk mengaktifkan fitur Gateway Mosaic AI, seperti pembatasan tarif, pelacakan penggunaan, dan pagar pembatas.
Lihat Mengonfigurasi Gateway AI pada model yang melayani titik akhir.
Mengkueri titik akhir model eksternal
Setelah Anda membuat titik akhir model eksternal, siap untuk menerima lalu lintas dari pengguna.
Anda dapat mengirim permintaan penilaian ke titik akhir menggunakan klien OpenAI, REST API, atau MLflow Deployments SDK.
- Lihat parameter kueri standar untuk permintaan penilaian di POST /serving-endpoints/{name}/invocations.
- menggunakan model dasar
Contoh berikut mengkueri claude-2
model penyelesaian yang dihosting oleh Anthropic menggunakan klien OpenAI. Untuk menggunakan klien OpenAI, isi model
bidang dengan nama endpoint model yang meng-hosting model yang ingin Anda kueri.
Contoh ini menggunakan endpoint yang telah dibuat sebelumnya, anthropic-completions-endpoint
, yang dikonfigurasi untuk mengakses model eksternal dari penyedia model Anthropic. Lihat cara membuat endpoint model eksternal.
Lihat Model yang didukung untuk model tambahan yang bisa Anda kueri dan penyedianya.
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
completion = client.completions.create(
model="anthropic-completions-endpoint",
prompt="what is databricks",
temperature=1.0
)
print(completion)
Format respons output yang diharapkan:
{
"id": "123", # Not Required
"model": "anthropic-completions-endpoint",
"choices": [
{
"text": "Hello World!",
"index": 0,
"logprobs": null, # Not Required
"finish_reason": "length" # Not Required
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Parameter kueri tambahan
Anda dapat meneruskan parameter tambahan apa pun yang didukung oleh penyedia titik akhir sebagai bagian dari kueri Anda.
Contohnya:
-
logit_bias
(didukung oleh OpenAI, Cohere). -
top_k
(didukung oleh Anthropic, Cohere). -
frequency_penalty
(didukung oleh OpenAI, Cohere). -
presence_penalty
(didukung oleh OpenAI, Cohere). -
stream
(didukung oleh OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Ini hanya tersedia untuk permintaan obrolan dan penyelesaian.
-
tools
(didukung oleh OpenAI, Anthropic, Amazon Bedrock for Anthropic). Ini hanya tersedia untuk permintaan obrolan dan penyelesaian tugas. Parameter ini memungkinkan integrasi fungsionalitas eksternal, termasuk Computer Use (beta) untuk Anthropic dan Amazon Bedrock for Anthropic. Lihat Pemanggilan Fungsi di Azure Databricks.
Dukungan konfigurasi konektivitas jaringan untuk model eksternal
Dukungan untuk konfigurasi konektivitas jaringan (NCC) untuk model eksternal, termasuk tautan privat Azure, saat ini dalam pratinjau Privat. Hubungi tim akun Databricks Anda untuk berpartisipasi dalam pratinjau.
Batasan
Bergantung pada model eksternal yang Anda pilih, konfigurasi Anda dapat menyebabkan data Anda diproses di luar wilayah tempat data Anda berasal. Lihat batas layanan model dan wilayah.