

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d’une tâche d’évaluation des modèles à l’aide de métriques personnalisées
<a name="model-evaluation-custom-metrics-create-job"></a>

Pour créer une tâche d’évaluation utilisant une métrique personnalisée, vous devez fournir les éléments suivants :
+ Une invite contenant les instructions détaillées à utiliser par le modèle d’évaluation
+ Le modèle évaluateur que vous souhaitez utiliser pour vos métriques personnalisées

Vous pouvez également spécifier une échelle de notation (schéma de sortie) que le modèle d’évaluation peut utiliser pour noter les réponses du modèle générateur.

Vous pouvez créer une tâche d’évaluation avec des métriques personnalisées à l’aide de la AWS Management Console, de l’AWS Command Line Interface (AWS CLI) ou de l’API Amazon Bedrock. Suivez les instructions ci-après pour créer votre tâche d’évaluation. Pour obtenir des instructions et des conseils sur la création de l’invite pour votre métrique et sur la définition de l’échelle de notation que vous spécifiez lors de la création, consultez [Création d’une invite pour une métrique personnalisée](model-evaluation-custom-metrics-prompt-formats.md).

Lorsque vous créez une tâche d’évaluation avec une ou plusieurs métriques personnalisées, Amazon Bedrock enregistre vos définitions de métriques sous forme de fichiers JSON dans le compartiment S3 de sortie que vous spécifiez. Vous pouvez accéder à ces fichiers via `s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics`. Pour connaître le format des définitions JSON des métriques personnalisées, consultez [Création d’un fichier JSON pour créer une métrique personnalisée](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

Pour créer une tâche à l’aide des instructions suivantes, vous avez aussi besoin d’un jeu de données d’invite. Si vous n’en avez pas encore créé, consultez [Création d’un jeu de données d’invite pour une tâche d’évaluation des modèles qui utilise un modèle en tant que juge](model-evaluation-prompt-datasets-judge.md).

Utilisez les instructions suivantes pour créer une tâche d’évaluation basée sur un modèle en tant que juge avec une ou plusieurs métriques personnalisées.

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

1. Ouvrez la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/home).

1. Dans le volet de gauche, sous **Inférence et évaluation**, sélectionnez **Évaluations**.

1. Dans le volet **Évaluations des modèles**, choisissez **Créer**, puis sélectionnez **Automatique : modèle en tant que juge**.

1. Saisissez les informations relatives à l’évaluation de votre modèle en procédant comme suit :

   1. Dans le volet **Détails de l’évaluation du modèle**, sous **Nom de l’évaluation**, entrez le nom de votre tâche d’évaluation. Le nom que vous choisissez doit être unique dans votre Région AWS.

   1. Éventuellement, dans **Description – *Facultatif***, entrez la description de votre tâche d’évaluation.

   1. Sous **Modèle évaluateur**, choisissez **Sélectionner un modèle** et sélectionnez le modèle d’évaluation que vous souhaitez utiliser pour effectuer votre tâche d’évaluation. Notez que le modèle que vous sélectionnez ici est utilisé pour évaluer votre modèle générateur par rapport aux métriques intégrées que vous sélectionnez. Vous pouvez choisir un autre modèle évaluateur à utiliser pour vos mesures personnalisées à une étape ultérieure.

1. Entrez la source d’inférence pour votre tâche d’évaluation. Avec les évaluations des modèles Amazon Bedrock, vous pouvez soit évaluer les performances des modèles Amazon Bedrock, soit celles d’autres modèles en fournissant vos propres données de réponse d’inférence dans le [jeu de données d’invite](model-evaluation-prompt-datasets-judge.md). Pour sélectionner un modèle Amazon Bedrock, procédez comme suit :

   1. Dans le volet **Source d’inférence**, sous **Sélectionner la source**, sélectionnez **Modèles Bedrock**.

   1. Sous **Sélectionner le modèle**, choisissez **Sélectionner le modèle**.

   1. Dans la fenêtre contextuelle, sélectionnez le modèle que vous souhaitez évaluer et choisissez **Appliquer**.

   1. (Facultatif) Pour modifier les paramètres d’inférence du modèle, pour **Configuration d’inférence**, choisissez **Mettre à jour**.

