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.

Hinweise

Vertex AI SDK installieren

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

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

Weitere Informationen finden Sie unter Vertex AI SDK für Python installieren.

Vertex AI SDK authentifizieren

Nachdem Sie das Vertex AI 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 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 Vertex AI 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
Vertex AI 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 Dienst-Agent für die schnelle Bewertung zugeordnet sind, 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(): Berechnen Sie 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 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 Bewertungsschemas zur Bewertung überprüfen oder wiederverwenden

Wenn Sie adaptive Bewertungsschemas vorab generieren und vor der Bewertung überprüfen oder zuvor generierte Bewertungsschemas 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(): Generiert Antworten aus Ihrem Modell für eine bestimmte Gruppe von Prompts.

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

Asynchrone und groß angelegte Auswertung

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 batch_evaluate()-Methode 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.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
)

Drittanbietermodelle 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 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