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

Bevor Sie Bewertungen ausführen, müssen die folgenden Voraussetzungen erfüllt sein:

Agent Platform-SDK installieren

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

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

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

Agent Platform 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 Agent Platform SDK authentifizieren, wenn Sie lokal und in Colaboratory arbeiten:

  • Wenn Sie lokal entwickeln, richten Sie Standardanmeldedaten für Anwendungen 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 Authentifizierungsdaten 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 Standardanmeldedaten für Anwendungen 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 Bewertungsmesswerte 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. roles/aiplatform.rapidevalServiceAgent

Die mit dem Dienst-Agent für die schnelle Bewertung verknüpften Berechtigungen sind:

Rolle Berechtigungen
Vertex AI 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(): Generiert Antworten aus Ihrem Modell für eine bestimmte Gruppe von Prompts.

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

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 für jeden Kandidaten eine Antwort 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 Bewertungsschemata für die Bewertung prüfen oder wiederverwenden

Mit dem folgenden Code können Sie adaptive Bewertungsschemas vorab generieren und vor der Bewertung prüfen oder zuvor generierte Bewertungsschemas wiederverwenden:

# 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(): Generieren Sie Rubriken mit einem vordefinierten Workflow, der mit dem Messwert verknüpft ist.

  • run_inference(): Generieren Sie Antworten von Ihrem Modell für eine bestimmte Gruppe von Prompts.

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

Asynchrone und umfangreiche Bewertung

Für große Datasets bietet der Gen AI Evaluation Service eine asynchrone, lang andauernde Batchbewertungsmethode. Das 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

Mit dem Gen AI Evaluation Service können Sie Modelle von Anbietern wie OpenAI bewerten und vergleichen, indem Sie den Modellnamenstring an die Methode run_inference übergeben. Der Gen AI Evaluation Service verwendet die Bibliothek litellm, 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