1. Pour apporter vos propres données de réponse d’inférence, procédez comme suit :

   1. Dans le volet **Source d’inférence**, sous **Sélectionner la source**, sélectionnez **Apporter vos propres réponses d’inférence**.

   1. Dans **Nom de la source**, entrez le nom du modèle que vous avez utilisé pour créer les données de réponse. Le nom que vous saisissez doit correspondre au paramètre `modelIdentifier` de votre [jeu de données d’invite](model-evaluation-prompt-datasets-judge.md#model-evaluation-prompt-datasets-judge-byoir).

1. Choisissez les métriques intégrées que vous souhaitez que le modèle évaluateur utilise pour noter les réponses de votre modèle générateur en les sélectionnant dans le volet **Métriques**.

1. Pour ajouter une autre métrique personnalisée, commencez par sélectionner le modèle évaluateur que vous souhaitez utiliser pour évaluer vos métriques. Dans le volet **Métriques personnalisées**, procédez comme suit :

   1. Choisissez **Sélectionner le modèle**.

   1. Dans la fenêtre contextuelle, sélectionnez le modèle que vous souhaitez utiliser.

   1. Choisissez **Appliquer**.

1. Sous **Nom de la métrique**, saisissez le nom de votre métrique.

1. Vous pouvez configurer votre métrique de trois façons : en fournissant un fichier JSON qui spécifie la métrique, en modifiant une invite de métrique intégrée existante à partir d’un modèle ou en saisissant directement dans la console une invite à utiliser par le modèle évaluateur.

   Pour créer une métrique à partir d’un fichier JSON, procédez comme suit :

   1. Sous **Choisir un type de métrique**, sélectionnez **Importer un fichier JSON**.

   1. Sous **Importer un fichier JSON**, choisissez **Choisir un fichier**.

   1. À l’aide du sélecteur de fichiers, sélectionnez le fichier JSON avec votre définition de métrique personnalisée et choisissez **Ouvrir**. Pour en savoir plus sur le schéma permettant de spécifier une métrique personnalisée à l’aide d’un fichier JSON et découvrir des exemples de fichiers, consultez [Création d’un fichier JSON pour créer une métrique personnalisée](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

   1. (Facultatif) Pour créer une autre métrique, choisissez **Ajouter des métriques personnalisées**. Vous pouvez créer jusqu’à 10 métriques personnalisées pour une tâche d’évaluation.

      Après avoir créé vos métriques personnalisées, passez à l’étape 13 pour configurer vos jeux de données pour la tâche d’évaluation.

1. Pour créer une métrique personnalisée à partir d’un modèle intégré, procédez comme suit :

   1. Sous **Choisir un type de métrique**, sélectionnez **Utiliser un modèle**.

   1. Sous **Sélectionner un modèle**, utilisez la liste déroulante pour choisir une invite de métrique intégrée à utiliser comme point de départ pour votre métrique personnalisée.

   1. Sous **Instructions**, modifiez l’invite que vous avez sélectionnée pour l’adapter à votre propre cas d’utilisation. Pour connaître les bonnes pratiques et obtenir la liste des éléments requis lors de la création d’une invite de métrique personnalisée, consultez [Création d’une invite pour une métrique personnalisée](model-evaluation-custom-metrics-prompt-formats.md).

   1. Si vous souhaitez que votre tâche d’évaluation produise des sorties structurées avec des scores classés, laissez la case **Schéma de sortie activé (recommandé)** cochée. La configuration de votre métrique ne doit pas obligatoirement inclure un schéma de sortie, mais nous vous recommandons d’en définir un. Si vous n’utilisez pas de schéma, les résultats que vous visualisez incluent uniquement des explications, sans scores ni visualisation de données.

   1. Sous **Type d’échelle**, sélectionnez **Numérique** ou **Chaîne** en fonction de votre cas d’utilisation, puis saisissez vos définitions d’échelle et de description dans les zones de texte. Pour obtenir des conseils et des bonnes pratiques sur la définition des échelles de sortie, consultez [Spécification d’un schéma de sortie (échelle de notation)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema).

   1. (Facultatif) Pour créer une autre métrique, choisissez **Ajouter des métriques personnalisées**. Vous pouvez créer jusqu’à 10 métriques personnalisées pour une tâche d’évaluation.

      Après avoir créé vos métriques personnalisées, passez à l’étape 13 pour configurer vos jeux de données pour la tâche d’évaluation.

1. Pour créer une métrique personnalisée à partir de zéro dans la console, procédez comme suit :

   1. Sous **Choisir un type de métrique**, sélectionnez **Personnalisé**.

   1. Sous **Instructions**, saisissez l’invite pour votre métrique personnalisée directement dans la zone de texte. Pour connaître les bonnes pratiques et obtenir la liste des éléments requis lors de la création d’une invite de métrique personnalisée, consultez [Construction d’invite et bonnes pratiques](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-create).

   1. Si vous souhaitez que votre tâche d’évaluation produise des sorties structurées avec des scores classés, laissez la case **Schéma de sortie activé (recommandé)** cochée. La configuration de votre métrique ne doit pas obligatoirement inclure un schéma de sortie, mais nous vous recommandons d’en définir un. Si vous n’utilisez pas de schéma, les résultats que vous visualisez incluent uniquement des explications, sans scores ni visualisation de données.

   1. Sous **Type d’échelle**, sélectionnez **Numérique** ou **Chaîne** en fonction de votre cas d’utilisation, puis saisissez vos définitions d’échelle et de description dans les zones de texte. Pour obtenir des conseils et des bonnes pratiques sur la définition des échelles de sortie, consultez [Spécification d’un schéma de sortie (échelle de notation)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema).

   1. (Facultatif) Pour en créer une autre, choisissez **Ajouter des métriques personnalisées**. Vous pouvez créer jusqu’à 10 métriques personnalisées pour une tâche d’évaluation.

      Après avoir créé vos métriques personnalisées, passez à l’étape suivante afin de configurer vos jeux de données pour la tâche d’évaluation.

1. Définissez les emplacements d’entrée et de sortie de votre jeu de données et de vos résultats en procédant comme suit :

   1. Dans le volet **Jeux de données**, sous **Choisir un jeu de données d’invite**, saisissez l’URI Amazon S3 de votre jeu de données d’invite ou cliquez sur **Parcourir S3** et sélectionnez votre fichier. Pour voir une définition du format de jeu de données d’invite requis pour une tâche d’évaluation basée sur un modèle en tant que juge, consultez [Création d’un jeu de données d’invite pour une tâche d’évaluation des modèles qui utilise un modèle en tant que juge](model-evaluation-prompt-datasets-judge.md).

   1. Sous **Résultats de l’évaluation**, saisissez un emplacement Amazon S3 pour Amazon Bedrock afin d’enregistrer vos résultats ou cliquez sur **Parcourir S3** pour sélectionner un emplacement.

1. Sous **Rôle IAM Amazon Bedrock : autorisations**, sélectionnez **Créer et utiliser un nouveau rôle de service** pour qu’Amazon Bedrock crée un nouveau rôle IAM pour la tâche d’évaluation, ou sélectionnez **Utiliser un rôle de service existant** pour sélectionner un rôle IAM existant. Pour obtenir la liste des autorisations requises pour créer et exécuter une tâche d’évaluation, consultez [Conditions préalables](model-evaluation-judge-create.md#model-evaluation-judge-create-prereqs).

1. (Facultatif) Pour utiliser votre propre clé KMS afin de chiffrer vos données d’évaluation, sous **Clé KMS – *Facultatif***, cochez **Personnaliser les paramètres de chiffrement (avancé)** et sélectionnez votre clé AWS KMS. Par défaut, Amazon Bedrock chiffre les données de votre tâche d’évaluation à l’aide d’une clé KMS détenue par AWS.

1. Cliquez sur **Créer** pour terminer la création de votre tâche d’évaluation.

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

Les exemples suivants montrent comment effectuer une demande `create-evaluation-job` à l’aide de l’AWS CLI for a job incluant une métrique personnalisée. Assurez-vous que `applicationType` est spécifié comme `ModelEvaluation`.

Vous pouvez soit évaluer les performances des modèles Amazon Bedrock, soit celles d’autres modèles en fournissant vos propres données de réponse d’inférence dans le jeu de données d’invite. Pour en savoir plus sur la création d’un jeu de données d’invite avec vos propres réponses d’inférence, consultez [Création d’un jeu de données d’invite pour une tâche d’évaluation des modèles qui utilise un modèle en tant que juge](model-evaluation-prompt-datasets-judge.md).

**Example Commande AWS CLI et fichier JSON pour créer une tâche d’évaluation avec des métriques personnalisées pour un modèle 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/"
    }
}
```
L’exemple de fichier JSON contient deux objets `evaluatorModelConfig`. Celui situé à l’intérieur de l’objet `customMetricConfig` indique le modèle évaluateur à utiliser avec les métriques personnalisées. L’autre instance indique le modèle à utiliser pour les métriques intégrées. Veillez à spécifier ces deux objets correctement.

**Example Commande AWS CLI et fichier JSON pour créer une tâche d’évaluation avec métriques personnalisées dans laquelle vous fournissez vos propres données de réponse d’inférence**  

```
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/"
    }
}
```
L’exemple de fichier JSON contient deux objets `evaluatorModelConfig`. Celui situé à l’intérieur de l’objet `customMetricConfig` indique le modèle évaluateur à utiliser avec les métriques personnalisées. L’autre instance indique le modèle à utiliser pour les métriques intégrées. Veillez à spécifier ces deux objets correctement.

------