

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de un trabajo de evaluación de modelos con intervención humana
<a name="model-evaluation-jobs-management-create-human"></a>

En los siguientes ejemplos se muestra cómo crear un trabajo de evaluación de modelos con intervención humana.

**Consola**

**Para crear un trabajo de evaluación de modelos con trabajadores humanos:**

1. Abra la [consola de Amazon Bedrock](https://console.aws.amazon.com/bedrock/).

1. En el panel de navegación, en **Inferencia y evaluación**, seleccione **Evaluaciones**.

1. En el panel **Evaluación del modelo**, en **Humano**, elija **Crear** y seleccione **Humano: utilice a su propio equipo de trabajo**.

1. En la página **Especificar detalles del proyecto**, haga lo siguiente:

   1. **Nombre de la evaluación**: asigne al trabajo de evaluación de modelos un nombre que describa el trabajo. Este nombre se muestra en su lista de trabajos de evaluación de modelos. El nombre debe ser único en su cuenta en una Región de AWS. 

   1. **Descripción** (opcional): proporcione una descripción opcional.

   1. Elija **Siguiente**.

1. En la página **Configure la evaluación**, en **Origen de inferencia**, seleccione el origen para la evaluación del modelo. Puede evaluar el rendimiento de los modelos de Amazon Bedrock o de otros modelos proporcionando sus propios datos de respuesta de inferencia en el conjunto de datos de peticiones. Puede seleccionar un máximo de dos orígenes de inferencia. Para los trabajos con dos orígenes, no tiene que elegir el mismo tipo para ambos orígenes; puede seleccionar un modelo de Amazon Bedrock y proporcionar sus propios datos de respuesta de inferencia para el segundo origen. Para evaluar modelos de Amazon Bedrock, haga lo siguiente:

   1. En **Seleccione un origen**, seleccione **Modelos de Bedrock**.

   1. En **Seleccionar el modelo**, elija el modelo que desea evaluar.

   1. Para seleccionar un segundo modelo, elija **Agregar modelo** y repita los pasos anteriores.

1. Para traer sus propios datos de respuesta de inferencia, haga lo siguiente:

   1. En **Seleccione un origen**, seleccione **Traiga sus propias respuestas de inferencia**.

   1. En **Nombre del origen**, introduzca un nombre para el modelo que utilizó para crear los datos de respuesta. El nombre que introduzca debe coincidir con el parámetro `modelIdentifier` del [conjunto de datos de peticiones](model-evaluation-prompt-datasets-custom-human.md#model-evaluation-prompt-datasets-custom-human-byoir).

   1. Para añadir un segundo origen, elija **Agregar modelo** y repita los pasos anteriores.

1. En **Tipo de tarea**, seleccione el tipo de tarea que desea que el modelo realice durante el trabajo de evaluación de modelos. Todas las instrucciones del modelo deben incluirse en las propias peticiones. El tipo de tarea no controla las respuestas del modelo.

1. En el panel **Conjuntos de datos**, debe proporcionar lo siguiente.

   1. En **Elija un conjunto de datos de peticiones**, especifique el URI de S3 del archivo de conjunto de datos de peticiones o elija **Explorar S3** para ver los buckets de S3 disponibles. Puede tener un máximo de 1000 peticiones en un conjunto de datos de peticiones personalizado.

   1. En **Destino de los resultados de la evaluación**, especifique el URI de S3 del directorio en el que desee guardar los resultados del trabajo de evaluación de modelos o elija **Explorar S3** para ver los buckets de S3 disponibles.

1. (Opcional) En **Clave de KMS (opcional)**, proporcione el ARN de la clave de administrada por el cliente que desea utilizar para cifrar el trabajo de evaluación de modelos.

1. En el panel **Rol de IAM de Amazon Bedrock: permisos**, haga lo siguiente. Para obtener más información sobre los permisos necesarios para las evaluaciones de modelos, consulte [Requisitos de rol de servicio para los trabajos de evaluación de modelos](model-evaluation-security-service-roles.md).

   1. Para utilizar un rol de servicio de Amazon Bedrock existente, seleccione **Utilizar un rol existente**. De lo contrario, utilice **Crear un nuevo rol** para especificar los detalles del nuevo rol de servicio de IAM.

   1. En **Rol de servicio**, elija el nombre del rol de servicio de IAM.

   1. Cuando esté todo listo, elija **Crear rol** para crear el nuevo rol de servicio de IAM. 

1. Elija **Siguiente**.

1. En **Equipo de trabajo**, use el menú desplegable **Seleccione un equipo** para seleccionar un equipo existente o cree uno nuevo de la siguiente manera:

   1. En **Nombre del equipo**, escriba un nombre para su equipo.

   1. En **Direcciones de correo electrónico**, introduzca las direcciones de correo electrónico de los trabajadores humanos de su equipo.

   1. En **Número de trabajadores por petición**, seleccione el número de trabajadores que evalúan cada petición. Una vez revisadas las respuestas de cada petición según el número de trabajadores que haya seleccionado, la petición y sus respuestas se retirarán de la circulación por parte del equipo de trabajo. El informe de resultados final incluirá todas las calificaciones de cada trabajador.
**importante**  
Se sabe que los modelos de lenguaje grandes alucinan de vez en cuando y producen contenido tóxico u ofensivo. Es posible que a sus trabajadores se les muestre material tóxico u ofensivo durante esta evaluación. Asegúrese de tomar las medidas adecuadas para formarlos y notificarlos antes de que trabajen en la evaluación. Pueden rechazar y dejar en pausa las tareas o tomarse descansos durante la evaluación mientras acceden a la herramienta de evaluación humana.

1. En **Rol de IAM del flujo de trabajo humano: permisos**, seleccione un rol existente o seleccione **Crear un nuevo rol**.

1. Elija **Siguiente**.

1. En **Instrucciones de evaluación**, proporcione instrucciones para completar la tarea. Puede obtener una vista previa de la interfaz de usuario de evaluación que su equipo de trabajo utiliza para evaluar las respuestas, incluidas las métricas, los métodos de calificación y sus instrucciones. Esta vista previa se basa en la configuración que ha creado para este trabajo.

1. Elija **Siguiente**.

1. Revise la configuración del trabajo y elija **Crear** para crear el trabajo.
**nota**  
Una vez que el trabajo se haya iniciado correctamente, el estado cambiará a **En curso**. Cuando el trabajo haya finalizado, el estado cambiará a **Completado**. Mientras el trabajo de evaluación del modelo esté **en curso**, puede optar por detenerlo antes de que su equipo de trabajo haya evaluado todas las respuestas del modelo. Para ello, seleccione **Detener la evaluación** en la página de inicio de la evaluación del modelo. Esto cambiará el **estado** del trabajo de evaluación del modelo a **Detener**. Una vez que el trabajo de evaluación del modelo se haya detenido correctamente, puede eliminarlo.

**API y AWS CLI**

Cuando crea un trabajo de evaluación de modelos basado en humanos fuera de la consola de Amazon Bedrock, debe crear un ARN de definición de flujo de Amazon SageMaker AI.

El ARN de definición del flujo es donde se define el flujo de trabajo de evaluación de un modelo. La definición del flujo se utiliza para definir la interfaz de trabajo y el equipo de trabajo que desea asignar a la tarea y conectarse a Amazon Bedrock.

Para los trabajos de evaluación de modelos que comiencen a utilizar las operaciones de la API de Amazon Bedrock, *debe* crear un ARN de definición de flujo mediante AWS CLI el SDK o uno compatible. AWS *Para obtener más información sobre cómo funcionan las definiciones de flujo y cómo crearlas mediante programación, consulte [Crear un flujo de trabajo de revisión humana (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-create-flow-definition.html#a2i-create-human-review-api) en la SageMaker Guía para desarrolladores de IA.*

En la [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html) debe especificar `AWS/Bedrock/Evaluation` como entrada de `AwsManagedHumanLoopRequestSource`. El rol de servicio de Amazon Bedrock también debe tener permisos para acceder al bucket de salida de la definición del flujo.

A continuación, se muestra un ejemplo de solicitud que utiliza AWS CLI. En la solicitud, `HumanTaskUiArn` se trata de un SageMaker ARN propiedad de AI. En el ARN, solo puede modificar la Región de AWS.

```
aws sagemaker create-flow-definition --cli-input-json '
{
	"FlowDefinitionName": "human-evaluation-task01",
	"HumanLoopRequestSource": {
        "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation"
    },
    "HumanLoopConfig": {
		"WorkteamArn": "arn:aws:sagemaker:Región de AWS:111122223333:workteam/private-crowd/my-workteam",
		## The Task UI ARN is provided by the service team, you can only modify the Región de AWS.
		"HumanTaskUiArn":"arn:aws:sagemaker:Región de AWS:394669845002:human-task-ui/Evaluation"
		"TaskTitle": "Human review tasks",
		"TaskDescription": "Provide a real good answer",
		"TaskCount": 1,
		"TaskAvailabilityLifetimeInSeconds": 864000,
		"TaskTimeLimitInSeconds": 3600,
		"TaskKeywords": [
		    "foo"
        ]
    },
    "OutputConfig": {
        "S3OutputPath": "s3://amzn-s3-demo-destination-bucket"
    },
    "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn"
}'
```

Tras crear el ARN de definición de flujo, utilice los siguientes ejemplos para crear un trabajo de evaluación de modelos basado en humanos mediante el SDK AWS CLI o un SDK compatible. AWS 

------
#### [ AWS CLI ]

En el siguiente comando de ejemplo y archivo JSON se muestra cómo crear un trabajo de evaluación de modelos con intervención humana en el que proporciona sus propios datos de respuesta de inferencia. Para obtener información sobre cómo especificar un conjunto de datos de peticiones para un trabajo de evaluación de modelos con intervención humana, consulte [Requisitos para crear conjuntos de datos de peticiones personalizados para un trabajo de evaluación de modelos con intervención humana](model-evaluation-prompt-datasets-custom-human.md).

**Example AWS CLI comando y archivo JSON para crear un trabajo de evaluación con sus propios datos de respuesta a la inferencia**  

```
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
```

```
{
    "jobName": "model-eval-llama-vs-my-other-model",
    "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-20250218T223671",
    "evaluationConfig": {
        "human": {
            "customMetrics": [
                {
                    "description": "Measures the organization and structure of a generated text.",
                    "name": "Coherence",
                    "ratingMethod": "ThumbsUpDown"
                },
                {
                    "description": "Indicates the accuracy of a generated text.",
                    "name": "Accuracy",
                    "ratingMethod": "ComparisonChoice"
                }
            ],
            "datasetMetricConfigs": [
                {
                    "dataset": {
                        "datasetLocation": {
                            "s3Uri": "s3://amzn-s3-demo-bucket/input/model-eval/fitness-dataset-model-eval-byoir-2-models.jsonl"
                        },
                        "name": "dataset1"
                    },
                    "metricNames": [
                        "Coherence",
                        "Accuracy"
                    ],
                    "taskType": "Generation"
                }
            ],
            "humanWorkflowConfig": {
                "flowDefinitionArn": "arn:aws:sagemaker:us-east-1:111122223333:flow-definition/bedrock-fitness-human-byoir",
                "instructions": "<h3>The following are the metrics and their descriptions for this evaluation</h3>\n<p><strong>Coherence</strong>: Measures the organization and structure of a generated text. - <em>Thumbs up/down</em>\n<strong>Accuracy</strong>: Indicates the accuracy of a generated text. - <em>Choice buttons</em></p>\n<h3>Instructions for how to use the evaluation tool</h3>\n<p>The evaluation creator should use this space to write detailed descriptions for every rating method so your evaluators know how to properly rate the responses with the buttons on their screen.</p>\n<h4>For example:</h4>\n<p>If using <strong>Likert scale - individual</strong>, define the 1 and 5 of the 5 point Likert scale for each metric so your evaluators know if 1 or 5 means favorable/acceptable/preferable.\nIf using <strong>Likert scale - comparison</strong>, describe what the evaluator is looking for to determine their preference between two responses.\nIf using <strong>Choice buttons</strong>, describe what is preferred according to your metric and its description.\nIf using <strong>Ordinal ranking</strong>, define what should receive a #1 ranking according to your metric and its description.\nIf using <strong>Thumbs up/down</strong>, define what makes an acceptable response according to your metric and its description.</p>\n<h3>Describing your ground truth responses if applicable to your dataset</h3>\n<p>Describe the purpose of your ground truth responses that will be shown on screen next to each model response. Note that the ground truth responses you provide are not rated/scored by the evaluators - they are meant to be a reference standard for comparison against the model responses.</p>"
            }
        }
    },
    "inferenceConfig": {
        "models": [
            {
                "precomputedInferenceSource": {
                    "inferenceSourceIdentifier": "llama-3-1-80b"
                }
            },
            {
                "precomputedInferenceSource": {
                    "inferenceSourceIdentifier": "my_other_model"
                }
            }
        ]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-bucket/output/"
    }
}
```

------
#### [ SDK for Python ]

En el siguiente ejemplo de código se muestra cómo crear un trabajo de evaluación del modelo con intervención humana mediante el SDK para Python.

```
import boto3
client = boto3.client('bedrock')

job_request = client.create_evaluation_job(
    jobName="111122223333-job-01",
    jobDescription="two different task types",
    roleArn="arn:aws:iam::111122223333:role/example-human-eval-api-role",
    inferenceConfig={
        ## You must specify and array of models
        "models": [
            {
                "bedrockModel": {
                    "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1",
                    "inferenceParams":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}"
                }

            },
            {
                "bedrockModel": {
                    "modelIdentifier": "anthropic.claude-v2",
                    "inferenceParams": "{\"inferenceConfig\":{\"maxTokens\":512,\"temperature\":1,\"topP\":0.999,\"stopSequences\":[\"stop\"]},\"additionalModelRequestFields\":{\"top_k\": 128}}"
                }
            }
        ]
    },
    outputDataConfig={
        "s3Uri":"s3://job-bucket/outputs/"
    },
    evaluationConfig={
        "human": {
        "humanWorkflowConfig": {
            "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/example-workflow-arn",
            "instructions": "some human eval instruction"
        },
        "customMetrics": [
            {
                "name": "IndividualLikertScale",
                "description": "testing",
                "ratingMethod": "IndividualLikertScale"
            }
        ],
        "datasetMetricConfigs": [
            {
                "taskType": "Summarization",
                "dataset": {
                    "name": "Custom_Dataset1",
                    "datasetLocation": {
                        "s3Uri": "s3://job-bucket/custom-datasets/custom-trex.jsonl"
                    }
                },
                "metricNames": [
                  "IndividualLikertScale"
                ]
            }
        ]
      }

    }
)

print(job_request)
```

------