Bagikan melalui


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 berjalan mlflow.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()dan batch() API.