

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à.

# Creazione di un processo di valutazione RAG in Amazon Bedrock
Creazione del processo

È possibile creare un processo di valutazione RAG utilizzando o un AWS SDK supportato. Console di gestione AWS AWS CLI

Questo tipo di processo richiede l’accesso a un modello di valutazione. Se stai creando un retrieve-and-generate lavoro che utilizza un modello Amazon Bedrock come generatore di risposte, devi accedere anche a quel modello. Entrambi i modelli devono essere disponibili nella stessa Regione AWS. Per un elenco dei modelli supportati per la generazione e la valutazione delle risposte, consulta [Modelli supportati](evaluation-kb.md#evaluation-kb-supported).

## Prerequisiti


Oltre ad avere accesso ad almeno un modello di valutazione, per creare un processo di valutazione RAG sono necessarie anche determinate autorizzazioni per i ruoli di servizio IAM. Per ulteriori informazioni sulle azioni necessarie e sui requisiti delle policy di attendibilità, consulta [Autorizzazioni necessarie per il ruolo di servizio per la creazione di un processo di valutazione del modello che utilizza un modello arbitro](judge-service-roles.md).

Quando crei il processo, specifichi un set di dati dei prompt in un bucket Amazon S3 e in un bucket di output in cui archiviare i risultati. Per garantire che i bucket S3 dispongano delle autorizzazioni CORS necessarie, consulta [Autorizzazioni CORS (Cross Origin Resource Sharing) richiesta per i bucket S3](model-evaluation-security-cors.md)

Per creare un processo nella console, la console deve disporre dell’autorizzazione per eseguire un determinato set di azioni e avere accesso alle risorse necessarie. La seguente policy definisce un set minimo di autorizzazioni IAM necessarie per creare un processo nella console. Nella policy, si consiglia di utilizzare l’elemento [Risorsa](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) della policy JSON IAM per limitare l’accesso solo ai modelli e ai bucket richiesti per l’utente, il gruppo o il ruolo IAM.

La policy IAM deve concedere l’accesso sia a un modello di valutazione sia, per recuperare e generare processi che utilizzano un modello di generatore di risposte Amazon Bedrock, al generatore di risposte.

### Autorizzazioni della console necessarie


------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BedrockConsole",
            "Effect": "Allow",
            "Action": [
                "bedrock:CreateEvaluationJob",
                "bedrock:GetEvaluationJob",
                "bedrock:ListEvaluationJobs",
                "bedrock:StopEvaluationJob",
                "bedrock:GetCustomModel",
                "bedrock:ListCustomModels",
                "bedrock:CreateProvisionedModelThroughput",
                "bedrock:UpdateProvisionedModelThroughput",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:ListProvisionedModelThroughputs",
                "bedrock:GetImportedModel",
                "bedrock:ListImportedModels",
                "bedrock:ListTagsForResource",
                "bedrock:UntagResource",
                "bedrock:TagResource"
            ],
            "Resource": [
                "arn:aws:bedrock:us-west-2::foundation-model/*;"
            ]
        },
        {
            "Sid": "AllowConsoleS3AccessForModelEvaluation",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetBucketCORS",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
                "arn:aws:s3:::input_datasets/prompts.jsonl"
            ]
        }
    ]
}
```

------

**Nota**  
Questa policy di esempio fornisce le autorizzazioni per tutti i modelli di fondazione di Amazon Bedrock. In un ambiente di produzione, si consiglia di seguire il principale del [privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) e di concedere le autorizzazioni solo per i modelli necessari.

**Topics**
+ [

## Prerequisiti
](#knowledge-base-evaluation-create-prereqs)
+ [

# Creazione di un processo di valutazione RAG di solo recupero
](knowledge-base-evaluation-create-ro.md)
+ [

# Creare un processo di valutazione RAG di solo recupero utilizzando metriche personalizzate
](knowledge-base-evaluation-create-ro-custom.md)
+ [

# Creazione di un processo di valutazione RAG di recupero e generazione
](knowledge-base-evaluation-create-randg.md)
+ [

# Creare un processo di valutazione RAG di recupero e generazione utilizzando metriche personalizzate
](knowledge-base-evaluation-create-randg-custom.md)

# Creazione di un processo di valutazione RAG di solo recupero
Solo recupero

Puoi creare un processo di valutazione RAG utilizzando Console di gestione AWS, AWS CLI o un AWS SDK supportato.

Questo tipo di processo richiede l’accesso a un modello di valutazione. Per un elenco dei modelli di valutazione supportati, consulta [Modelli supportati](evaluation-kb.md#evaluation-kb-supported).

Per creare un processo utilizzando le seguenti istruzioni, è necessario anche un set di dati prompt. Se non ne hai ancora creato uno, consulta [Creazione di un set di dati dei prompt per una valutazione RAG in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

------
#### [ 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 RAG**, scegli **Crea**.

1. Inserisci i dettagli della valutazione RAG seguendo questa procedura:

   1. Nel riquadro **Dettagli della valutazione**, sotto **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 di valutatore che intendi utilizzare per effettuare la valutazione.

1. Inserisci l’origine di inferenza per il tuo processo di valutazione. Con le valutazioni di Amazon Bedrock RAG, puoi valutare le prestazioni di Knowledge Base per Amazon Bedrock o di altre origini RAG fornendo i tuoi dati di risposta di inferenza nel [set di dati prompt.](knowledge-base-evaluation-prompt.md) Per selezionare una knowledge base di Amazon Bedrock, procedi come segue:

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

   1. In **Scegli una knowledge base**, seleziona una knowledge base utilizzando l’elenco a discesa.

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 l’origine RAG che hai utilizzato per creare i dati di risposta. Il nome inserito deve corrispondere al parametro `knowledgeBaseIdentifier` nel [set di dati prompt](knowledge-base-evaluation-prompt.md).

1. Nel riquadro **Origine di inferenza**, in **Tipo di valutazione**, seleziona **Solo recupero**.

1. Seleziona le metriche integrate che desideri vengano utilizzate dal modello di valutazione selezionando almeno una metrica nel riquadro **Metriche**.

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 dei prompt oppure scegli **Sfoglia S3** e seleziona il tuo file. Per visualizzare una definizione del formato del set di dati prompt richiesto per un processo di valutazione di solo recupero, consulta [Creazione di un set di dati dei prompt per i processi di valutazione RAG di solo recupero](knowledge-base-evaluation-prompt-retrieve.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](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs).

1. (Opzionale) 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 bucket.

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

**Creare un processo di valutazione di solo recupero per una knowledge base di Amazon Bedrock**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
     "inferenceConfig": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveConfig": {
                          "knowledgeBaseId": "your-knowledge-base-id",
                          "knowledgeBaseRetrievalConfiguration": {
                              "vectorSearchConfiguration": {
                                  "numberOfResults": 3
                              }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

**Creare un processo di valutazione di solo recupero utilizzando i tuoi dati di risposta all’inferenza**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
      "inferenceConfig": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

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

Il seguente esempio di Python mostra come creare un processo di solo recupero per una knowledge base di Amazon Bedrock utilizzando AWS SDK per Python (Boto3). Per ulteriori informazioni sulla creazione di un processo di valutazione utilizzando Boto3, consulta [https://boto3.amazonaws.com/v1/documentation/api/1.35.6/reference/services/bedrock/client/create_evaluation_job.html](https://boto3.amazonaws.com/v1/documentation/api/1.35.6/reference/services/bedrock/client/create_evaluation_job.html) nella documentazione di Boto3.

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

job_response = client.create_evaluation_job(
    jobName="my_evaluation_job",
    jobDescription="two different task types",
    roleArn="arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-RoleAmazon-Bedrock-IAM-Role",
    applicationType="RagEvaluation",
    inferenceConfig={
        "ragConfigs": [
            {
                "knowledgeBaseConfig": {
                    "retrieveConfig": {
                        "knowledgeBaseId": "your-knowledge-base-id",
                        "knowledgeBaseRetrievalConfiguration": {
                            "vectorSearchConfiguration": {
                                "numberOfResults": 10,
                                "overrideSearchType": "HYBRID"
                            }
                        }
                    }
                }
            }
        ]
    },
    outputDataConfig={
        "s3Uri":"s3://amzn-s3-demo-bucket-model-evaluations/outputs/"
    },
    evaluationConfig={
        "automated": {
            "datasetMetricConfigs": [
                {
                    "taskType": "Summarization",
                    "dataset": {
                        "name": "RagDataset",
                        "datasetLocation": {
                            "s3Uri": "s3://amzn-s3-demo-bucket/input_data/data_3_rng.jsonl"
                        }
                    },
                    "metricNames": [
                        "Builtin.ContextCoverage"
                    ]
                }
            ],
            "evaluatorModelConfig":
                {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "meta.llama3-1-70b-instruct-v1:0"
                    }]
                }
        }
    }
)

print(job_request)
```

