Creazione di un processo di valutazione RAG di recupero e generazione - 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à.

Creazione di un processo di valutazione RAG di 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.

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.

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 della risposta di 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 immesso deve corrispondere al parametro knowledgeBaseIdentifier nel set di dati dei prompt.

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

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

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

    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.

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

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

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