Bagikan melalui


Menyebarkan agen untuk aplikasi AI generatif

Penting

Fitur ini ada di Pratinjau Publik.

Artikel ini menunjukkan cara menyebarkan agen Anda baik dengan langsung menggunakan Model Serving atau menggunakan deploy() API dari databricks.agents.

Persyaratan

  • Sebelum dapat menyebarkan agen, Anda harus mendaftarkannya ke Unity Catalog. Lihat Membuat dan mencatat agen AI. Ketika Anda mendaftarkan agen Anda ke Unity Catalog, agen tersebut dimas dalam bentuk model.
  • MLflow 2.13.1 atau lebih tinggi untuk menyebarkan agen menggunakan deploy() API dari databricks.agents.

Menyebarkan agen menggunakan Model Serving

Penting

Saat Anda menyebarkan agen menggunakan metode ini, Anda tidak dapat menggunakan Aplikasi Ulasan untuk mengumpulkan dan mengirimkan umpan balik tentang agen Anda.

Untuk beban kerja produksi, Anda dapat menyebarkan agen untuk membuatnya tersedia sebagai REST API yang dapat diintegrasikan ke dalam aplikasi yang menghadap pengguna Anda. Anda dapat menggunakan Model Serving REST API untuk membuat model yang melayani titik akhir CPU untuk menyebarkan agen siap produksi Anda.

Menyebarkan agen menggunakan deploy()

Anda dapat menggunakan deploy() API untuk menyebarkan agen Anda baik untuk mengembangkan agen Anda atau untuk menyebarkan agen siap produksi Anda. Hanya agen yang terdaftar di Unity Catalog yang dapat disebarkan menggunakan deploy().

deploy() API melakukan hal berikut:

  • Membuat model CPU yang melayani titik akhir untuk agen Anda yang dapat diintegrasikan ke dalam aplikasi yang menghadap pengguna Anda. Titik akhir ini dibuat menggunakan Model Serving, sehingga Anda dapat memanggilnya untuk mendapatkan respons dari agen dan mengumpulkan umpan balik dari Antarmuka Pengguna Aplikasi Ulasan.
    • Kredensial autentikasi secara otomatis diteruskan ke semua sumber daya yang dikelola Databricks yang diperlukan oleh agen.
    • Jika Anda memiliki dependensi sumber daya yang tidak dikelola Databricks, misalnya menggunakan Pinecone, Anda dapat meneruskan variabel lingkungan dengan rahasia ke deploy() API. Lihat Mengonfigurasi akses ke sumber daya dari titik akhir penyajian model.
  • Mengaktifkan Aplikasi Ulasan untuk agen Anda. Aplikasi Ulasan memungkinkan pemangku kepentingan Anda untuk mengobrol dengan agen dan memberikan umpan balik menggunakan UI Aplikasi Ulasan.
  • Mencatat setiap permintaan ke Aplikasi Ulasan atau REST API seperti permintaan dan respons kueri dan data pelacakan menengah ke tabel inferensi dari Pelacakan MLflow.

Catatan

Penyebaran dapat memakan waktu hingga 15 menit untuk diselesaikan. Payload JSON mentah membutuhkan waktu 10 - 30 menit untuk tiba, dan log yang diformat diproses dari payload mentah sekitar setiap jam.


from databricks.agents import deploy
from mlflow.utils import databricks_utils as du

deployment = deploy(model_fqn, uc_model_info.version)

# query_endpoint is the URL that can be used to make queries to the app
deployment.query_endpoint

# Copy deployment.rag_app_url to browser and start interacting with your RAG application.
deployment.rag_app_url

Tabel inferensi yang disempurnakan agen

membuat deploy() tiga tabel inferensi untuk setiap penyebaran untuk mencatat permintaan dan respons ke dan dari agen yang melayani titik akhir.

Catatan

Jika Anda mengaktifkan Azure Storage Firewall, hubungi tim akun Databricks Anda untuk mengaktifkan tabel inferensi untuk titik akhir Anda.

Tabel Contoh nama tabel Katalog Unity Apa yang ada di setiap tabel
Payload {catalog_name}.{schema_name}.rag_studio_{model_name}_payload Payload JSON mentah
Log permintaan payload {catalog_name}.{schema_name}.rag_studio_{model_name}_payload_request_logs Permintaan dan respons yang diformat, jejak MLflow
Log penilaian payload {catalog_name}.{schema_name}.rag_studio_{model_name}_payload_assessment_logs Umpan balik yang diformat, seperti yang disediakan di Aplikasi Ulasan, untuk setiap permintaan

Meminta tabel log dan log penilaian

Dua tabel tambahan dihasilkan secara otomatis dari tabel inferensi payload di atas: log permintaan dan log penilaian. Pengguna dapat mengharapkan data berada dalam tabel ini dalam waktu satu jam setelah berinteraksi dengan penyebaran mereka.

Berikut ini memperlihatkan skema untuk tabel log permintaan.

|Nama kolom | Jenis | Deskripsi| |——-|————————|—————-| | client_request_id| String| ID permintaan klien. Biasanya null. | | databricks_request_id| String | ID permintaan Databricks| | date | Tanggal | Tanggal Permintaan | | timestamp_ms | Panjang | Tanda waktu dalam Ms | | timestamp | Tanda waktu | Tanda waktu permintaan | | status_code | Int | Kode status titik akhir | | execution_time_ms | Panjang | Total eksekusi Ms | | conversation_id | String |Id percakapan yang diekstrak dari log permintaan | request | String | Kueri pengguna terakhir dari percakapan pengguna. Ini akan diekstrak dari permintaan RAG.| | response | String | Respons terakhir kepada pengguna. Ini akan diekstrak dari permintaan RAG | request_raw | String | Representasi string permintaan | | response_raw | String |Representasi string respons | | trace | String | Representasi string jejak yang diekstrak dari databricks_options Struct respons | | | sampling_fraction Ganda | pengambilan sampel Fraksi | request_metadata | Peta[String, String] | schema_version | Int | Bilangan bulat untuk versi skema. Databricks mempertahankan pemetaan secara internal |

Berikut ini adalah skema untuk log penilaian.

|Nama kolom | Jenis | Deskripsi| |——-|————————|—————-| | request_id | String | ID permintaan Databricks | | step_id | String | Berasal dari penilaian pengambilan | | source | Struktur | | timestamp | Tanda waktu | Tanda waktu permintaan | text_assessment | Struktur | | retrieval_assessment | Struktur |

Mendapatkan aplikasi yang disebarkan

Berikut ini menunjukkan cara mendapatkan agen yang Anda sebarkan.

from databricks.agents import list_deployments, get_deployments

# Get the deployment for specific model_fqn and version
deployment = get_deployments(model_name=model_fqn, model_version=model_version.version)

deployments = list_deployments()
# Print all the current deployments
deployments

Sumber Daya Tambahan: