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 lavoro di valutazione della knowledge base in Amazon Bedrock
Puoi creare un processo di valutazione della knowledge base che calcola le metriche per la valutazione.
Per creare lavori di valutazione della Knowledge Base sono necessarie determinate autorizzazioni di accesso. Per ulteriori informazioni, consulta Autorizzazioni necessarie per creare un processo di valutazione di Amazon Bedrock Knowledge Bases.
Nota
I lavori di valutazione della Knowledge Base sono in modalità anteprima e sono soggetti a modifiche.
È possibile valutare il recupero solo della knowledge base o il recupero con generazione di risposte. Metriche diverse sono rilevanti solo per il recupero e il recupero con generazione di risposte. Per ulteriori informazioni, consulta Esamina le metriche per le valutazioni della knowledge base che utilizzano LLMs (console)
È necessario scegliere un modello di valutazione supportato per calcolare le metriche per la valutazione. Se desideri valutare il recupero con la generazione di risposte, devi anche scegliere un modello supportato per la generazione di risposte. Per ulteriori informazioni, consulta Prerequisiti per la creazione di valutazioni della knowledge base in Amazon Bedrock
È necessario fornire un set di dati rapido che si desidera utilizzare per la valutazione. Per ulteriori informazioni, consulta Usa un set di dati immediato per una valutazione della knowledge base in Amazon Bedrock
L'esempio seguente mostra come creare un processo di valutazione della Knowledge Base utilizzando. AWS CLI
Lavori di valutazione della Knowledge Base che utilizzano LLMs
L'esempio seguente mostra come creare un processo di valutazione della Knowledge Base che utilizza Large Language Models (LLMs) per la valutazione.
AWS Command Line Interface
aws bedrock create-evaluation-job \ --job-name "rag-evaluation-complete-stereotype-docs-app" \ --job-description "Evaluates Completeness and Stereotyping of RAG for docs application" \ --role-arn "arn:aws::iam:<region>:<account-id>:role/AmazonBedrock-KnowledgeBases" \ --evaluation-context "RAG" \ --evaluationConfig file://knowledge-base-evaluation-config.json \ --inference-config file://knowledge-base-evaluation-inference-config.json \ --output-data-config '{"s3Uri":"s3://docs/kbevalresults/"}' file://knowledge-base-evaluation-config.json { "automated": [{ "datasetMetricConfigs": [{ "taskType":"Generation", //Required field for model evaluation, but ignored/not used for knowledge base evaluation "metricNames":["Builtin.Completeness","Builtin.Stereotyping"], "dataset": [{ "name":"RagTestPrompts", "datasetLocation":"s3://docs/kbtestprompts.jsonl" }] }], "evaluatorModelConfig": { "bedrockEvaluatorModels": [{ "modelIdentifier": "anthropic.claude-3-5-sonnet-20240620-v1:0" }] } }] } file://knowledge-base-evaluation-inference-config.json { "ragConfigs": { "knowledgeBaseConfig": [{ "retrieveConfig": [{ "knowledgeBaseId":"<knowledge-base-id>", "knowledgeBaseRetrievalConfiguration": { "vectorSearchConfiguration": [{ "numberOfResults": 10, "overrideSearchType":"HYBRID" }] } }], "retrieveAndGenerateConfig": [{ "type":"KNOWLEDGE_BASE", "knowledgeBaseConfiguration": [{ "knowledgeBaseId":"<knowledge-base-id>", "modelArn":"arn:aws:bedrock:<region>:<account-id>:inference-profile/anthropic.claude-v2:1", "generationConfiguration": { "promptTemplate": { "textPromptTemplate": "\n\nHuman: I will provide you with a set of search results and a user's question. Your job is to answer the user's question using only information from the search results\n\nHere are the search results: $search_results$\n\nHere is the user's question: $query$\n\nAssistant:" } } }] }] }] } }
SDKper Python boto3
Nota
Durante l'anteprima, la gestione del tuo AWS account ti fornirà un file di parametri da scaricare e utilizzare.
Il seguente esempio di python mostra come effettuare una richiesta Retrieve only boto3. API
import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="fkki-boto3-test1", jobDescription="two different task types", roleArn="arn:aws:iam::
111122223333
:role/service-role/Amazon-Bedrock-IAM-Role
Amazon-Bedrock-IAM-Role", evaluationContext="RAG", 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)
Il seguente esempio di Python mostra come creare una richiesta Retrieve e generare una richiesta boto3. API
import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="api-auto-job-titan", jobDescription="two different task types", roleArn="arn:aws:iam::
111122223333
:role/role-name", 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)