Bagikan melalui


Apa itu Evaluasi Agen AI Mosaik?

Penting

Fitur ini ada di Pratinjau Publik.

Artikel ini memberikan gambaran umum tentang cara bekerja dengan Evaluasi Agen AI Mosaik. Evaluasi Agen membantu pengembang mengevaluasi kualitas, biaya, dan latensi aplikasi AI agenik, termasuk aplikasi dan rantai RAG. Evaluasi Agen dirancang untuk mengidentifikasi masalah kualitas dan menentukan akar penyebab masalah tersebut. Kemampuan Evaluasi Agen disatukan di seluruh fase pengembangan, penahapan, dan produksi siklus hidup MLOps, dan semua metrik dan data evaluasi dicatat ke MLflow Runs.

Evaluasi Agen mengintegrasikan teknik evaluasi canggih yang didukung penelitian ke dalam SDK dan UI yang ramah pengguna yang terintegrasi dengan lakehouse, MLflow, dan komponen Platform Data Intelligence Databricks lainnya. Dikembangkan bekerja sama dengan penelitian Mosaic AI, teknologi eksklusif ini menawarkan pendekatan komprehensif untuk menganalisis dan meningkatkan performa agen.

Diagram LLMOps memperlihatkan evaluasi

Aplikasi AI agenik kompleks dan melibatkan banyak komponen yang berbeda. Mengevaluasi performa aplikasi ini tidak mudah seperti mengevaluasi performa model ML tradisional. Metrik kualitatif dan kuantitatif yang digunakan untuk mengevaluasi kualitas secara inheren lebih kompleks. Evaluasi Agen mencakup hakim LLM kepemilikan dan metrik agen untuk mengevaluasi pengambilan dan kualitas permintaan serta metrik performa keseluruhan seperti latensi dan biaya token.

Bagaimana cara menggunakan Evaluasi Agen?

Kode berikut menunjukkan cara memanggil dan menguji Evaluasi Agen pada output yang dihasilkan sebelumnya. Ini mengembalikan dataframe dengan skor evaluasi yang dihitung oleh hakim LLM yang merupakan bagian dari Evaluasi Agen.

Anda bisa menyalin dan menempelkan hal berikut ini ke dalam buku catatan Databricks yang sudah ada:

%pip install mlflow databricks-agents
dbutils.library.restartPython()

import mlflow
import pandas as pd

