Guida rapida: flusso di lavoro di valutazione dell'IA generativa

Questa pagina mostra come eseguire una valutazione basata su modello con il servizio di valutazione dell'IA generativa utilizzando l'SDK Vertex AI per Python.

Prima di iniziare

  1. 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.

    Go to project selector

    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.

    Go to project selector

    Make sure that billing is enabled for your Google Cloud project.

  2. Installa l'SDK Vertex AI per Python con la dipendenza da Gen AI Evaluation Service:

    !pip install google-cloud-aiplatform[evaluation]
    
  3. Configura le tue credenziali. Se esegui questa guida rapida in Colaboratory, esegui quanto segue:

    from google.colab import auth
    auth.authenticate_user()
    

    Per altri ambienti, consulta Autenticazione in Vertex AI.

Importare librerie

Importa le tue librerie e configura il progetto e la località.

import pandas as pd

import vertexai
from vertexai.evaluation import EvalTask, PointwiseMetric, PointwiseMetricPromptTemplate

PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"
EXPERIMENT_NAME = "EXPERIMENT_NAME"

vertexai.init(
    project=PROJECT_ID,
    location=LOCATION,
)

Configura le metriche di valutazione in base ai tuoi criteri

La seguente definizione di metrica valuta la qualità del testo generato da un modello linguistico di grandi dimensioni in base a due criteri: Fluency e Entertaining. Il codice definisce una metrica denominata custom_text_quality utilizzando i due criteri seguenti:

custom_text_quality = PointwiseMetric(
    metric="custom_text_quality",
    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 on both criteria.",
            "0": "The response is somewhat aligned with both criteria",
            "-1": "The response falls short on both criteria",
        },
    ),
)

Prepara il set di dati

Aggiungi il codice seguente per preparare il set di dati:

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,
})

Esegui la valutazione con il set di dati

Esegui la valutazione:

eval_task = EvalTask(
    dataset=eval_dataset,
    metrics=[custom_text_quality],
    experiment=EXPERIMENT_NAME
)

pointwise_result = eval_task.evaluate()

Visualizza i risultati della valutazione per ogni risposta nel metrics_table:

pointwise_result.metrics_table

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi per le risorse utilizzate in questa pagina, segui questi passaggi.

Elimina ExperimentRun creato dalla valutazione:

vertexai.ExperimentRun(
    run_name=pointwise_result.metadata["experiment_run"],
    experiment=pointwise_result.metadata["experiment"],
).delete()

Passaggi successivi