Mengelola metrik evaluasi

Sebelum memulai

Sebelum mengelola metrik evaluasi, pastikan Anda memiliki hal berikut:

  • Project Google Cloud dengan Agent Platform API diaktifkan.
  • (Opsional) Jika menggunakan Agent Platform SDK, inisialisasi klien seperti yang dijelaskan dalam Mengevaluasi agen.

Pendaftaran Metrik memungkinkan Anda menentukan, menyimpan, dan mengelola konfigurasi yang dapat digunakan kembali untuk cara agen Anda dievaluasi. Daripada mengonfigurasi kriteria untuk setiap uji coba, Anda dapat menyimpan metrik standar—seperti rubrik berbasis LLM kustom untuk keamanan atau fungsi Python untuk akurasi eksekusi—dan menerapkannya secara konsisten pada penilaian offline dan monitor online berkelanjutan.

Jenis metrik

Agent Platform mendukung tiga jenis metrik dalam registri:

  • Metrik yang Telah Ditentukan: Metrik terkelola yang disediakan oleh Google, termasuk penilai multi-turn untuk keberhasilan tugas, kualitas penggunaan alat, dan kepatuhan lintasan.
  • Metrik LLM Kustom: Rubrik bahasa alami tempat "LLM Penilai" mengevaluasi respons agen berdasarkan kriteria dan skala rating spesifik Anda.
  • Metrik Kode Kustom: Fungsi Python yang secara terprogram memvalidasi perilaku agen, seperti memeriksa format output tertentu atau memverifikasi respons alat.

Selain metrik terkelola yang disediakan oleh Google, Anda dapat menggunakan metrik terdaftar yang disesuaikan untuk evaluasi.

Metrik yang telah ditetapkan

Platform Agen menyediakan serangkaian metrik yang telah ditentukan sebelumnya untuk mengevaluasi agen. Metrik ini dikelola oleh Google dan mencakup dimensi evaluasi umum untuk interaksi agen satu giliran dan multi-giliran.

Anda dapat mengakses metrik standar di SDK menggunakan types.RubricMetric.METRIC_NAME. Untuk mengetahui detail lengkap semua metrik berbasis rubrik terkelola, termasuk persyaratan input dan format output, lihat Detail untuk metrik berbasis rubrik terkelola.

Metrik agen interaksi tunggal

Metrik berikut mengevaluasi satu interaksi agen (satu perintah dan satu respons, yang berpotensi dengan panggilan alat perantara):

Metrik Jenis Pengakses SDK Deskripsi
Kualitas Respons Akhir Agen Rubrik adaptif types.RubricMetric.FINAL_RESPONSE_QUALITY Evaluasi komprehensif yang otomatis membuat kriteria rubrik berdasarkan konfigurasi agen (petunjuk sistem dan pernyataan alat) dan perintah pengguna.
Halusinasi Agen Rubrik statis types.RubricMetric.HALLUCINATION Memeriksa faktualitas dengan menyegmentasikan respons menjadi klaim atomik dan memverifikasi setiap klaim didasarkan pada penggunaan alat dari peristiwa menengah.
Kualitas Penggunaan Alat Agen Rubrik adaptif types.RubricMetric.TOOL_USE_QUALITY Mengevaluasi pemilihan alat yang sesuai, penggunaan parameter yang benar, dan kepatuhan terhadap urutan operasi yang ditentukan.
Keselamatan Rubrik statis types.RubricMetric.SAFETY Menilai apakah respons melanggar kebijakan keamanan, termasuk data demografi dan PII, ujaran kebencian, konten berbahaya, pelecehan, atau konten seksual vulgar. Menampilkan 1 untuk aman dan 0 untuk tidak aman.

Metrik agen multi-giliran

Metrik berikut mengevaluasi percakapan agen multi-giliran. Mereka menganalisis konteks percakapan lengkap untuk menilai performa agen secara keseluruhan di beberapa giliran:

Metrik Jenis Pengakses SDK Deskripsi
Keberhasilan Tugas Multi-turn Agen Rubrik adaptif types.RubricMetric.MULTI_TURN_TASK_SUCCESS Mengevaluasi apakah agen berhasil mencapai tujuan percakapan. Metrik tanpa rujukan ini berfokus pada apakah sasaran tercapai, bukan bagaimana sasaran tercapai.
Kualitas Penggunaan Alat Multi-turn Agen Rubrik adaptif types.RubricMetric.MULTI_TURN_TOOL_USE_QUALITY Mengevaluasi kualitas panggilan fungsi yang dilakukan selama percakapan multi-turn. Menilai apakah agen memanggil alat yang tepat dengan argumen yang benar pada waktu yang tepat.
Kualitas Trajektori Multi-turn Agen Rubrik adaptif types.RubricMetric.MULTI_TURN_TRAJECTORY_QUALITY Mengevaluasi keseluruhan lintasan (jalur) percakapan. Tidak seperti Keberhasilan Tugas, metrik ini menilai bagaimana agen mencapai tujuan—apakah jalur penalaran logis dan efisien.

Menggunakan metrik standar di SDK

from vertexai import evals, types

# Run an evaluation with predefined metrics
result = client.evals.evaluate(
    dataset=eval_dataset,
    metrics=[
        types.RubricMetric.FINAL_RESPONSE_QUALITY,
        types.RubricMetric.TOOL_USE_QUALITY,
        types.RubricMetric.HALLUCINATION,
        types.RubricMetric.SAFETY,
    ],
)

# Visualize results in Colab
result.show()

Mengelola metrik di konsol

  1. Di konsol Google Cloud , buka halaman Agent Platform > Agents > Evaluation.

    Buka Evaluasi

  2. Klik tab Metrik untuk melihat registri.

  3. Buat metrik: Klik Metrik baru, lalu pilih Metrik LLM kustom atau Metrik kode kustom.

  4. Tentukan rubrik: Untuk metrik LLM, gunakan tombol Contoh untuk mengisi petunjuk, kriteria (misalnya, Kejelasan atau Kemenarikan), dan skor rating dengan cepat.

  5. Lihat dan edit: Klik nama metrik untuk melihat definisinya dalam mode hanya baca, atau gunakan ikon Opsi lainnya untuk Menduplikasi atau Menghapus resource.

Mengelola metrik dengan SDK

Anda dapat mendaftarkan dan menggunakan metrik secara terprogram menggunakan Agent Platform SDK.

Mendaftarkan Metrik LLM Kustom

from vertexai import evals, types

# Define a metric with a specific rubric
tone_check_metric = types.LLMMetric(
        name="tone_check",
        prompt_template="Analyze the tone of the response ...",
        result_parsing_function="""
          import json, re
          def parse_results(responses):
              response = json.loads(responses[0])
              return {"score": response.get("score", 0.0),
                      "explanation": response.get("explanation", "default explanation")}
          """
)

# Register the custom metric
tone_check_metric_path = client.evals.create_evaluation_metric(
    metric=tone_check_metric
)

Mendaftarkan Metrik Kode Kustom

from vertexai import evals, types

# Define a metric with custom python code
accuracy_metric_code = """
def evaluate(instance: dict) -> float:
    agent_data = instance.get('agent_eval_data', {})
    turns = agent_data.get('turns', [])
    for turn in turns:
        ...
"""

accuracy_metric = types.CodeExecutionMetric(
    name="multi_turn_accuracy",
    custom_function=accuracy_metric_code
)

# Register the custom metric
accuracy_metric_path = client.evals.create_evaluation_metric(
    metric=accuracy_metric
)