examples =  {
    "request": [
      {
      # Recommended `messages` format
        "messages": [{
          "role": "user",
          "content": "Spark is a data analytics framework."
        }],
      },
      # Primitive string format
      # Note: Using a primitive string is discouraged. The string will be wrapped in the
      # OpenAI messages format before being passed to your agent.
      "How do I convert a Spark DataFrame to Pandas?"
    ],
    "response": [
        "Spark is a data analytics framework.",
        "This is not possible as Spark is not a panda.",
    ],
    "retrieved_context": [ # Optional, needed for judging groundedness.
        [{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
        [{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
    ],
    "expected_response": [ # Optional, needed for judging correctness.
        "Spark is a data analytics framework.",
        "To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
    ]
}

result = mlflow.evaluate(
    data=pd.DataFrame(examples),    # Your evaluation set
    # model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
    model_type="databricks-agent",  # Enable Mosaic AI Agent Evaluation
)

# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])

Atau, Anda bisa mengimpor dan menjalankan buku catatan berikut di ruang kerja Databricks Anda:

Buku catatan contoh Evaluasi Agen AI Mosaik

Dapatkan buku catatan

Input dan output Evaluasi Agen

Diagram berikut menunjukkan gambaran umum input yang diterima oleh Evaluasi Agen dan output terkait yang dihasilkan oleh Evaluasi Agen.

agent_eval_data_flows

Input

Untuk detail input yang diharapkan untuk Evaluasi Agen, termasuk nama bidang dan jenis data, lihat skema input. Beberapa bidang adalah sebagai berikut:

  • Kueri pengguna (request): Input ke agen (pertanyaan atau kueri pengguna). Misalnya, "Apa itu RAG?".
  • Respons agen (response): Respons yang dihasilkan oleh agen. Misalnya, "Pengambilan generasi tertambung adalah ...".
  • Respons yang diharapkan (expected_response): (Opsional) Respons kebenaran dasar (benar).
  • Jejak MLflow (trace): (Opsional) Pelacakan MLflow agen, tempat Evaluasi Agen mengekstrak output perantara seperti konteks atau panggilan alat yang diambil. Atau, Anda dapat memberikan output perantara ini secara langsung.

Output

Berdasarkan input ini, Evaluasi Agen menghasilkan dua jenis output:

  1. Hasil Evaluasi (per baris): Untuk setiap baris yang disediakan sebagai input, Evaluasi Agen menghasilkan baris output terkait yang berisi penilaian terperinci tentang kualitas, biaya, dan latensi agen Anda.
    • Hakim LLM memeriksa berbagai aspek kualitas, seperti kebenaran atau groundedness, menghasilkan skor ya/tidak dan alasan tertulis untuk skor tersebut. Untuk detailnya, lihat Bagaimana kualitas, biaya, dan latensi dinilai oleh Evaluasi Agen.
    • Penilaian juri LLM digabungkan untuk menghasilkan skor keseluruhan yang menunjukkan apakah baris tersebut "lolos" (berkualitas tinggi) atau "gagal" (memiliki masalah kualitas).
      • Untuk baris yang gagal, akar penyebabnya diidentifikasi. Setiap akar penyebab sesuai dengan penilaian hakim LLM tertentu, memungkinkan Anda menggunakan alasan hakim untuk mengidentifikasi potensi perbaikan.
    • Biaya dan latensi diekstrak dari jejak MLflow. Untuk detailnya, lihat Bagaimana biaya dan latensi dinilai.
  2. Metrik (skor agregat): Skor agregat yang meringkas kualitas, biaya, dan latensi agen Anda di semua baris input. Ini termasuk metrik seperti persentase jawaban yang benar, jumlah token rata-rata, latensi rata-rata, dan banyak lagi. Untuk detailnya, lihat Bagaimana biaya dan latensi dinilai dan Bagaimana metrik dikumpulkan pada tingkat MLflow yang dijalankan untuk kualitas, biaya, dan latensi.

Pengembangan (evaluasi offline) dan produksi (pemantauan online)

Evaluasi Agen dirancang agar konsisten antara lingkungan pengembangan (offline) dan produksi (online) Anda. Desain ini memungkinkan transisi yang lancar dari pengembangan ke produksi, memungkinkan Anda untuk dengan cepat mengurutkan, mengevaluasi, menyebarkan, dan memantau aplikasi agenik berkualitas tinggi.

Perbedaan utama antara pengembangan dan produksi adalah bahwa dalam produksi, Anda tidak memiliki label kebenaran dasar, sementara dalam pengembangan, Anda dapat secara opsional menggunakan label kebenaran dasar. Menggunakan label kebenaran dasar memungkinkan Evaluasi Agen untuk menghitung metrik kualitas tambahan.

Pengembangan (offline)

agent_eval_overview_dev

Dalam pengembangan, Anda requests dan expected_responses berasal dari set evaluasi. Kumpulan evaluasi adalah kumpulan input perwakilan yang harus dapat ditangani agen Anda secara akurat. Untuk informasi selengkapnya tentang set evaluasi, lihat Set evaluasi.

Untuk mendapatkan response dan trace, Evaluasi Agen dapat memanggil kode agen Anda untuk menghasilkan output ini untuk setiap baris dalam kumpulan evaluasi. Atau, Anda dapat menghasilkan output ini sendiri dan meneruskannya ke Evaluasi Agen. Lihat Cara memberikan input ke evaluasi yang dijalankan untuk informasi selengkapnya.

Produksi (online)

agent_eval_overview_prod

Dalam produksi, semua input ke Evaluasi Agen berasal dari log produksi Anda.

Jika Anda menggunakan Mosaic AI Agent Framework untuk menyebarkan aplikasi AI Anda, Evaluasi Agen dapat dikonfigurasi untuk secara otomatis mengumpulkan input ini dari tabel inferensi yang ditingkatkan Agen dan terus memperbarui dasbor pemantauan. Untuk detail selengkapnya, lihat Cara memantau kualitas agen Anda pada lalu lintas produksi.

Jika Anda menyebarkan agen di luar Azure Databricks, Anda dapat ETL log Anda ke skema input yang diperlukan dan mengonfigurasi dasbor pemantauan yang sama.

Menetapkan tolok ukur kualitas dengan set evaluasi

Untuk mengukur kualitas aplikasi AI dalam pengembangan (offline), Anda perlu menentukan set evaluasi, yaitu serangkaian pertanyaan perwakilan dan jawaban kebenaran dasar opsional. Jika aplikasi melibatkan langkah pengambilan, seperti dalam alur kerja RAG, maka Anda dapat secara opsional memberikan dokumen pendukung yang Anda harapkan responsnya didasarkan.

Untuk detail tentang set evaluasi, termasuk dependensi metrik dan praktik terbaik, lihat Set evaluasi. Untuk skema yang diperlukan, lihat Skema input Evaluasi Agen.

Evaluasi berjalan

Untuk detail tentang cara menjalankan evaluasi, lihat Cara menjalankan evaluasi dan melihat hasilnya. Evaluasi Agen mendukung dua opsi untuk memberikan output dari rantai:

  • Anda dapat menjalankan aplikasi sebagai bagian dari eksekusi evaluasi. Aplikasi menghasilkan hasil untuk setiap input dalam set evaluasi.
  • Anda dapat memberikan output dari eksekusi aplikasi sebelumnya.

Untuk detail dan penjelasan tentang kapan menggunakan setiap opsi, lihat Cara memberikan input ke eksekusi evaluasi.

Mendapatkan umpan balik manusia tentang kualitas aplikasi GenAI

Aplikasi ulasan Databricks memudahkan untuk mengumpulkan umpan balik tentang kualitas aplikasi AI dari pengulas manusia. Untuk detailnya, lihat Mendapatkan umpan balik tentang kualitas aplikasi agenik.

Ketersediaan geografis fitur Asisten

Evaluasi Agen AI Mosaik adalah Layanan yang Ditunjuk yang menggunakan Geos untuk mengelola residensi data saat memproses konten pelanggan. Untuk mempelajari selengkapnya tentang ketersediaan Evaluasi Agen di area geografis yang berbeda, lihat Databricks Designated Services.

Harga

Untuk informasi harga, lihat Harga Evaluasi Agen AI Mosaik.

Pembatasan

Evaluasi Agen tidak tersedia di ruang kerja dengan dukungan HIPAA.

Informasi tentang model yang mendukung hakim LLM

  • Hakim LLM mungkin menggunakan layanan pihak ketiga untuk mengevaluasi aplikasi GenAI Anda, termasuk Azure OpenAI yang dioperasikan oleh Microsoft.
  • Untuk Azure OpenAI, Databricks telah memilih keluar dari Pemantauan Penyalahgunaan sehingga tidak ada permintaan atau respons yang disimpan dengan Azure OpenAI.
  • Untuk ruang kerja Uni Eropa (UE), hakim LLM menggunakan model yang dihosting di UE. Semua wilayah lain menggunakan model yang dihosting di AS.
  • Menonaktifkan fitur bantuan AI yang didukung Azure AI mencegah hakim LLM memanggil model yang didukung Azure AI.
  • Data yang dikirim ke hakim LLM tidak digunakan untuk pelatihan model apa pun.
  • Hakim LLM dimaksudkan untuk membantu pelanggan mengevaluasi aplikasi RAG mereka, dan output hakim LLM tidak boleh digunakan untuk melatih, meningkatkan, atau menyempurnakan LLM.