Tutorial: realizar uma avaliação usando o SDK do Python

Nesta página, mostramos como realizar uma avaliação baseada em modelo com o serviço de avaliação de IA generativa usando o SDK da Vertex AI para Python.

Antes de começar

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

  2. Instale o SDK da Vertex AI para Python com a dependência do serviço de avaliação de IA generativa:

    !pip install google-cloud-aiplatform[evaluation]
    
  3. Configure suas credenciais. Se você estiver executando este guia de início rápido no Colaboratory, faça o seguinte:

    from google.colab import auth
    auth.authenticate_user()
    

    Para outros ambientes, consulte Autenticar na Vertex AI.

Importar bibliotecas

Importe as bibliotecas e configure o projeto e o local.

import pandas as pd

import vertexai
from vertexai.evaluation import EvalTask, PointwiseMetric, PointwiseMetricPromptTemplate
from google.cloud import aiplatform

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

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

O EXPERIMENT_NAME só pode conter caracteres alfanuméricos minúsculos e hifens, até um máximo de 127 caracteres.

Configurar métricas de avaliação com base nos seus critérios

A definição de métrica a seguir avalia a qualidade do texto gerado a partir de um modelo de linguagem grande com base em dois critérios: Fluency e Entertaining. O código define uma métrica chamada custom_text_quality usando esses dois critérios:

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

Preparar o conjunto de dados

Adicione o seguinte código para preparar o conjunto de dados:

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

Executar avaliação com seu conjunto de dados

Execute a avaliação:

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

pointwise_result = eval_task.evaluate()

Confira os resultados da avaliação de cada resposta no DataFrame do Pandas metrics_table:

pointwise_result.metrics_table

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

Exclua o ExperimentRun criado pela avaliação:

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

A seguir