Kurzanleitung: Bewertungsworkflow für generative KI
Auf dieser Seite erfahren Sie, wie Sie mit dem Vertex AI SDK eine modellbasierte Bewertung im Gen AI Evaluation Service durchführen.
Hinweise
-
Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Make sure that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Make sure that billing is enabled for your Google Cloud project.
Installieren Sie das Vertex AI SDK für den Gen AI Evaluation Service:
!pip install google-cloud-aiplatform[evaluation]
Beachten Sie, dass Sie möglicherweise die Kernel-Laufzeit neu starten müssen, um das Vertex AI SDK zu laden.
Anmeldedaten einrichten Wenn Sie diese Kurzanleitung in Colaboratory ausführen, führen Sie Folgendes aus:
from google.colab import auth auth.authenticate_user()
Informationen zu anderen Umgebungen finden Sie unter Bei Vertex AI authentifizieren.
Bibliotheken importieren
Importieren Sie Ihre Bibliotheken und richten Sie Ihr Projekt und Ihren Speicherort ein.
import pandas as pd
import vertexai
from vertexai.evaluation import EvalTask, PointwiseMetric, PointwiseMetricPromptTemplate
PROJECT_ID = <var>"PROJECT_ID"</var>
LOCATION = <var>"LOCATION"</var>
EXPERIMENT_NAME = <var>"EXPERIMENT_NAME"</var>
vertexai.init(
project=PROJECT_ID,
location=LOCATION,
)
Bewertungsmesswerte anhand der Kriterien einrichten
Bei der folgenden Messwertdefinition wird die Textqualität, die von einem Large Language Model generiert wird, anhand von zwei Kriterien bewertet: Fluency
und Entertaining
. Im Code wird ein Messwert namens custom_text_quality
anhand dieser beiden Kriterien definiert:
metric_prompt_template = PointwiseMetricPromptTemplate(
criteria={
"fluency": "Sentences flow smoothly and are easy to read, avoiding awkward phrasing or run-on sentences. Ideas and sentences connect logically, using transitions effectively where needed.",
"entertaining": "Short, amusing text that incorporates emojis, exclamations and questions to convey quick and spontaneous communication and diversion.",
},
rating_rubric={
"1" : "The response performs well in both criteria.",
"0" : "The response does not performs well in both criteria",
},
)
custom_text_quality = PointwiseMetric(
metric="custom_text_quality",
metric_prompt_template=metric_prompt_template,
)
Dataset vorbereiten
Fügen Sie den folgenden Code hinzu, um das Dataset vorzubereiten:
responses = [
# An example of good custom_text_quality
"Life is a rollercoaster, full of ups and downs, but it's the thrill that keeps us coming back for more!",
# An example of medium custom_text_quality
"The weather is nice today, not too hot, not too cold.",
# An example of poor custom_text_quality
"The weather is, you know, whatever.",
]
eval_dataset = pd.DataFrame({
"response" : responses,
})
Bewertung mit Ihrem Dataset ausführen
Führen Sie die Bewertung aus:
eval_task = EvalTask(
dataset=eval_dataset,
metrics=[custom_text_quality],
experiment=EXPERIMENT_NAME
)
pointwise_result = eval_task.evaluate()
So rufen Sie die Bewertungsergebnisse für jede Antwort in der metrics_table
auf:
pointwise_result.metrics_table
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:
Löschen Sie die von der Bewertung erstellte ExperimentRun
:
vertexai.ExperimentRun(
run_name=pointwise_result.metadata["experiment_run"],
experiment=pointwise_result.metadata["experiment"],
).delete()