Bewertung ausführen

Auf dieser Seite erfahren Sie, wie Sie mit dem Gen AI Evaluation Service Bewertungen für Ihre generativen Sprachmodelle und Anwendungen ausführen.

Hinweis

Vertex AI SDK installieren

Führen Sie den folgenden Befehl aus, um das Gen AI Evaluation-Modul aus dem Agent Platform SDK für Python zu installieren:

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

Weitere Informationen finden Sie unter Agent Platform SDK für Python installieren.

Vertex AI SDK authentifizieren

Nachdem Sie das Agent Platform SDK für Python installiert haben, müssen Sie sich authentifizieren. In den folgenden Themen wird erläutert, wie Sie sich mit dem Vertex AI SDK authentifizieren, wenn Sie lokal und in Colaboratory arbeiten:

  • Wenn Sie lokal entwickeln, richten Sie Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) in Ihrer lokalen Umgebung ein:

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
      
    2. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

      gcloud auth application-default login
      

      Ein Anmeldebildschirm wird angezeigt. Nach der Anmeldung werden Ihre Anmeldedaten in der lokalen Anmeldedatendatei für ADC gespeichert. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.

  • Wenn Sie in Colaboratory arbeiten, führen Sie den folgenden Befehl in einer Colab-Zelle zur Authentifizierung aus:

    from google.colab import auth
    auth.authenticate_user()
    

    Mit diesem Befehl wird ein Fenster geöffnet, in dem Sie die Authentifizierung abschließen können.

Details zu Dienstkonten

Das Dienstkonto wird vom Gen AI Evaluation Service verwendet, um Vorhersagen von der Gemini API in der Gemini Enterprise Agent Platform für modellbasierte Bewertung Messwerte abzurufen. Dieses Dienstkonto wird dem Gen AI Evaluation Service bei der ersten Anfrage automatisch bereitgestellt.

Name Beschreibung E-Mail-Adresse Rolle
Agent Platform Rapid Eval Service Agent Das Dienstkonto, das zum Abrufen von Vorhersagen für die modellbasierte Bewertung verwendet wird. service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com roles/aiplatform.rapidevalServiceAgent

Die Berechtigungen, die dem Rapid Evaluation Service Agent zugeordnet sind, sind:

Rolle Berechtigungen
Agent Platform Rapid Eval Service Agent (roles/aiplatform.rapidevalServiceAgent) aiplatform.endpoints.predict

Bewertung ausführen

Der Gen AI Evaluation Service verwendet den folgenden clientbasierten Prozess zum Ausführen von Bewertungen:

  1. run_inference(): Antworten aus Ihrem Modell für eine bestimmte Reihe von Prompts generieren.

  2. evaluate(): Messwerte für die generierten Antworten berechnen.

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()

Wenn Sie die Leistung mehrerer KI-Modelle oder ‑Systeme in einer einzigen Bewertung analysieren möchten, generieren Sie eine Antwort für jeden Kandidaten und übergeben Sie sie in einer Liste an die Methode 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()

Generierte Rubriken für die Bewertung überprüfen oder wiederverwenden

Wenn Sie adaptive Rubriken vorab generieren und vor der Bewertung überprüfen oder zuvor generierte Rubriken wiederverwenden möchten, verwenden Sie den folgenden Code:

# 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(): Rubriken mit einem vordefinierten Workflow in Kombination mit dem Messwert generieren.

  • run_inference(): Antworten aus Ihrem Modell für eine bestimmte Reihe von Prompts generieren.

  • evaluate(): Antworten anhand der bereitgestellten Rubriken validieren.

Asynchrone und groß angelegte Bewertung

Für große Datasets bietet der Gen AI Evaluation Service eine asynchrone, lange laufende Batchbewertungsmethode. Dies ist ideal für Szenarien, in denen Sie keine sofortigen Ergebnisse benötigen und die Berechnung auslagern möchten.

Die Methode batch_evaluate() gibt ein Vorgangsobjekt zurück, das Sie abfragen können, um den Fortschritt zu verfolgen. Die Parameter sind mit der Methode evaluate() kompatibel.

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
)

Modelle von Drittanbietern bewerten

Sie können den Gen AI Evaluation Service verwenden, um Modelle von Anbietern wie OpenAI zu bewerten und zu vergleichen. Dazu übergeben Sie den Modellnamenstring an die Methode run_inference. Der Gen AI Evaluation Service verwendet die litellm-Bibliothek, um die Modell-API aufzurufen.

Legen Sie den erforderlichen API-Schlüssel als Umgebungsvariable fest (z. B. 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()

Nächste Schritte