

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar um trabalho de avaliação de modelo usando métricas personalizadas
<a name="model-evaluation-custom-metrics-create-job"></a>

Para criar um trabalho de avaliação que use uma métrica personalizada, você precisa fornecer o seguinte:
+ Um prompt contendo instruções detalhadas para o modelo avaliador usar.
+ O modelo avaliador que você deseja usar para suas métricas personalizadas.

Você também pode especificar uma escala de classificação (esquema de saída) que o modelo avaliador possa usar para avaliar as respostas do modelo gerador.

É possível criar um trabalho de avaliação com métricas personalizadas usando o Console de gerenciamento da AWS, a AWS Command Line Interface (AWS CLI) ou a API do Amazon Bedrock. Use as instruções a seguir para criar o trabalho de avaliação. Para obter instruções e orientações sobre como criar o prompt para sua métrica e definir a escala de classificação especificada durante a criação, consulte [Criar um prompt para uma métrica personalizada](model-evaluation-custom-metrics-prompt-formats.md).

Quando você cria um trabalho de avaliação com uma ou mais métricas personalizadas, o Amazon Bedrock armazena as definições de suas métricas como arquivos JSON no bucket de saída do S3 que você especificar. Você pode acessar esses arquivos navegando até `s3://{{S3-output-bucket-name}}/{{job-name}}/{{job-uuid}}/custom_metrics`. Para ver o formato das definições JSON de métricas personalizadas, consulte [Criar um arquivo JSON para criar uma métrica personalizada](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

Para criar um trabalho usando as instruções a seguir, você também precisa de um conjunto de dados de prompt. Se você ainda não criou um, consulte [Criar um conjunto de dados de prompts para um trabalho de avaliação de modelo que utilizam um modelo como avaliador](model-evaluation-prompt-datasets-judge.md).

Use as instruções a seguir para criar um trabalho de avaliação de modelo como avaliador com uma ou mais métricas personalizadas.

------
#### [ Console ]

1. Abra o [console do Amazon Bedrock](https://console.aws.amazon.com/bedrock/home).

1. No painel à esquerda, em **Inferência e avaliação**, selecione **Avaliações**.

1. No painel **Avaliações de modelos**, escolha **Criar** e selecione **Automático: Modelo como juiz**.

1. Para inserir os detalhes da avaliação de modelo, faça o seguinte:

   1. No painel **Detalhes da avaliação do modelo**, em **Nome da avaliação**, insira um nome para seu trabalho de avaliação. O nome que você escolher deve ser exclusivo em sua Região da AWS.

   1. Opcionalmente, em **Descrição: *opcional***, insira uma descrição para o trabalho de avaliação.

   1. Em **Modelo de avaliador**, escolha **Selecionar modelo** e selecione o modelo avaliador que você deseja que realize seu trabalho de avaliação. Observe que o modelo selecionado aqui é usado para avaliar o modelo gerador em relação a qualquer métrica incorporada que você selecionar. É possível escolher um modelo avaliador diferente para usar em suas métricas personalizadas em uma etapa posterior.

1. Insira a fonte de inferência para o trabalho de avaliação. Com as avaliações de modelo do Amazon Bedrock, você pode avaliar o desempenho dos modelos do Amazon Bedrock ou de outros modelos fornecendo seus próprios dados de resposta de inferência no [conjunto de dados de prompts](model-evaluation-prompt-datasets-judge.md). Para selecionar um modelo do Amazon Bedrock, faça o seguinte:

   1. No painel **Fonte de inferência**, em **Selecionar origem**, escolha **Modelos do Bedrock**.

   1. Em **Selecionar modelo**, escolha **Selecionar modelo**.

   1. No pop-up, selecione o modelo que você deseja avaliar e escolha **Aplicar**.

   1. (Opcional) Para alterar os parâmetros de inferência do modelo, em **Configuração de inferência**, escolha **Atualizar**.

1. Para trazer seus próprios dados de resposta de inferência, faça o seguinte:

   1. No painel **Fonte de inferência**, em **Selecionar origem**, escolha **Trazer suas próprias respostas de inferência**.

   1. Em **Nome da origem**, insira um nome para o modelo usado para criar os dados de resposta. O nome inserido deve corresponder ao parâmetro `modelIdentifier` no [conjunto de dados de prompts](model-evaluation-prompt-datasets-judge.md#model-evaluation-prompt-datasets-judge-byoir).

1. Escolha qualquer métrica integrada com a qual você deseja que o modelo avaliador avalie as respostas do modelo gerador selecionando-as no painel **Métricas**.

1. Para adicionar mais uma métrica personalizada, primeiro selecione o modelo avaliador que você deseja usar para avaliar suas métricas. No painel **Métricas personalizadas**, faça o seguinte:

   1. Escolha **Selecionar modelo**.

   1. Na janela pop-up, selecione o modelo que você quer usar.

   1. Escolha **Aplicar**.

1. Em **Nome da métrica**, insira um nome para a métrica.

1. Você pode configurar uma métrica de três maneiras: fornecendo um arquivo JSON que especifica a métrica, editando um prompt de métrica integrada existente por meio de um modelo ou inserindo um prompt diretamente no console para uso do modelo avaliador.

   Para criar uma métrica por meio de um arquivo JSON, faça o seguinte:

   1. Em **Escolher tipo de métrica**, selecione **Importar arquivo JSON**.

   1. Em **Importar arquivo JSON**, selecione **Escolher arquivo**.

   1. Usando o seletor de arquivos, selecione o arquivo JSON com a definição de sua métrica personalizada e escolha **Abrir**. Para saber mais sobre o esquema para especificar uma métrica personalizada usando um arquivo JSON e ver alguns exemplos de arquivo, consulte [Criar um arquivo JSON para criar uma métrica personalizada](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

   1. (Opcional) Para criar outra métrica, escolha **Adicionar métricas personalizadas**. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a Etapa 13 para configurar os conjuntos de dados para o trabalho de avaliação.

1. Para criar uma métrica personalizada por meio de um modelo integrado, faça o seguinte:

   1. Em **Escolher tipo de métrica**, selecione **Usar um modelo**.

   1. Em **Selecionar um modelo**, use a lista suspensa para escolher um prompt de métrica integrado existente para usar como ponto de partida para sua métrica personalizada.

   1. Em **Instruções**, edite o prompt que você selecionou para adequá-lo ao seu caso de uso. Para ver as práticas recomendadas e uma lista dos elementos necessários ao criar um prompt de métrica personalizada, consulte [Criar um prompt para uma métrica personalizada](model-evaluation-custom-metrics-prompt-formats.md).

   1. Se você quiser que seu trabalho de avaliação produza saídas estruturadas com pontuações classificadas, deixe a opção **Esquema de saída habilitado (recomendado)** marcada. Sua configuração de métricas não precisa incluir um esquema de saída, mas recomendamos que você defina um. Se você não usar um esquema, os resultados exibidos incluirão somente explicações sem pontuações ou visualização de dados.

   1. Em **Tipo de escala**, selecione **Numérico** ou **String** de acordo com seu caso de uso e insira suas definições de escala e descrição nas caixas de texto. Para ver orientações e práticas recomendadas sobre a definição de escalas de saída, consulte [Especificar um esquema de saída (escala de classificação)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema).

   1. (Opcional) Para criar outra métrica, escolha **Adicionar métricas personalizadas**. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a Etapa 13 para configurar os conjuntos de dados para o trabalho de avaliação.

1. Para criar uma métrica personalizada do zero no console, faça o seguinte:

   1. Em **Escolher tipo de métrica**, selecione **Personalizado**.

   1. Em **Instruções**, insira o prompt da métrica personalizada diretamente na caixa de texto. Para ver as práticas recomendadas e uma lista dos elementos necessários ao criar um prompt de métrica personalizada, consulte [Criação de prompts e práticas recomendadas](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-create).

   1. Se você quiser que seu trabalho de avaliação produza saídas estruturadas com pontuações classificadas, deixe a opção **Esquema de saída habilitado (recomendado)** marcada. Sua configuração de métricas não precisa incluir um esquema de saída, mas recomendamos que você defina um. Se você não usar um esquema, os resultados exibidos incluirão somente explicações sem pontuações ou visualização de dados.

   1. Em **Tipo de escala**, selecione **Numérico** ou **String** de acordo com seu caso de uso e insira suas definições de escala e descrição nas caixas de texto. Para ver orientações e práticas recomendadas sobre a definição de escalas de saída, consulte [Especificar um esquema de saída (escala de classificação)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema).

   1. (Opcional) Para criar outra, escolha **Adicionar métricas personalizadas**. É possível criar até dez métricas personalizadas para um trabalho de avaliação.

      Quando terminar de criar suas métricas personalizadas, vá para a próxima etapa para configurar os conjuntos de dados do trabalho de avaliação.

1. Defina os locais de entrada e saída para o conjunto de dados e os resultados fazendo o seguinte:

   1. No painel **Conjuntos de dados**, em **Escolha um conjunto de dados de prompts**, insira o URI do Amazon S3 para o conjunto de dados de prompts ou escolha **Procurar no S3** e selecione o arquivo. Para ver uma definição do formato de conjunto de dados de prompts necessário para um trabalho de avaliação de modelo como avaliador, consulte [Criar um conjunto de dados de prompts para um trabalho de avaliação de modelo que utilizam um modelo como avaliador](model-evaluation-prompt-datasets-judge.md).

   1. Em **Resultados da avaliação**, insira um local do Amazon S3 para que o Amazon Bedrock salve seus resultados ou escolha **Procurar no S3** para selecionar um local.

1. Em **Perfil do IAM do Amazon Bedrock: Permissões**, selecione **Criar e usar um novo perfil de serviço** para que o Amazon Bedrock crie um perfil do IAM para o trabalho de avaliação ou selecione **Usar um perfil de serviço existente** para escolher um perfil do IAM existente. Para ver uma lista das permissões necessárias para criar e executar um trabalho de avaliação, consulte [Pré-requisitos](model-evaluation-judge-create.md#model-evaluation-judge-create-prereqs).

1. (Opcional) Para usar sua própria chave do KMS para criptografar dados de avaliação, em **KMSkey: *opcional***, marque **Personalizar configurações de criptografia (avançadas)** e selecione sua chave do AWS KMS. Por padrão, o Amazon Bedrock criptografa os dados do trabalho de avaliação com uma chave do Amazon Bedrock com uma chave do Amazon AWS Bedrock.

1. Selecione **Criar** para concluir a criação do trabalho de avaliação.

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

Os exemplos a seguir mostram como fazer uma solicitação `create-evaluation-job` usando a AWS CLI para um trabalho que inclui uma métrica personalizada. `applicationType` deve estar especificado como `ModelEvaluation`.

Você pode avaliar o desempenho dos modelos no Amazon Bedrock ou avaliar outros modelos fornecendo seus próprios dados de resposta de inferência como parte do conjunto de dados de prompts. Para saber mais sobre como criar um conjunto de dados de prompts usando suas próprias respostas de inferência, consulte, [Criar um conjunto de dados de prompts para um trabalho de avaliação de modelo que utilizam um modelo como avaliador](model-evaluation-prompt-datasets-judge.md).

**Example Comando da AWS CLI e arquivo JSON para criar um trabalho de avaliação com métricas personalizadas de um modelo do Amazon Bedrock**  

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

```
{
    "jobName": "custom-metrics-maaj",
    "applicationType": "ModelEvaluation",
    "roleArn": "arn:aws:iam::{{111122223333}}:role/service-role/Amazon-Bedrock-Custom-Metric",
    "evaluationConfig": {
        "automated": {
            "datasetMetricConfigs": [{
                "taskType": "General",
                "dataset": {
                    "name": "text_dataset",
                    "datasetLocation": {
                        "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl"
                    }
                },
                 "metricNames": [
                        "CustomMetric-Correctness-FloatRatingScale"
                    ]
            }],
            "customMetricConfig": {
                "customMetrics": [{
                        "customMetricDefinition": {
                            "name": "CustomMetric-Correctness-FloatRatingScale",
                            "instructions": "{{<Your complete custom metric prompt including at least one {{input variable}}>}}",
                            "ratingScale": [{
                                    "definition": "Not at all",
                                    "value": {
                                        "floatValue": 0
                                    }
                                },
                                {
                                    "definition": "Somewhat",
                                    "value": {
                                        "floatValue": 1
                                    }
                                },
                                {
                                    "definition": "Mostly",
                                    "value": {
                                        "floatValue": 2
                                    }
                                }
                            ]
                        }
                    }
                ],
                "evaluatorModelConfig": {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0"
                    }]
                }
            },
            "evaluatorModelConfig": {
                "bedrockEvaluatorModels": [{
                    "modelIdentifier": "mistral.mistral-large-2402-v1:0"
                }]
            }
        }
    },
    "inferenceConfig": {
        "models": [{
            "bedrockModel": {
                "modelIdentifier": "anthropic.claude-v2",
                "inferenceParams": "{\"textGenerationConfig\":{\"maxTokenCount\":256,\"temperature\":0.25,\"topP\":0.25}}"
            }
        }]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/"
    }
}
```
O arquivo JSON de exemplo contém dois objetos `evaluatorModelConfig`. O que está dentro do objeto `customMetricConfig` especifica o modelo avaliador a ser usado com métricas personalizadas. A outra instância especifica o modelo a ser usado para métricas integradas. É necessário ter cautela para especificar esses dois objetos corretamente.

**Example Comando da AWS CLI e arquivo JSON para criar um trabalho de avaliação com métricas personalizadas em que você fornece seus próprios dados de resposta de inferência**  

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

```
{
    "jobName": "custom-metrics-maaj",
    "applicationType": "ModelEvaluation",
    "roleArn": "arn:aws:iam::{{111122223333}}:role/service-role/Amazon-Bedrock-Custom-Metric",
    "evaluationConfig": {
        "automated": {
            "datasetMetricConfigs": [{
                "taskType": "General",
                "dataset": {
                    "name": "text_dataset",
                    "datasetLocation": {
                        "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl"
                    }
                },
                "metricNames": [
                        "CustomMetric-Correctness-FloatRatingScale"
                    ]
            }],
            "customMetricConfig": {
                "customMetrics": [{
                        "customMetricDefinition": {
                            "name": "CustomMetric-Correctness-FloatRatingScale",
                            "instructions": "{{<Your complete custom metric prompt including at least one {{input variable}}>}}",
                            "ratingScale": [{
                                    "definition": "Not at all",
                                    "value": {
                                        "floatValue": 0
                                    }
                                },
                                {
                                    "definition": "Somewhat",
                                    "value": {
                                        "floatValue": 1
                                    }
                                },
                                {
                                    "definition": "Mostly",
                                    "value": {
                                        "floatValue": 2
                                    }
                                }
                            ]
                        }
                    }
                ],
                "evaluatorModelConfig": {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0"
                    }]
                }
            },
            "evaluatorModelConfig": {
                "bedrockEvaluatorModels": [{
                    "modelIdentifier": "mistral.mistral-large-2402-v1:0"
                }]
            }
        }
    },
     "inferenceConfig": {
        "models": [
            {
                "precomputedInferenceSource": {
                    "inferenceSourceIdentifier": "my_model"
                }
            }
        ]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/"
    }
}
```
O arquivo JSON de exemplo contém dois objetos `evaluatorModelConfig`. O que está dentro do objeto `customMetricConfig` especifica o modelo avaliador a ser usado com métricas personalizadas. A outra instância especifica o modelo a ser usado para métricas integradas. É necessário ter cautela para especificar esses dois objetos corretamente.

------