Menjalankan evaluasi

Halaman ini menunjukkan cara menjalankan evaluasi untuk model dan aplikasi bahasa generatif Anda dengan layanan evaluasi AI generatif.

Sebelum memulai

Menginstal Vertex AI SDK

Untuk menginstal modul Evaluasi AI Generatif dari Agent Platform SDK untuk Python, jalankan perintah berikut:

!pip install -q google-cloud-aiplatform[evaluation]

Untuk mengetahui informasi selengkapnya, lihat Menginstal Agent Platform SDK untuk Python.

Mengautentikasi Vertex AI SDK

Setelah menginstal Agent Platform SDK untuk Python, Anda harus melakukan autentikasi. Topik berikut menjelaskan cara melakukan autentikasi dengan Vertex AI SDK jika Anda bekerja secara lokal dan jika Anda bekerja di Colaboratory:

  • Jika Anda mengembangkan secara lokal, siapkan Kredensial Default Aplikasi (ADC) di lingkungan lokal Anda:

    1. Instal Google Cloud CLI, lalu lakukan inisialisasi dengan menjalankan perintah berikut:

      gcloud init
      
    2. Buat kredensial autentikasi lokal untuk Akun Google Anda:

      gcloud auth application-default login
      

      Layar login akan ditampilkan. Setelah Anda login, kredensial Anda akan disimpan dalam file kredensial lokal yang digunakan oleh ADC. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal.

  • Jika Anda bekerja di Colaboratory, jalankan perintah berikut di sel Colab untuk melakukan autentikasi:

    from google.colab import auth
    auth.authenticate_user()
    

    Perintah ini akan membuka jendela tempat Anda dapat menyelesaikan autentikasi.

Memahami akun layanan

Akun layanan digunakan oleh layanan evaluasi AI generatif untuk mendapatkan prediksi dari Gemini API di Gemini Enterprise Agent Platform untuk metrik evaluasi berbasis model. Akun layanan ini disediakan secara otomatis pada permintaan pertama ke layanan evaluasi AI generatif.

Nama Deskripsi Alamat email Peran
Agen Layanan Evaluasi Cepat Platform Agen Akun layanan yang digunakan untuk mendapatkan prediksi untuk evaluasi berbasis model. service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com roles/aiplatform.rapidevalServiceAgent

Izin yang terkait dengan agen layanan evaluasi cepat adalah:

Peran Izin
Agen Layanan Evaluasi Cepat Platform Agen (roles/aiplatform.rapidevalServiceAgent) aiplatform.endpoints.predict

Menjalankan evaluasi

Layanan evaluasi AI generatif menggunakan proses berbasis klien berikut untuk menjalankan evaluasi:

  1. run_inference(): Menghasilkan respons dari model Anda untuk kumpulan perintah tertentu.

  2. evaluate(): Menghitung metrik pada respons yang dihasilkan.

eval_dataset = client.evals.run_inference(
    model="gemini-2.5-flash",
src="gs://vertex-evaluation-llm-dataset-us-central1/genai_eval_sdk/test_prompts.jsonl",
)
eval_dataset.show()

eval_result = client.evals.evaluate(
    dataset=eval_dataset,
    metrics=[
        types.RubricMetric.TEXT_QUALITY,
        types.RubricMetric.QUESTION_ANSWERING_QUALITY,
        types.Metric(name='bleu'),
        types.Metric(name='rouge_1'),
    ]
)
eval_result.show()

Untuk menganalisis performa beberapa model atau sistem AI dalam satu evaluasi, buat respons untuk setiap kandidat dan teruskan dalam daftar ke metode evaluate():

inference_result_1 = client.evals.run_inference(
    model="gemini-2.0-flash",
    src=prompts_df,
)
inference_result_2 = client.evals.run_inference(
    model="gemini-2.5-flash",
    src=prompts_df,
)

# Compare the responses against each other
comparison_result = client.evals.evaluate(
    dataset=[inference_result_1, inference_result_2],
    metrics=[
        types.RubricMetric.TEXT_QUALITY,
        types.RubricMetric.INSTRUCTION_FOLLOWING,
    ]
)

comparison_result.show()

Meninjau atau menggunakan kembali rubrik yang dihasilkan untuk evaluasi

Untuk membuat rubrik adaptif secara otomatis dan meninjaunya sebelum evaluasi, atau menggunakan kembali rubrik yang dihasilkan sebelumnya, gunakan kode berikut:

# Step 1. Generate rubrics
# Rubrics would be saved in a group named "general_quality_rubrics".
data_with_rubrics = client.evals.generate_rubrics(
    src=prompts_df,
    rubric_group_name="general_quality_rubrics",
    predefined_spec_name=types.RubricMetric.GENERAL_QUALITY,
)

# Step 2. Run Inference
eval_dataset = client.evals.run_inference(
    model=inference_model,
    src=data_with_rubrics,
)

# Step 3. Evaluate with provided rubrics
# The group of rubric named "general_quality_rubrics" will be used for evaluation.
eval_result = client.evals.evaluate(
    dataset=eval_dataset,
    metrics=[types.RubricMetric.GENERAL_QUALITY(
      rubric_group_name="general_quality_rubrics",
    )],
)
  • generate_rubrics(): Membuat rubrik dengan alur kerja yang telah ditentukan yang dipasangkan dengan metrik.

  • run_inference(): Menghasilkan respons dari model Anda untuk kumpulan perintah tertentu.

  • evaluate(): Memvalidasi respons berdasarkan rubrik yang disediakan.

Evaluasi asinkron dan skala besar

Untuk set data besar, layanan evaluasi AI generatif menyediakan metode evaluasi batch asinkron yang berjalan lama. Hal ini ideal untuk skenario saat Anda tidak memerlukan hasil langsung dan ingin mengalihkan komputasi.

Metode batch_evaluate() menampilkan objek operasi yang dapat Anda polling untuk melacak progresnya. Parameter ini kompatibel dengan metode evaluate().

GCS_DEST_BUCKET = "gs://your-gcs-bucket/batch_eval_results/"

inference_result_saved = client.evals.run_inference(
    model="gemini-2.5-flash",
    src=prompts_df,
    config={'dest': GCS_DEST_BUCKET}
)
print(f"Eval dataset uploaded to: {inference_result_saved.gcs_source}")

batch_eval_job  = client.evals.batch_evaluate(
   dataset = inference_result_saved,
   metrics = [
        types.RubricMetric.FLUENCY,
        types.RubricMetric.COHERENCE,
        types.Metric(name='rouge_1'),
        types.Metric(name='bleu'),
    ],
   dest=GCS_DEST_BUCKET
)

Mengevaluasi model pihak ketiga

Anda dapat menggunakan layanan evaluasi AI generatif untuk mengevaluasi dan membandingkan model dari penyedia seperti OpenAI dengan meneruskan string nama model ke metode run_inference. Layanan evaluasi AI generatif menggunakan library litellm untuk memanggil model API.

Pastikan untuk menetapkan kunci API yang diperlukan sebagai variabel lingkungan (seperti OPENAI_API_KEY):

import os

# Set your third-party model API key
os.environ['OPENAI_API_KEY'] = 'YOUR_OPENAI_API_KEY'

# Run inference on an OpenAI model
gpt_response = client.evals.run_inference(
    model='gpt-4o',
    src=prompt_df
)

# You can now evaluate the responses
eval_result = client.evals.evaluate(
    dataset=gpt_response,
    metrics=[types.RubricMetric.TEXT_QUALITY]
)

eval_result.show()

Langkah berikutnya