Creare un processo di valutazione RAG di solo recupero utilizzando metriche personalizzate - Amazon Bedrock

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 RAG di solo recupero utilizzando 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.

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.

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.

Per un elenco dei modelli di valutazione supportati, consulta Modelli supportati. Per ulteriori informazioni sull’accesso ai modelli, consulta Accesso ai modelli di fondazione Amazon Bedrock.

Console
  1. Apri la console Amazon Bedrock.

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

  3. Nel riquadro Valutazioni RAG, scegli Crea.

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

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

    3. In Modello valutatore, scegli Seleziona modello e seleziona il modello di valutatore che intendi utilizzare per effettuare la valutazione.

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

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

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

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

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

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

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

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

    3. Scegli Applica.

  10. In Nome parametro immetti un nome per la tua metrica.

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

    2. In Importa file JSON, seleziona Scegli file.

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

    4. (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.

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

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

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

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

    5. 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).

    6. (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.

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

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

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

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

    4. 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).

    5. (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.

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

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

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

  16. (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.

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