Eseguire una valutazione

Questa pagina mostra come eseguire valutazioni per i modelli e le applicazioni di linguaggio generativo con Gen AI evaluation service.

Prima di iniziare

Installa l'SDK Vertex AI

Per installare il modulo Gen AI Evaluation dall'SDK Vertex AI per Python, esegui questo comando:

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

Per ulteriori informazioni, consulta Installare l'SDK Vertex AI Python.

Autentica l'SDK Vertex AI

Dopo aver installato l'SDK Vertex AI per Python, devi eseguire l'autenticazione. I seguenti argomenti spiegano come eseguire l'autenticazione con l'SDK Vertex AI se lavori in locale e in Colaboratory:

  • Se esegui lo sviluppo in locale, configura le credenziali predefinite dell'applicazione (ADC) nel tuo ambiente locale:

    1. Installa Google Cloud CLI, quindi inizializzala eseguendo questo comando:

      gcloud init
      
    2. Crea credenziali di autenticazione locale per il tuo Account Google:

      gcloud auth application-default login
      

      Viene visualizzata una schermata di accesso. Dopo l'accesso, le tue credenziali vengono memorizzate nel file delle credenziali locale utilizzato da ADC. Per maggiori informazioni, vedi Configurare ADC per un ambiente di sviluppo locale.

  • Se lavori in Colaboratory, esegui questo comando in una cella Colab per l'autenticazione:

    from google.colab import auth
    auth.authenticate_user()
    

    Questo comando apre una finestra in cui puoi completare l'autenticazione.

Informazioni sugli account di servizio

L'account di servizio viene utilizzato da Gen AI evaluation service per ottenere le previsioni dall'API Gemini in Vertex AI per le metriche di valutazione basate sul modello. Questo account di servizio viene eseguito il provisioning automaticamente alla prima richiesta al servizio Gen AI evaluation service.

Nome Descrizione Indirizzo email Ruolo
Vertex AI Rapid Eval Service Agent Il account di servizio utilizzato per ottenere le previsioni per la valutazione basata sul modello. service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com roles/aiplatform.rapidevalServiceAgent

Le autorizzazioni associate all'agente di servizio di valutazione rapida sono:

Ruolo Autorizzazioni
Vertex AI Rapid Eval Service Agent (roles/aiplatform.rapidevalServiceAgent) aiplatform.endpoints.predict

Esegui la valutazione

Il servizio di valutazione dell'AI generativa utilizza il seguente processo basato sul cliente per eseguire le valutazioni:

  1. run_inference(): genera risposte dal modello per un determinato insieme di prompt.

  2. evaluate(): Calcola le metriche sulle risposte generate.

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()

Per analizzare le prestazioni di più modelli o sistemi di AI in una singola valutazione, genera una risposta per ogni candidato e trasmettila in un elenco al metodo 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()

Esaminare o riutilizzare le griglie generate per la valutazione

Per pregenerare griglie adattive e rivederle prima della valutazione o riutilizzare griglie generate in precedenza, utilizza il seguente codice:

# 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(): genera griglie con un flusso di lavoro predefinito associato alla metrica.

  • run_inference(): genera risposte dal modello per un determinato insieme di prompt.

  • evaluate(): convalida le risposte in base alle griglie fornite.

Valutazione asincrona e su larga scala

Per i set di dati di grandi dimensioni, il servizio di valutazione dell'AI generativa fornisce un metodo di valutazione batch asincrono e di lunga durata. Questa opzione è ideale per gli scenari in cui non hai bisogno di risultati immediati e vuoi eseguire l'offload del calcolo.

Il metodo batch_evaluate() restituisce un oggetto operazione di cui puoi eseguire il polling per monitorarne l'avanzamento. I parametri sono compatibili con il metodo evaluate().

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
)

Valutazione di modelli di terze parti

Puoi utilizzare Gen AI evaluation service per valutare e confrontare i modelli di provider come OpenAI passando la stringa del nome del modello al metodo run_inference. Gen AI evaluation service utilizza la libreria litellm per chiamare l'API del modello.

Assicurati di impostare la chiave API richiesta come variabile di ambiente (ad esempio 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()

Passaggi successivi