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 Gen AI dari Vertex AI SDK untuk Python, jalankan perintah berikut:

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

Untuk mengetahui informasi selengkapnya, lihat Menginstal Vertex AI SDK untuk Python.

Mengautentikasi Vertex AI SDK

Setelah menginstal Vertex AI SDK untuk Python, Anda perlu 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 melakukan pengembangan 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 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 mengautentikasi:

    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 Vertex AI 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 Vertex AI Akun layanan yang digunakan untuk mendapatkan prediksi untuk evaluasi berbasis model. service-PROJECT_NUMBER@gcp-sa-vertex-eval. roles/aiplatform.rapidevalServiceAgent

Izin yang terkait dengan agen layanan evaluasi cepat adalah:

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

Jalankan evaluasi Anda

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

  1. run_inference(): Menghasilkan respons dari model Anda untuk serangkaian 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 dibuat untuk evaluasi

Untuk membuat rubrik adaptif terlebih dahulu dan meninjaunya sebelum evaluasi, atau menggunakan kembali rubrik yang dibuat 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(): Buat rubrik dengan alur kerja yang telah ditentukan sebelumnya yang dipasangkan dengan metrik.

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

  • evaluate(): Validasi respons berdasarkan rubrik yang diberikan.

Evaluasi asinkron dan berskala besar

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

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

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

inference_result_saved = client.evals.run_inference(
    model="gemini-2.0-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.TEXT_QUALITY,
        types.RubricMetric.INSTRUCTION_FOLLOWING,
        types.RubricMetric.FLUENCY,
        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 API model.

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