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 daridatabricks.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:
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk