Bagikan melalui


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

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.

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.

Sumber Daya Tambahan: