

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creare un processo di valutazione dei modelli utilizzando metriche personalizzate
<a name="model-evaluation-custom-metrics-create-job"></a>

Per creare un processo di valutazione che utilizzi una metrica personalizzata, devi fornire quanto segue:
+ Un prompt contenente istruzioni dettagliate per l’utilizzo da parte del modello giudice
+ Il modello di valutazione da utilizzare per le tue metriche personalizzate

Puoi anche specificare una scala di valutazione (schema di output) che il modello giudice può utilizzare per valutare le risposte del modello di generatore.

Puoi creare un processo di valutazione con metriche personalizzate utilizzando Console di gestione AWS, AWS Command Line Interface (AWS CLI) o l’API Amazon Bedrock. Utilizza le istruzioni seguenti per creare il processo di valutazione. Per istruzioni e indicazioni sulla creazione del prompt per la tua metrica e sulla definizione della scala di valutazione specificata durante la creazione, consulta [Creare un prompt per una metrica personalizzata](model-evaluation-custom-metrics-prompt-formats.md).

Quando crei un processo di valutazione con una o più metriche personalizzate, Amazon Bedrock archivia le definizioni delle metriche come file JSON nel bucket S3 di output specificato. Puoi accedere a questi file dal percorso `s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics`. Per visualizzare il formato delle definizioni JSON delle metriche personalizzate, consulta [Creazione di un file JSON per creare una metrica personalizzata](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

Per creare un processo utilizzando le seguenti istruzioni, è inoltre necessario un set di dati di prompt. Se non ne hai ancora creato uno, consulta [Creazione di un set di dati dei prompt per un processo di valutazione del modello che utilizza un modello come giudice](model-evaluation-prompt-datasets-judge.md).

Utilizza le seguenti istruzioni per creare un processo di valutazione model-as-a-judge con una o più metriche personalizzate

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

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

1. Nel riquadro a sinistra in **Inferenza e valutazione**, seleziona **Valutazioni**.

1. Nel riquadro **Valutazioni del modello**, scegli **Crea** e seleziona **Automatico: modello come giudice**.

1. Inserisci i dettagli della valutazione dei modelli seguendo questa procedura:

   1. Nel riquadro **Dettagli della valutazione del modello**, in **Nome della valutazione**, inserisci un nome per il processo di valutazione. Il nome specificato deve essere univoco all’interno della Regione AWS.

   1. Se lo desideri, in **Descrizione - *facoltativa***, inserisci una descrizione per il processo di valutazione.

   1. In **Modello valutatore**, scegli **Seleziona modello** e seleziona il modello giudice che intendi utilizzare per eseguire il processo di valutazione. Tieni presente che il modello selezionato qui viene utilizzato per valutare il modello di generatore rispetto a qualsiasi metrica integrata selezionata. Puoi scegliere un modello di valutatore diverso da utilizzare per le tue metriche personalizzate in una fase successiva.

1. Inserisci l’origine di inferenza per il tuo processo di valutazione. Con le valutazioni dei modelli di Amazon Bedrock puoi valutare le prestazioni dei modelli Amazon Bedrock o di altri modelli fornendo i tuoi dati di risposta all’inferenza nel [set di dati di prompt](model-evaluation-prompt-datasets-judge.md). Per selezionare un modello Amazon Bedrock, procedi come segue:

   1. Nel riquadro **Origine di inferenza**, in **Seleziona l’origine**, scegli **Modelli Bedrock**.

   1. In **Seleziona modello** scegli **Seleziona modello**.

   1. Nel pop-up, seleziona il modello che desideri valutare e scegli **Applica**.

   1. (Facoltativo) Per modificare i parametri di inferenza del modello, per **Configurazione dell’inferenza**, scegli **Aggiorna**.

1. Per importare i tuoi dati di risposta all’inferenza, procedi come segue:

   1. Nel riquadro **Origine di inferenza**, in **Seleziona l’origine** scegli **Porta le tue risposte di inferenza**.

   1. Per **Nome dell’origine**, inserisci un nome per il modello che hai utilizzato per creare i dati di risposta. Il nome inserito deve corrispondere al parametro `modelIdentifier` nel [set di dati di prompt](model-evaluation-prompt-datasets-judge.md#model-evaluation-prompt-datasets-judge-byoir).

1. Seleziona le metriche integrate su cui il modello di valutatore dovrà valutare le risposte del modello di generatore nel riquadro **Parametri**.

1. Per aggiungere un’altra metrica personalizzata, inizia selezionando il modello di valutatore che desideri utilizzare per valutare le metriche. Nel riquadro **Metriche personalizzate** procedi come segue:

   1. Scegli **Seleziona modello**.

   1. Nel pop-up seleziona il modello che desideri utilizzare.

   1. Scegli **Applica**.

1. In **Nome parametro** immetti un nome per la tua metrica.

1. Puoi configurare la metrica in tre modi: fornendo un file JSON che specifica la metrica, modificando un prompt di metrica integrato esistente da un modello o inserendo un prompt direttamente nella console per l’utilizzo da parte del modello di valutatore.

   Per creare una metrica da un file JSON, procedi come segue:

   1. In **Scegli il tipo di metrica**, seleziona **Importa file JSON**.

   1. In **Importa file JSON**, seleziona **Scegli file**.

   1. Utilizzando il selettore file, seleziona il file JSON con la definizione di metrica personalizzata e scegli **Apri**. Per informazioni sullo schema per specificare una metrica personalizzata utilizzando un file JSON e per visualizzare alcuni file di esempio, consulta [Creazione di un file JSON per creare una metrica personalizzata](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json).

   1. (Facoltativo) Per creare un’altra metrica, scegli **Aggiungi parametri personalizzati**. È possibile creare fino a 10 metriche personalizzate per un processo di valutazione.

      Una volta terminata la creazione delle metriche personalizzate, procedi alla fase 13 per configurare i set di dati per il processo di valutazione.

1. Per creare una metrica personalizzata a partire da un modello integrato, procedi come segue:

   1. In **Scegli il tipo di metrica**, seleziona **Usa un modello**.

   1. In **Seleziona un modello**, utilizza l’elenco a discesa per scegliere un prompt di metrica integrato esistente da utilizzare come punto di partenza per la metrica personalizzata.

   1. In **Istruzioni**, modifica il prompt selezionato in base al tuo caso d’uso. Per le best practice e per un elenco degli elementi necessari per la creazione di un prompt di metriche personalizzate, consulta [Creare un prompt per una metrica personalizzata](model-evaluation-custom-metrics-prompt-formats.md).

   1. Se desideri che il tuo processo di valutazione generi output strutturati con punteggi classificati, mantieni selezionata l’opzione **Schema di output abilitato (consigliato)**. Non è necessario che la configurazione metrica includa uno schema di output, ma ti consigliamo di definirne uno. Se non utilizzi uno schema, i risultati visualizzati includeranno solo spiegazioni senza punteggi o visualizzazione dei dati.

   1. In **Tipo di scala**, seleziona **Numerica** o **Stringa** in base al caso d’uso e inserisci le definizioni della scala e della descrizione nelle caselle di testo. Per indicazioni e best practice sulla definizione delle scale di output, consulta [Definizione di uno schema di output (scala di valutazione)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema).

   1. (Facoltativo) Per creare un’altra metrica, scegli **Aggiungi parametri personalizzati**. È possibile creare fino a 10 metriche personalizzate per un processo di valutazione.

      Una volta terminata la creazione delle metriche personalizzate, procedi alla fase 13 per configurare i set di dati per il processo di valutazione.

1. Per creare una metrica personalizzata partendo da zero nella console, procedi come segue:

   1. In **Scegli il tipo di metrica**, seleziona **Personalizzata**.

   1. In **Istruzioni**, inserisci il prompt per la metrica personalizzata direttamente nella casella di testo. Per le best practice e per un elenco degli elementi necessari per la creazione di un prompt di metriche personalizzate, consulta [Creazione di prompt e best practice](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-create).

   1. Se desideri che il tuo processo di valutazione generi output strutturati con punteggi classificati, mantieni selezionata l’opzione **Schema di output abilitato (consigliato)**. Non è necessario che la configurazione metrica includa uno schema di output, ma ti consigliamo di definirne uno. Se non utilizzi uno schema, i risultati visualizzati includeranno solo spiegazioni senza punteggi o visualizzazione dei dati.

   1. In **Tipo di scala**, seleziona **Numerica** o **Stringa** in base al caso d’uso e inserisci le definizioni della scala e della descrizione nelle caselle di testo. Per indicazioni e best practice sulla definizione delle scale di output, consulta [Definizione di uno schema di output (scala di valutazione)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema).

   1. (Facoltativo) Per creare un’altra metrica, scegli **Aggiungi parametri personalizzati**. È possibile creare fino a 10 metriche personalizzate per un processo di valutazione.

      Una volta terminata la creazione delle metriche personalizzate, procedi alla fase successiva per configurare i set di dati per il processo di valutazione.

1. Definisci le posizioni di input e output per il set di dati e i risultati effettuando le seguenti operazioni:

   1. Nel riquadro **Set di dati** sotto **Scegli un set di dati dei prompt**, inserisci l’URI Amazon S3 per il set di dati di prompt oppure scegli **Sfoglia S3** e seleziona il tuo file. Per vedere una definizione del formato del set di dati di prompt richiesto per un processo di valutazione model-as-a-judge, consulta. [Creazione di un set di dati dei prompt per un processo di valutazione del modello che utilizza un modello come giudice](model-evaluation-prompt-datasets-judge.md)

   1. In **Risultati della valutazione**, inserisci una posizione Amazon S3 in cui Amazon Bedrock possa salvare i risultati oppure scegli **Sfoglia S3** per selezionare una posizione.

1. In **Ruolo IAM di Amazon Bedrock - Autorizzazioni**, seleziona **Crea e usa un nuovo ruolo di servizio** per fare in modo che Amazon Bedrock crei un nuovo ruolo IAM per il processo di valutazione oppure seleziona **Utilizza un ruolo di servizio esistente** per selezionare un ruolo IAM esistente. Per un elenco delle autorizzazioni necessarie per creare ed eseguire un processo di valutazione, consulta [Prerequisiti](model-evaluation-judge-create.md#model-evaluation-judge-create-prereqs).

1. (Facoltativo) Per utilizzare la tua chiave KMS per crittografare i dati di valutazione, in **KMSKey - *Facoltativo***, seleziona **Personalizza le impostazioni di crittografia (avanzate)** e seleziona la tua chiave AWS KMS. Per impostazione predefinita, Amazon Bedrock crittografa i dati dei processi di valutazione con una chiave KMS di proprietà di AWS.

1. Scegli **Crea** per completare la creazione del processo di valutazione.

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

Gli esempi seguenti mostrano come effettuare una richiesta `create-evaluation-job` utilizzando l’AWS CLI per un processo che include una metrica personalizzata. Assicurati che il valore di `applicationType` sia specificato come `ModelEvaluation`.

Puoi valutare le prestazioni dei modelli in Amazon Bedrock oppure altri modelli fornendo i dati di risposta all’inferenza come parte del set di dati di prompt. Per ulteriori informazioni su come creare un set di dati di prompt utilizzando le tue risposte all’inferenza, consulta [Creazione di un set di dati dei prompt per un processo di valutazione del modello che utilizza un modello come giudice](model-evaluation-prompt-datasets-judge.md).

**Example Comando dell’AWS CLI e file JSON per creare un processo di valutazione con metriche personalizzate per un modello 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/"
    }
}
```
Il file JSON di esempio contiene due oggetti `evaluatorModelConfig`. Quello all’interno dell’oggetto `customMetricConfig` specifica il modello di valutatore da utilizzare con metriche personalizzate. L’altra istanza specifica il modello da utilizzare per le metriche integrate. Fai attenzione a specificare correttamente questi due oggetti.

**Example Comando dell’AWS CLI e file JSON per creare un processo di valutazione con metriche personalizzate quando vengono forniti dati di risposta all’inferenza personalizzati**  

```
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/"
    }
}
```
Il file JSON di esempio contiene due oggetti `evaluatorModelConfig`. Quello all’interno dell’oggetto `customMetricConfig` specifica il modello di valutatore da utilizzare con metriche personalizzate. L’altra istanza specifica il modello da utilizzare per le metriche integrate. Fai attenzione a specificare correttamente questi due oggetti.

------