El servicio de evaluación de IA generativa te permite evaluar tus modelos de lenguaje grandes (LLM) en varias métricas con tus propios criterios. Puedes proporcionar entradas de tiempo de inferencia, respuestas de LLM y parámetros adicionales, y Gen AI Evaluation Service muestra métricas específicas para la tarea de evaluación.
Las métricas incluyen métricas basadas en modelos, como PointwiseMetric
y PairwiseMetric
, y métricas calculadas en la memoria, como rouge
, bleu
y métricas de llamadas a funciones de herramientas.
PointwiseMetric
y PairwiseMetric
son métricas genéricas basadas en modelos que puedes personalizar con tus propios criterios.
Debido a que el servicio toma los resultados de la predicción directamente de los modelos como entrada,
el servicio de evaluación puede realizar la inferencia y la evaluación posterior en
todos los modelos compatibles con
Vertex AI.
Para obtener más información acerca de cómo evaluar un modelo, consulta Descripción general del servicio de evaluación de IA generativa.
Limitaciones
Las siguientes son limitaciones del servicio de evaluación:
- Es posible que el servicio de evaluación tenga una demora de propagación en tu primera llamada.
- La mayoría de las métricas basadas en modelos consumen cuota de gemini-1.5-pro porque el servicio de evaluación de IA generativa aprovecha
gemini-1.5-pro
como el modelo de juez subyacente para calcular estas métricas basadas en modelos. - Algunas métricas basadas en modelos, como MetricX y COMET, usan diferentes modelos de aprendizaje automático, por lo que no consumen la cuota de gemini-1.5-pro.
Ejemplo de sintaxis
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/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances \ -d '{ "contents": [{ ... }], "tools": [{ "function_declarations": [ { ... } ] }] }'
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/v1beta1/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 a través de la comparación de la predicción con la referencia. |
|
Opcional: Entrada para calcular las puntuaciones |
|
Opcional: Entrada para evaluar el dominio de idioma de una sola respuesta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar una respuesta 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 solo en el texto de entrada. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de cumplir instrucciones por completo. |
|
Opcional: Entrada para evaluar la capacidad general de una sola respuesta para resumir texto. |
|
Opcional: Entrada para comparar la calidad general de resumen de dos respuestas. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar un resumen, que contiene los detalles necesarios para sustituir el texto original. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar un resumen conciso. |
|
Opcional: Entrada para evaluar la capacidad general de una sola respuesta de responder preguntas, con un cuerpo de texto de referencia. |
|
Opcional: Entrada para comparar la capacidad general de dos respuestas para responder preguntas, con un cuerpo de texto de referencia. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de responder con información relevante cuando se hace una pregunta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de proporcionar detalles clave cuando se responde una pregunta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta para responder correctamente una pregunta. |
|
Opcional: Entrada para una evaluación por puntos genérica. |
|
Opcional: Entrada para una evaluación por pares genérica. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada válida a la herramienta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada a la herramienta con el nombre correcto de la herramienta. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada a la herramienta con los nombres de parámetros correctos. |
|
Opcional: Entrada para evaluar la capacidad de una sola respuesta de predecir una llamada a la herramienta con los nombres y valores de parámetros correctos. |
|
Opcional: Entrada para evaluar con COMET. |
|
Opcional: Entrada para 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Respuesta dorada de LLM como 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 el comportamiento de la métrica. |
|
Opcional: Indica si se deben tener en cuenta los pedidos de n-gramas sin ninguna coincidencia. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Respuesta dorada de LLM como 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 el comportamiento de la métrica. |
|
Opcional: Valores aceptables:
|
|
Opcional: Indica si se debe usar el algoritmo de Porter para quitar los sufijos de palabras para mejorar la coincidencia. |
|
Opcional: Indica si se deben agregar líneas nuevas entre oraciones para rougeLsum. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Respuesta dorada de LLM como 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta de LLM. |
|
Opcional: Respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta de LLM. |
|
Opcional: Respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta de LLM. |
|
Opcional: Respuesta de 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 el comportamiento de la métrica. |
|
Opcional: GroundednessInstance Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM del modelo de referencia. |
|
Opcional: Respuesta de LLM del modelo candidato. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de LLM. |
QuestionAnsweringQualityResult
{ "question_answering_quality_result": { "score": float, "explanation": string, "confidence": float } }
Salida | |
---|---|
|
|
|
|
|
|
PairwiseQuestionAnsweringQualityInput
{ "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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM del modelo de referencia. |
|
Opcional: Respuesta de LLM del modelo candidato. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Opcional: Si se usa la referencia o no en la evaluación. |
|
Opcional: Entrada de evaluación, que consiste en entradas de inferencia y la respuesta correspondiente. |
|
Opcional: Respuesta de LLM. |
|
Opcional: Respuesta dorada de LLM como referencia. |
|
Opcional: Instrucción usada en el tiempo de inferencia. |
|
Opcional: Texto de tiempo de inferencia que contiene toda la información, que se puede usar en la respuesta de 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 el comportamiento de la métrica. |
|
Obligatorio: Una plantilla de instrucción que define la métrica. Los pares clave-valor de instance.json_instance la renderizan. |
|
Obligatorio: Entrada de evaluación, que consiste en 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 el comportamiento de la métrica. |
|
Obligatorio: Una plantilla de instrucción que define la métrica. Los pares clave-valor de instance.json_instance la renderizan. |
|
Obligatorio: Entrada de evaluación, que consiste en 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 el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM del modelo candidato, que es una cadena serializada 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 dorado en el mismo formato que la predicción. |
ToolCallValidResults
{ "tool_call_valid_results": { "tool_call_valid_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
|
|
|
ToolNameMatchInput
{ "tool_name_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica que define el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM del modelo candidato, que es una cadena serializada JSON que contiene las claves |
|
Opcional: Salida del modelo dorado en el mismo formato que la predicción. |
ToolNameMatchResults
{ "tool_name_match_results": { "tool_name_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
|
|
|
ToolParameterKeyMatchInput
{ "tool_parameter_key_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica que define el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM del modelo candidato, que es una cadena serializada JSON que contiene las claves |
|
Opcional: Salida del modelo dorado en el mismo formato que la predicción. |
ToolParameterKeyMatchResults
{ "tool_parameter_key_match_results": { "tool_parameter_key_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
|
|
|
ToolParameterKVMatchInput
{ "tool_parameter_kv_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parámetros | |
---|---|
|
Opcional: Especificación de la métrica que define el comportamiento de la métrica. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. |
|
Opcional: Respuesta de LLM del modelo candidato, que es una cadena serializada JSON que contiene las claves |
|
Opcional: Salida del modelo dorado en el mismo formato que la predicción. |
ToolParameterKVMatchResults
{ "tool_parameter_kv_match_results": { "tool_parameter_kv_match_metric_values": [ { "score": float } ] } }
Salida | |
---|---|
|
|
|
|
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 el comportamiento de la métrica. |
|
Opcional:
|
|
Opcional: Es el idioma de origen en formato BCP-47. Por ejemplo, “es”. |
|
Opcional: Es el idioma de destino en formato BCP-47. Por ejemplo, “es”. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. Los campos exactos que se usan para la evaluación dependen de la versión de COMET. |
|
Opcional: Respuesta de LLM del modelo candidato. Este es el resultado del LLM que se está evaluando. |
|
Opcional: Texto de origen. Está en el idioma original del que se tradujo la predicción. |
|
Opcional: Verdad fundamental que se usa para compararla con la predicción. Se muestra 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. |
|
Opcional:
Uno de los siguientes:
|
|
Opcional: Es el idioma de origen en formato BCP-47. Por ejemplo, “es”. |
|
Opcional: Es el idioma de destino en formato BCP-47. Por ejemplo, “es”. |
|
Opcional: Entrada de evaluación, que consiste en la respuesta y referencia de LLM. Los campos exactos que se usan para la evaluación dependen de la versión de MetricX. |
|
Opcional: Respuesta de LLM del modelo candidato. Este es el resultado del LLM que se está evaluando. |
|
Opcional: Es el texto fuente que está en el idioma original del que se tradujo la predicción. |
|
Opcional: Verdad fundamental que se usa para comparar con la predicción. Está en el mismo idioma que la predicción. |
MetricxResult
{ "metricx_result" : { "score": float } }
Salida | |
---|---|
|
|
Ejemplos
Cómo evaluar un resultado
En el siguiente ejemplo, se muestra cómo llamar a la API de Gen AI Evaluation para evaluar el resultado de un LLM a través de una variedad de métricas de evaluación, incluidas las siguientes:
summarization_quality
groundedness
fulfillment
summarization_helpfulness
summarization_verbosity
Python
Go
Evalúa un resultado: calidad de resumen por pares
En el siguiente ejemplo, se muestra cómo llamar a la API de Gen AI Evaluation Service para evaluar el resultado de un LLM mediante una comparación de calidad de resumen por pares.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- PREDICTION: respuesta de LLM.
- BASELINE_PREDICTION: respuesta de LLM del modelo de referencia.
- INSTRUCTION: la instrucción usada en el momento de la inferencia.
- CONTEXT: texto en tiempo de inferencia que contiene toda la información relevante que se puede usar en la respuesta de 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Go
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Go.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Obtén la puntuación ROUGE
En el siguiente ejemplo, se llama a la API de Gen AI Evaluation Service para obtener la puntuación de ROUGE de una predicción, generada por varias entradas. Las entradas de ROUGE usan metric_spec
, que determina el comportamiento de la métrica.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto.
- LOCATION: La región para procesar la solicitud.
- PREDICTION: respuesta de LLM.
- REFERENCE: la respuesta dorada de LLM como referencia.
- ROUGE_TYPE: el cálculo que se usa para determinar la puntuación rouge. Consulta
metric_spec.rouge_type
para conocer los valores aceptables. - USE_STEMMER: determina si se usa el algoritmo de Porter para quitar los sufijos de palabras para mejorar la coincidencia. Para obtener valores aceptables, consulta
metric_spec.use_stemmer
. - SPLIT_SUMMARIES: determina si se agregan líneas nuevas entre oraciones
rougeLsum
. Para obtener 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
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Go
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Go.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
¿Qué sigue?
- Para obtener documentación detallada, consulta Ejecuta una evaluación.