Pelacakan MLflow untuk agen
Penting
Fitur ini ada di Pratinjau Publik.
Artikel ini menjelaskan Pelacakan MLflow dan skenario di mana sangat membantu untuk mengevaluasi aplikasi AI generatif dalam sistem AI Anda.
Dalam pengembangan perangkat lunak, pelacakan melibatkan perekaman urutan peristiwa seperti sesi pengguna atau alur permintaan. Dalam konteks sistem AI, pelacakan sering mengacu pada interaksi yang Anda miliki dengan sistem AI. Contoh jejak sistem AI mungkin terlihat seperti melengkapi input dan parameter untuk aplikasi RAG yang menyertakan pesan pengguna dengan perintah, pencarian vektor, dan antarmuka dengan model AI generatif.
Apa itu Pelacakan MLflow?
Dengan menggunakan Pelacakan MLflow, Anda dapat mencatat, menganalisis, dan membandingkan jejak di berbagai versi aplikasi AI generatif. Ini memungkinkan Anda untuk men-debug kode AI Python generatif Anda dan melacak input dan respons, membantu Anda dalam menemukan kondisi atau parameter yang berkontribusi pada performa aplikasi Anda yang buruk. Pelacakan MLflow terintegrasi erat dengan alat dan infrastruktur Databricks, memungkinkan Anda untuk menyimpan dan menampilkan semua jejak Anda di notebook Databricks atau UI Eksperimen MLflow saat Anda menjalankan kode Anda.
Saat Anda mengembangkan sistem AI pada Databricks menggunakan LangChain atau PyFunc, MLflow Tracing memungkinkan Anda melihat semua peristiwa dan output perantara dari setiap langkah agen Anda. Anda dapat dengan mudah melihat perintah, model dan pengambilan mana yang digunakan, dokumen mana yang diambil untuk menambah respons, berapa lama waktu yang dibutuhkan, dan output akhir. Jadi, jika model Berhalusinasi, Anda dapat dengan cepat memeriksa setiap langkah yang menyebabkan halusinasi.
Mengapa menggunakan Pelacakan MLflow?
Pelacakan MLflow memberikan manfaat berikut untuk membantu Anda melacak alur kerja pengembangan Anda.
- Visualisasi pelacakan interaktif dan alat investigasi untuk mendiagnosis masalah dalam pengembangan.
- Verifikasi bahwa templat permintaan dan pagar pembatas menghasilkan hasil yang wajar.
- Jelajahi dan minimalkan dampak latensi dari berbagai kerangka kerja, model, ukuran gugus, dan praktik pengembangan perangkat lunak.
- Mengukur biaya aplikasi dengan melacak penggunaan token oleh model yang berbeda.
- Menetapkan himpunan data tolok ukur ("emas") untuk mengevaluasi performa versi yang berbeda.
- Simpan jejak untuk tinjauan dan evaluasi offline. Ini memerlukan titik akhir penyajian yang dikonfigurasi untuk menggunakan tabel inferensi.
Menginstal Pelacakan MLflow
Pelacakan MLflow tersedia dalam MLflow versi 2.13.0 ke atas.
Atau, Anda dapat %pip install databricks-agents
menginstal versi databricks-agents
terbaru yang menyertakan versi MLflow yang kompatibel.
Menggunakan Pelacakan MLflow
Anda dapat menggunakan Pelacakan MLflow dalam beban kerja pengembangan agen Anda dengan cara berikut:
- Gunakan integrasi MLflow Tracing dengan LangChain,
mlflow.langchain
. Anda dapat berjalanmlflow.langchain.autolog
di agen Anda dan menjalankan API pemanggilan untuk melihat jejak secara otomatis untuk setiap langkah agen Anda. - Jika mau, Anda juga dapat menambahkan jejak secara manual ke bagian tertentu dari agen Anda menggunakan API Fasih atau API Klien MLflow.
Menambahkan jejak ke agen Anda
MLflow Tracing menyediakan dua cara berbeda untuk menggunakan jejak dengan aplikasi AI generatif Anda dengan jejak. Lihat Menambahkan jejak ke agen Anda.
API | Deskripsi |
---|---|
API Fasih | (Disarankan) API kode rendah untuk melengkapi sistem AI tanpa khawatir tentang struktur pohon jejak. MLflow menentukan struktur pohon induk-anak yang sesuai (rentang) berdasarkan tumpukan Python. |
API Klien MLflow | MLflowClient mengimplementasikan API yang lebih terperinci dan aman untuk kasus penggunaan tingkat lanjut. API ini tidak mengelola hubungan induk-anak dari rentang, jadi Anda perlu menentukannya secara manual untuk membangun struktur pelacakan yang diinginkan. Ini membutuhkan lebih banyak kode tetapi memberi Anda kontrol yang lebih baik atas siklus hidup jejak, terutama untuk kasus penggunaan multi-utas. Direkomendasikan untuk kasus penggunaan yang memerlukan lebih banyak kontrol, seperti aplikasi multi-utas atau instrumentasi berbasis panggilan balik. |
Mengaktifkan tabel inferensi untuk mengumpulkan jejak
Untuk mencatat jejak dalam tabel inferensi, Anda harus mengatur ENABLE_MLFLOW_TRACING
variabel lingkungan dalam konfigurasi titik akhir penyajian Anda ke True
. Lihat Menambahkan variabel lingkungan teks biasa. Jika Anda menyebarkan agen menggunakan deploy()
API, jejak secara otomatis dicatat dalam tabel inferensi. Lihat Menyebarkan agen menggunakan deploy().
Catatan
Mengaktifkan pelacakan mungkin memperkenalkan beberapa overhead ke kecepatan respons titik akhir, terutama ketika ukuran pelacakan untuk setiap permintaan inferensi besar. Databricks tidak menjamin perjanjian tingkat layanan (SLA) untuk dampak latensi aktual pada titik akhir model Anda, karena sangat tergantung pada lingkungan dan implementasi model. Databricks merekomendasikan pengujian performa titik akhir Anda dan mendapatkan wawasan tentang overhead pelacakan sebelum menyebarkan ke aplikasi produksi.
Tabel berikut memberikan indikasi kasar tentang dampak pada latensi inferensi untuk ukuran jejak yang berbeda.
Ukuran pelacakan per permintaan | Dampak ke latensi (ms) |
---|---|
~10 KB | ~ 1 mdtk |
~ 1 MB | 50 ~ 100 mdtk |
10 MB | 150 ms ~ |
Batasan
- Pelacakan MLflow hanya tersedia di buku catatan Databricks dan pekerjaan notebook.
- Autologging LangChain hanya
invoke()
mendukung , ,stream()
danbatch()
API.
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