El servicio de evaluación de IA generativa te permite evaluar tus modelos de lenguaje extensos (LLMs) en varias métricas con tus propios criterios. Puedes proporcionar entradas de tiempo de inferencia, respuestas de LLM y parámetros adicionales, y el servicio de evaluación de IA generativa devuelve métricas específicas de la tarea de evaluación.
Entre las métricas se incluyen las basadas en modelos, como PointwiseMetric
y PairwiseMetric
, y las métricas calculadas en memoria, como rouge
, bleu
y las métricas de llamadas de funciones de herramientas.
PointwiseMetric
y PairwiseMetric
son métricas genéricas basadas en modelos que puedes personalizar con tus propios criterios.
Como el servicio toma los resultados de las predicciones directamente de los modelos como entrada, el servicio de evaluación puede realizar tanto inferencias como evaluaciones posteriores en todos los modelos compatibles con Vertex AI.
Para obtener más información sobre cómo evaluar un modelo, consulta el artículo sobre el servicio de evaluación de IA generativa.
Limitaciones
Estas son las limitaciones del servicio de evaluación:
- El servicio de evaluación puede tener un retraso en la propagación en tu primera llamada.
- La mayoría de las métricas basadas en modelos consumen cuota de gemini-2.0-flash porque el servicio de evaluación de la IA generativa usa
gemini-2.0-flash
como modelo de juez subyacente para calcular estas métricas. - Algunas métricas basadas en modelos, como MetricX y COMET, usan diferentes modelos de aprendizaje automático, por lo que no consumen cuota de gemini-2.0-flash.
Sintaxis de ejemplo
Sintaxis para enviar una llamada de evaluación.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances \ -d '{ "pointwise_metric_input" : { "metric_spec" : { ... }, "instance": { ... }, } }'
Python
import json from google import auth from google.api_core import exceptions from google.auth.transport import requests as google_auth_requests creds, _ = auth.default( scopes=['https://www.googleapis.com/auth/cloud-platform']) data = { ... } uri = f'https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))
Lista de parámetros
Parámetros | |
---|---|
|
Opcional: Entrada para evaluar si la predicción coincide exactamente con la referencia. |
|
Opcional: Entrada para calcular la puntuación BLEU comparando la predicción con la referencia. |
|
Opcional: Entrada para calcular las puntuaciones de |
|
Opcional: Campo de entrada para evaluar el dominio del idioma de una sola respuesta. |
|
Opcional: Campo de entrada para evaluar la capacidad de una sola respuesta de proporcionar una réplica coherente y fácil de seguir. |
|
Opcional: Entrada para evaluar el nivel de seguridad de una sola respuesta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar o hacer referencia a información incluida únicamente en el texto de entrada. |
|
Opcional: Campo de entrada para evaluar la capacidad de una sola respuesta para cumplir las instrucciones por completo. |
|
Opcional: Campo de entrada para evaluar la capacidad general de una respuesta para resumir texto. |
|
Opcional: Campo de entrada para comparar la calidad general del resumen de dos respuestas. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar un resumen que contenga los detalles necesarios para sustituir el texto original. |
|
Opcional: Entrada para evaluar la capacidad de una única respuesta para proporcionar un resumen conciso. |
|
Opcional: Entrada para evaluar la capacidad general de una respuesta para responder a preguntas, dado un cuerpo de texto de referencia. |
|
Opcional: Campo de entrada para comparar la capacidad general de dos respuestas para responder preguntas, dado un cuerpo de texto de referencia. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar información relevante cuando se le hace una pregunta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar detalles clave al responder a una pregunta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta para responder correctamente a una pregunta. |
|
Opcional: Entrada para una evaluación genérica punto a punto. |
|
Opcional: Entrada para una evaluación genérica por pares. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta para predecir una llamada a herramienta válida. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada a una herramienta con el nombre de herramienta correcto. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada a una herramienta con nombres de parámetros correctos. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada a herramienta con nombres y valores de parámetros correctos |
|
Opcional: Entrada que se va a evaluar con COMET. |
|
Opcional: Entrada que se va a evaluar con MetricX. |
ExactMatchInput
{ "exact_match_input": { "metric_spec": {}, "instances": [ { "prediction": string, "reference": string } ] } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Respuesta de LLM de referencia. |
ExactMatchResults
{ "exact_match_results": { "exact_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Resultados de la evaluación por entrada de instancia. |
|
Uno de los siguientes:
|
BleuInput
{ "bleu_input": { "metric_spec": { "use_effective_order": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Si se deben tener en cuenta los órdenes de n-gramas sin ninguna coincidencia. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Respuesta de LLM de referencia. |
BleuResults
{ "bleu_results": { "bleu_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Resultados de la evaluación por entrada de instancia. |
|
|
RougeInput
{ "rouge_input": { "metric_spec": { "rouge_type": string, "use_stemmer": bool, "split_summaries": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Valores aceptables:
|
|
Opcional: Indica si se debe usar el lematizador Porter para eliminar los sufijos de las palabras y mejorar la coincidencia. |
|
Opcional: Si se deben añadir saltos de línea entre frases para rougeLsum. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Respuesta de LLM de referencia. |
RougeResults
{ "rouge_results": { "rouge_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Resultados de la evaluación por entrada de instancia. |
|
|
FluencyInput
{ "fluency_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta del LLM. |
|
Opcional: Respuesta del LLM. |
FluencyResult
{ "fluency_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
CoherenceInput
{ "coherence_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta del LLM. |
|
Opcional: Respuesta del LLM. |
CoherenceResult
{ "coherence_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
SafetyInput
{ "safety_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta del LLM. |
|
Opcional: Respuesta del LLM. |
SafetyResult
{ "safety_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
GroundednessInput
{ "groundedness_input": { "metric_spec": {}, "instance": { "prediction": string, "context": string } } }
Parámetro |
Descripción |
|
Opcional: GroundednessSpec Especificación de la métrica, que define su comportamiento. |
|
Opcional: GroundednessInstance Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
GroundednessResult
{ "groundedness_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
FulfillmentInput
{ "fulfillment_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
FulfillmentResult
{ "fulfillment_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
SummarizationQualityInput
{ "summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
SummarizationQualityResult
{ "summarization_quality_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
PairwiseSummarizationQualityInput
{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "baseline_prediction": string, "prediction": string, "instruction": string, "context": string, } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM del modelo de referencia. |
|
Opcional: Respuesta del LLM del modelo candidato. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
PairwiseSummarizationQualityResult
{ "pairwise_summarization_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
SummarizationHelpfulnessInput
{ "summarization_helpfulness_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
SummarizationHelpfulnessResult
{ "summarization_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
SummarizationVerbosityInput
{ "summarization_verbosity_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
SummarizationVerbosityResult
{ "summarization_verbosity_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
QuestionAnsweringQualityInput
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
QuestionAnsweringQualityResult
{ "question_answering_quality_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
PairwiseQuestionAnsweringQualityInput
{ "pairwise_question_answering_quality_input": { "metric_spec": {}, "instance": { "baseline_prediction": string, "prediction": string, "instruction": string, "context": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM del modelo de referencia. |
|
Opcional: Respuesta del LLM del modelo candidato. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
PairwiseQuestionAnsweringQualityResult
{ "pairwise_question_answering_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
QuestionAnsweringRelevanceInput
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
QuestionAnsweringRelevancyResult
{ "question_answering_relevancy_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
QuestionAnsweringHelpfulnessInput
{ "question_answering_helpfulness_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
QuestionAnsweringHelpfulnessResult
{ "question_answering_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
QuestionAnsweringCorrectnessInput
{ "question_answering_correctness_input": { "metric_spec": { "use_reference": bool }, "instance": { "prediction": string, "reference": string, "instruction": string, "context": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Si se usa o no una referencia en la evaluación. |
|
Opcional: Entrada de evaluación, que consta de entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta del LLM. |
|
Opcional: Respuesta de LLM de referencia. |
|
Opcional: Instrucción utilizada en el momento de la inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información y que se puede usar en la respuesta del LLM. |
QuestionAnsweringCorrectnessResult
{ "question_answering_correctness_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
PointwiseMetricInput
{ "pointwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Parámetros | |
---|---|
|
Obligatorio: Especificación de la métrica, que define su comportamiento. |
|
Obligatorio: Una plantilla de petición que define la métrica. Se renderiza mediante los pares clave-valor de instance.json_instance. |
|
Obligatorio: Entrada de evaluación, que consta de json_instance. |
|
Opcional: Los pares clave-valor en formato JSON. Por ejemplo, {"key_1": "value_1", "key_2": "value_2"}. Se usa para renderizar metric_spec.metric_prompt_template. |
PointwiseMetricResult
{ "pointwise_metric_result": { "score": float, "explanation": string, } }
Salida | |
---|---|
|
|
|
|
PairwiseMetricInput
{ "pairwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Parámetros | |
---|---|
|
Obligatorio: Especificación de la métrica, que define su comportamiento. |
|
Obligatorio: Una plantilla de petición que define la métrica. Se renderiza mediante los pares clave-valor de instance.json_instance. |
|
Obligatorio: Entrada de evaluación, que consta de json_instance. |
|
Opcional: Los pares clave-valor en formato JSON. Por ejemplo, {"key_1": "value_1", "key_2": "value_2"}. Se usa para renderizar metric_spec.metric_prompt_template. |
PairwiseMetricResult
{ "pairwise_metric_result": { "score": float, "explanation": string, } }
Salida | |
---|---|
|
|
|
|
ToolCallValidInput
{ "tool_call_valid_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM del modelo candidato, que es una cadena serializada en JSON que contiene las claves { "content": "", "tool_calls": [ { "name": "book_tickets", "arguments": { "movie": "Mission Impossible Dead Reckoning Part 1", "theater": "Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30", "num_tix": "2" } } ] } |
|
Opcional: Salida del modelo de referencia con el mismo formato que la predicción. |
ToolCallValidResults
{ "tool_call_valid_results": { "tool_call_valid_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Repetido |
|
|
ToolNameMatchInput
{ "tool_name_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM del modelo candidato, que es una cadena serializada en JSON que contiene las claves |
|
Opcional: Salida del modelo de referencia con el mismo formato que la predicción. |
ToolNameMatchResults
{ "tool_name_match_results": { "tool_name_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Repetido |
|
|
ToolParameterKeyMatchInput
{ "tool_parameter_key_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM del modelo candidato, que es una cadena serializada en JSON que contiene las claves |
|
Opcional: Salida del modelo de referencia con el mismo formato que la predicción. |
ToolParameterKeyMatchResults
{ "tool_parameter_key_match_results": { "tool_parameter_key_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Repetido |
|
|
ToolParameterKVMatchInput
{ "tool_parameter_kv_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. |
|
Opcional: Respuesta del LLM del modelo candidato, que es una cadena serializada en JSON que contiene las claves |
|
Opcional: Salida del modelo de referencia con el mismo formato que la predicción. |
ToolParameterKVMatchResults
{ "tool_parameter_kv_match_results": { "tool_parameter_kv_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
Repetido |
|
|
CometInput
{ "comet_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define su comportamiento. |
|
Opcional:
|
|
Opcional: Idioma de origen en formato BCP-47. Por ejemplo, "es". |
|
Opcional: Idioma de destino en formato BCP-47. Por ejemplo, "es" |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. Los campos exactos que se usan para la evaluación dependen de la versión de COMET. |
|
Opcional: Respuesta del LLM del modelo candidato. Es el resultado del LLM que se está evaluando. |
|
Opcional: Texto de origen. Este es el idioma original del que se ha traducido la predicción. |
|
Opcional: Validación en el terreno usada para comparar con la predicción. Está en el mismo idioma que la predicción. |
CometResult
{ "comet_result" : { "score": float } }
Salida | |
---|---|
|
|
MetricxInput
{ "metricx_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica, que define el comportamiento de la métrica. |
|
Optional:
Uno de los siguientes:
|
|
Opcional: Idioma de origen en formato BCP-47. Por ejemplo, "es". |
|
Opcional: Idioma de destino en formato BCP-47. Por ejemplo, "es". |
|
Opcional: Entrada de evaluación, que consta de la respuesta del LLM y la referencia. Los campos exactos que se usan para la evaluación dependen de la versión de MetricX. |
|
Opcional: Respuesta del LLM del modelo candidato. Es el resultado del LLM que se está evaluando. |
|
Opcional: Texto de origen en el idioma original del que se ha traducido la predicción. |
|
Opcional: Validación en el terreno usada para comparar con la predicción. Está en el mismo idioma que la predicción. |
MetricxResult
{ "metricx_result" : { "score": float } }
Salida | |
---|---|
|
|
Ejemplos
Evaluar un resultado
En el siguiente ejemplo se muestra cómo llamar a la API Gen AI Evaluation para evaluar el resultado de un LLM mediante varias métricas de evaluación, entre las que se incluyen las siguientes:
summarization_quality
groundedness
fulfillment
summarization_helpfulness
summarization_verbosity
Python
Go
Evaluar un resultado: calidad de la resumen por pares
En el siguiente ejemplo se muestra cómo llamar a la API del servicio de evaluación de IA generativa para evaluar el resultado de un LLM mediante una comparación de calidad de resumen por pares.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: .
- LOCATION: la región en la que se procesará la solicitud.
- PREDICTION: respuesta del LLM.
- BASELINE_PREDICTION: respuesta del LLM del modelo de base.
- INSTRUCTION: la instrucción usada durante la inferencia.
- CONTEXT: texto en tiempo de inferencia que contiene toda la información pertinente y que se puede usar en la respuesta del LLM.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \
Cuerpo JSON de la solicitud:
{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": "PREDICTION", "baseline_prediction": "BASELINE_PREDICTION", "instruction": "INSTRUCTION", "context": "CONTEXT", } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \" | Select-Object -Expand Content
Python
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Go
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Obtener la puntuación ROUGE
En el siguiente ejemplo se llama a la API del servicio de evaluación de la IA generativa para obtener la puntuación ROUGE de una predicción generada por una serie de entradas. Las entradas de ROUGE usan metric_spec
, que determina el comportamiento de la métrica.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: .
- LOCATION: la región en la que se procesará la solicitud.
- PREDICTION: respuesta del LLM.
- REFERENCE: respuesta de LLM de referencia.
- ROUGE_TYPE: cálculo que se usa para determinar la puntuación de Rogue. Consulta los valores aceptables en
metric_spec.rouge_type
. - USE_STEMMER: determina si se usa el lematizador Porter para eliminar los sufijos de las palabras y mejorar la coincidencia. Para ver los valores aceptables, consulta
metric_spec.use_stemmer
. - SPLIT_SUMMARIES: determina si se añaden líneas nuevas entre las frases de
rougeLsum
. Para ver los valores aceptables, consultametric_spec.split_summaries
.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \
Cuerpo JSON de la solicitud:
{ "rouge_input": { "instances": { "prediction": "PREDICTION", "reference": "REFERENCE.", }, "metric_spec": { "rouge_type": "ROUGE_TYPE", "use_stemmer": USE_STEMMER, "split_summaries": SPLIT_SUMMARIES, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \" | Select-Object -Expand Content
Python
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Go
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Siguientes pasos
- Para obtener documentación detallada, consulta Realizar una evaluación.