------

# Creare un processo di valutazione RAG di solo recupero utilizzando metriche personalizzate
Solo recupero con metriche personalizzate

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 un parametro personalizzato](kb-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 una valutazione RAG in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

Per un elenco dei modelli di valutazione supportati, consulta [Modelli supportati](evaluation-kb.md#evaluation-kb-supported). Per ulteriori informazioni sull’accesso ai modelli, consulta [Accesso ai modelli di fondazione Amazon Bedrock](model-access.md).

------
#### [ 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 RAG**, scegli **Crea**.

1. Inserisci i dettagli della valutazione RAG seguendo questa procedura:

   1. Nel riquadro **Dettagli della valutazione**, sotto **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 di valutatore che intendi utilizzare per effettuare la valutazione.

1. Inserisci l’origine di inferenza per il tuo processo di valutazione. Con le valutazioni di Amazon Bedrock RAG, puoi valutare le prestazioni di Knowledge Base per Amazon Bedrock o di altre origini RAG fornendo i tuoi dati di risposta di inferenza nel [set di dati prompt.](knowledge-base-evaluation-prompt.md) Per selezionare una knowledge base di Amazon Bedrock, procedi come segue:

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

   1. In **Scegli una knowledge base**, seleziona una knowledge base utilizzando l’elenco a discesa.

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 l’origine RAG che hai utilizzato per creare i dati di risposta. Il nome inserito deve corrispondere al parametro `knowledgeBaseIdentifier` nel [set di dati di prompt](knowledge-base-evaluation-prompt.md).

1. Nel riquadro **Origine di inferenza**, in **Tipo di valutazione**, seleziona **Solo recupero**.

1. Seleziona le metriche integrate che desideri vengano utilizzate dal modello di valutatore selezionando almeno una metrica nel riquadro **Metriche**.

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 un parametro personalizzato](kb-evaluation-custom-metrics-prompt-formats.md#kb-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 14 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 un parametro personalizzato](kb-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)](kb-evaluation-custom-metrics-prompt-formats.md#kb-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 14 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](kb-evaluation-custom-metrics-prompt-formats.md#kb-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)](kb-evaluation-custom-metrics-prompt-formats.md#kb-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 visualizzare una definizione del formato del set di dati di prompt richiesto per un processo di valutazione di solo recupero, consulta [Creazione di un set di dati dei prompt per i processi di valutazione RAG di solo recupero](knowledge-base-evaluation-prompt-retrieve.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](knowledge-base-evaluation-create.md#knowledge-base-evaluation-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 ]

**Creare un processo di valutazione di solo recupero per una knowledge base di Amazon Bedrock**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveConfig": {
                          "knowledgeBaseId": "your-knowledge-base-id",
                          "knowledgeBaseRetrievalConfiguration": {
                              "vectorSearchConfiguration": {
                                  "numberOfResults": 3
                              }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Nota**  
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.

**Creare un processo di valutazione di solo recupero utilizzando i tuoi dati di risposta all’inferenza**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Nota**  
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.

------

# Creazione di un processo di valutazione RAG di recupero e generazione
Recupero e generazione

Puoi creare un processo di valutazione RAG utilizzando Console di gestione AWS, AWS CLI o un SDK AWS supportato.

Questo tipo di processo richiede l’accesso a un modello di valutazione. Per un elenco dei modelli di valutazione supportati, consulta [Modelli supportati](evaluation-kb.md#evaluation-kb-supported). 

Per creare un processo utilizzando le seguenti istruzioni, è necessario un set di dati dei prompt. Se non ne hai ancora creato uno, consulta [Creazione di un set di dati dei prompt per una valutazione RAG in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

------
#### [ 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 RAG**, scegli **Crea**.

1. Inserisci i dettagli della valutazione RAG seguendo questa procedura:

   1. Nel riquadro **Dettagli della valutazione**, sotto **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 di valutatore che intendi utilizzare per effettuare la valutazione.

1. Inserisci l’origine di inferenza per il tuo processo di valutazione. Con le valutazioni di Amazon Bedrock RAG, puoi valutare le prestazioni di Knowledge Base per Amazon Bedrock o di altre origini RAG fornendo i tuoi dati di risposta di inferenza nel [set di dati prompt.](knowledge-base-evaluation-prompt.md) Per selezionare una knowledge base di Amazon Bedrock, procedi come segue:

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

   1. In **Scegli una knowledge base**, seleziona una knowledge base utilizzando l’elenco a discesa.

1. Per importare i tuoi dati della risposta di 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 l’origine RAG che hai utilizzato per creare i dati di risposta. Il nome immesso deve corrispondere al parametro `knowledgeBaseIdentifier` nel [set di dati dei prompt](knowledge-base-evaluation-prompt.md).

1. Nel riquadro **Origine di inferenza**, in **Tipo di valutazione**, seleziona **Recupero e generazione di risposte**.

1. Seleziona le metriche integrate che desideri vengano utilizzate dal modello di valutazione selezionando almeno una metrica nel riquadro **Metriche**.

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** in **Scegli un set di dati dei prompt**, inserisci l’URI Amazon S3 per il set di dati dei prompt oppure scegli **Sfoglia S3** e seleziona il tuo file. Per visualizzare una definizione del formato del set di dati dei prompt richiesto per un processo di valutazione di solo recupero, consulta [Creazione di un set di dati dei prompt per i processi di valutazione RAG di solo recupero](knowledge-base-evaluation-prompt-retrieve.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](knowledge-base-evaluation-create.md#knowledge-base-evaluation-create-prereqs).

1. (Facoltativo) Per utilizzare la tua chiave KMS per crittografare i dati di valutazione, in **Chiave 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 ]

**Creare un processo di valutazione di recupero e generazione per una knowledge base di Amazon Bedrock**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieve-and-generate/rng-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.Correctness",
                          "Builtin.Completeness",
                          "Builtin.Helpfulness",
                          "Builtin.LogicalCoherence",
                          "Builtin.Faithfulness",
                          "Builtin.Harmfulness",
                          "Builtin.Stereotyping",
                          "Builtin.Refusal",
                          "Builtin.CitationCoverage",
                          "Builtin.CitationPrecision"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
     "inferenceConfig": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveAndGenerateConfig": {
                          "type": "KNOWLEDGE_BASE",
                          "knowledgeBaseConfiguration": {
                              "knowledgeBaseId": "≪Your Knowledge Base ID>",
                              "modelArn": "mistral.mistral-large-2402-v1:0",
                              "generationConfiguration": {
                                  "promptTemplate": {
                                      "textPromptTemplate": "$search_results$ hello world template"
                                  }
                              },
                              "orchestrationConfiguration": {
                                  "queryTransformationConfiguration": {
                                      "type": "QUERY_DECOMPOSITION"
                                  }
                               }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

**Creare un processo di valutazione di recupero e generazione utilizzando i tuoi dati di risposta all’inferenza**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-Amazon-Bedrock-IAM-Role-20250218T063974",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieve-and-generate/rng-eval-byoir.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.Correctness",
                          "Builtin.Completeness",
                          "Builtin.Helpfulness",
                          "Builtin.LogicalCoherence",
                          "Builtin.Faithfulness",
                          "Builtin.Harmfulness",
                          "Builtin.Stereotyping",
                          "Builtin.Refusal",
                          "Builtin.CitationCoverage",
                          "Builtin.CitationPrecision"
                      ]
                  }
              ],
              "evaluatorModelConfig": {
                  "bedrockEvaluatorModels": [
                      {
                          "modelIdentifier": "us.meta.llama3-1-70b-instruct-v1:0"
                      }
                  ]
              }
          }
      },
      "inferenceConfig": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveAndGenerateSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```

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

Il seguente esempio di python mostra come creare una richiesta API boto3 di *recupero e generazione*.

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

job_response = client.create_evaluation_job(
    jobName="my_evaluation_job",
    jobDescription="two different task types",
    roleArn="arn:aws:iam::111122223333:role/role-name",
    applicationType="RagEvaluation",
    inferenceConfig={
        "ragConfigs": [
            {
                "knowledgeBaseConfig": {
                    "retrieveAndGenerateConfig": {
                        "type": "KNOWLEDGE_BASE",
                        "knowledgeBaseConfiguration": {
                            "knowledgeBaseId": "73SPNQM4CI",
                            "modelArn": "anthropic.claude-3-sonnet-20240229-v1:0",
                            "generationConfiguration": {
                                "promptTemplate": {
                                    "textPromptTemplate": "$search_results$ hello world template"
                                }
                            },
                             "retrievalConfiguration": {
                                 "vectorSearchConfiguration": {
                                     "numberOfResults": 10,
                                     "overrideSearchType": "HYBRID"
                                }
                             }
                        }
                    }
                }
            }
        ]
    },
    outputDataConfig={
        "s3Uri":"s3://amzn-s3-demo-bucket-model-evaluations/outputs/"
    },
    evaluationConfig={
        "automated": {
            "datasetMetricConfigs": [
                {
                    "taskType": "Summarization",
                    "dataset": {
                        "name": "RagDataset",
                        "datasetLocation": {
                            "s3Uri": "s3://amzn-s3-demo-bucket-input-data/data_3_rng.jsonl"
                        }
                    },
                    "metricNames": [
                        "Builtin.Faithfulness"
                    ]
                }
            ],
            "evaluatorModelConfig":
                {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "meta.llama3-1-70b-instruct-v1:0"
                    }]
                }
        }
    }
)

print(job_request)
```

------

# Creare un processo di valutazione RAG di recupero e generazione utilizzando metriche personalizzate
Recuperare e generare con metriche personalizzate

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 un parametro personalizzato](kb-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 una valutazione RAG in Amazon Bedrock](knowledge-base-evaluation-prompt.md).

