Bagikan melalui


Mengonfigurasi akses ke sumber daya dari titik akhir penyajian model

Artikel ini menjelaskan cara mengonfigurasi akses ke sumber daya eksternal dan privat dari model yang melayani titik akhir. Model Serving mendukung variabel lingkungan teks biasa dan variabel lingkungan berbasis rahasia menggunakan rahasia Databricks.

Persyaratan

Untuk variabel lingkungan berbasis rahasia,

  • Pembuat titik akhir harus memiliki akses BACA ke rahasia Databricks yang direferensikan dalam konfigurasi.
  • Anda harus menyimpan kredensial seperti kunci API atau token lain sebagai rahasia Databricks.

Menambahkan variabel lingkungan teks biasa

Gunakan variabel lingkungan teks biasa untuk mengatur variabel yang tidak perlu disembunyikan. Anda dapat mengatur variabel di Antarmuka Pengguna penyajian atau REST API saat membuat atau memperbarui titik akhir.

Dari Antarmuka pengguna Penyajian, Anda dapat menambahkan variabel lingkungan dalam Konfigurasi tingkat lanjut:

Membuat model yang melayani titik akhir

Berikut ini adalah contoh untuk membuat titik akhir penyajian POST /api/2.0/serving-endpoints menggunakan REST API dan environment_vars bidang untuk mengonfigurasi variabel lingkungan Anda.


{
  "name": "endpoint-name",
  "config":{
   "served_entities": [{
     "entity_name": "model-name",
     "entity_version": "1",
     "workload_size": "Small",
     "scale_to_zero_enabled": "true",
     "environment_vars":{
        "TEXT_ENV_VAR_NAME": "plain-text-env-value"
      }
    }]
  }
}

Menambahkan variabel lingkungan berbasis rahasia

Anda dapat menyimpan kredensial dengan aman menggunakan rahasia Databricks dan mereferensikan rahasia tersebut dalam model yang melayani menggunakan variabel lingkungan berbasis rahasia. Ini memungkinkan kredensial diambil dari model yang melayani titik akhir pada waktu penyajian.

Misalnya, Anda dapat meneruskan kredensial untuk memanggil OpenAI dan titik akhir model eksternal lainnya atau mengakses lokasi penyimpanan data eksternal langsung dari penyajian model.

Databricks merekomendasikan fitur ini untuk menyebarkan rasa model OpenAI dan LangChain MLflow untuk disajikan. Ini juga berlaku untuk model SaaS lain yang memerlukan kredensial dengan pemahaman bahwa pola akses didasarkan pada penggunaan variabel lingkungan dan kunci dan token API.

Langkah 1: Membuat cakupan rahasia

Selama penyajian model, rahasia diambil dari rahasia Databricks oleh cakupan dan kunci rahasia. Ini ditetapkan ke nama variabel lingkungan rahasia yang dapat digunakan di dalam model.

Pertama, buat cakupan rahasia. Lihat Cakupan rahasia.

Berikut ini adalah perintah CLI:


databricks secrets create-scope my_secret_scope

Anda kemudian dapat menambahkan rahasia Anda ke cakupan dan kunci rahasia yang diinginkan seperti yang ditunjukkan di bawah ini:


databricks secrets put-secret my_secret_scope my_secret_key

Informasi rahasia dan nama variabel lingkungan kemudian dapat diteruskan ke konfigurasi titik akhir Anda selama pembuatan titik akhir atau sebagai pembaruan untuk konfigurasi titik akhir yang ada.

Langkah 2: Menambahkan cakupan rahasia ke konfigurasi titik akhir

Anda dapat menambahkan cakupan rahasia ke variabel lingkungan dan meneruskan variabel tersebut ke titik akhir Anda selama pembuatan titik akhir atau pembaruan konfigurasi. Lihat Membuat model kustom yang melayani titik akhir.

Dari Antarmuka pengguna Penyajian, Anda dapat menambahkan variabel lingkungan dalam Konfigurasi tingkat lanjut. Variabel lingkungan berbasis rahasia harus disediakan menggunakan sintaks berikut: {{secrets/scope/key}}. Jika tidak, variabel lingkungan dianggap sebagai variabel lingkungan teks biasa.

Membuat model yang melayani titik akhir

Berikut ini adalah contoh untuk membuat titik akhir penyajian menggunakan REST API. Selama model yang melayani pembuatan titik akhir dan pembaruan konfigurasi, Anda dapat memberikan daftar spesifikasi variabel lingkungan rahasia untuk setiap model yang dilayani di dalam permintaan API menggunakan environment_vars bidang.

Contoh berikut menetapkan nilai dari rahasia yang dibuat dalam kode yang disediakan ke variabel OPENAI_API_KEYlingkungan .

{
  "name": "endpoint-name",
  "config":{
   "served_entities": [{
     "entity_name": "model-name",
     "entity_version": "1",
     "workload_size": "Small",
     "scale_to_zero_enabled": "true",
     "environment_vars":{
        "OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
      }
    }]
   }
}

Anda juga dapat memperbarui titik akhir penyajian, seperti dalam contoh REST API berikut PUT /api/2.0/serving-endpoints/{name}/config :


{
  "served_entities": [{
    "entity_name": "model-name",
    "entity_version": "2",
    "workload_size": "Small",
    "scale_to_zero_enabled": "true",
    "environment_vars":{
      "OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
     }
   }]
}

Setelah titik akhir dibuat atau diperbarui, model yang melayani secara otomatis mengambil kunci rahasia dari cakupan rahasia Databricks dan mengisi variabel lingkungan untuk kode inferensi model Anda untuk digunakan.

Contoh buku catatan

Lihat notebook berikut untuk contoh cara mengonfigurasi kunci API OpenAI untuk QA Chain Pengambilan LangChain yang disebarkan di belakang model yang melayani titik akhir dengan variabel lingkungan berbasis rahasia.

Mengonfigurasi akses ke sumber daya dari model yang melayani notebook titik akhir

Dapatkan buku catatan