Per un elenco dei modelli di valutazione supportati, consulta [Modelli supportati](evaluation-kb.md#evaluation-kb-supported).

------
#### [ 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 RAG**, scegli **Crea**.

1. Inserisci i dettagli della valutazione RAG seguendo questa procedura:

   1. Nel riquadro **Dettagli della valutazione**, sotto **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 di valutatore che intendi utilizzare per effettuare la valutazione.

1. Inserisci l’origine di inferenza per il tuo processo di valutazione. Con le valutazioni di Amazon Bedrock RAG, puoi valutare le prestazioni di Knowledge Base per Amazon Bedrock o di altre origini RAG fornendo i tuoi dati di risposta di inferenza nel [set di dati prompt.](knowledge-base-evaluation-prompt.md) Per selezionare una knowledge base di Amazon Bedrock, procedi come segue:

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

   1. In **Scegli una knowledge base**, seleziona una knowledge base utilizzando l’elenco a discesa.

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 l’origine RAG che hai utilizzato per creare i dati di risposta. Il nome inserito deve corrispondere al parametro `knowledgeBaseIdentifier` nel [set di dati di prompt](knowledge-base-evaluation-prompt.md).

1. Nel riquadro **Origine di inferenza**, in **Tipo di valutazione**, seleziona **Recupero e generazione di risposte**.

1. Seleziona le metriche integrate che desideri vengano utilizzate dal modello di valutatore selezionando almeno una metrica nel riquadro **Metriche**.

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 un parametro personalizzato](kb-evaluation-custom-metrics-prompt-formats.md#kb-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 14 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 un parametro personalizzato](kb-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)](kb-evaluation-custom-metrics-prompt-formats.md#kb-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 14 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](kb-evaluation-custom-metrics-prompt-formats.md#kb-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)](kb-evaluation-custom-metrics-prompt-formats.md#kb-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 visualizzare una definizione del formato del set di dati di prompt richiesto per un processo di valutazione di solo recupero, consulta [Creazione di un set di dati dei prompt per i processi di valutazione RAG di solo recupero](knowledge-base-evaluation-prompt-retrieve.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](knowledge-base-evaluation-create.md#knowledge-base-evaluation-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 ]

**Creare un processo di valutazione di recupero e generazione per una knowledge base di Amazon Bedrock**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "knowledgeBaseConfig": {
                      "retrieveAndGenerateConfig": {
                          "type": "KNOWLEDGE_BASE",
                          "knowledgeBaseConfiguration": {
                              "knowledgeBaseId": "<Your Knowledge Base ID>",
                              "modelArn": "mistral.mistral-large-2402-v1:0",
                              "generationConfiguration": {
                                  "promptTemplate": {
                                      "textPromptTemplate": "$search_results$ hello world template"
                                  }
                              },
                              "orchestrationConfiguration": {
                                  "queryTransformationConfiguration": {
                                      "type": "QUERY_DECOMPOSITION"
                                  }
                               }
                          }
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Nota**  
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.

**Creare un processo di valutazione di recupero e generazione utilizzando i tuoi dati di risposta all’inferenza**
+ Esegui il comando AWS CLI seguente utilizzando il file JSON di esempio.

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

  ```
  {
      "jobName": "my_rag_eval",
      "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
      "applicationType": "RagEvaluation",
      "evaluationConfig": {
          "automated": {
              "datasetMetricConfigs": [
                  {
                      "taskType": "General",
                      "dataset": {
                          "name": "text_dataset",
                          "datasetLocation": {
                              "s3Uri": "s3://amzn-s3-demo-bucket/input/retrieval-only/retrieve-eval.jsonl"
                          }
                      },
                      "metricNames": [
                          "Builtin.ContextCoverage",
                          "Builtin.ContextRelevance",
                          "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": {
          "ragConfigs": [
              {
                  "precomputedRagSourceConfig": {
                      "retrieveAndGenerateSourceConfig": {
                          "ragSourceIdentifier": "my_rag_source"
                      }
                  }
              }
          ]
      },
      "outputDataConfig": {
          "s3Uri": "s3://amzn-s3-demo-bucket/output/"
      }
  }
  ```
**Nota**  
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.

------