翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock でのナレッジベース評価ジョブの作成
評価のメトリクスを計算するナレッジベース評価ジョブを作成できます。
ナレッジベースの評価ジョブを作成するには、特定のアクセス許可が必要です。詳細については、「Amazon Bedrock ナレッジベース評価ジョブを作成するために必要なアクセス許可」を参照してください。
注記
ナレッジベースの評価ジョブはプレビューモードであり、変更される可能性があります。
ナレッジベースの取得またはレスポンス生成による取得のみを評価できます。異なるメトリクスは、取得のみとレスポンス生成による取得に関連しています。詳細については、「LLMs を使用するナレッジベース評価のメトリクスを確認する (コンソール)」を参照してください
評価のメトリクスを計算するには、サポートされている評価者モデルを選択する必要があります。レスポンス生成で取得を評価する場合は、レスポンス生成でサポートされているモデルも選択する必要があります。詳細については、「Amazon Bedrock でナレッジベース評価を作成するための前提条件」を参照してください
評価に使用するプロンプトデータセットを指定する必要があります。詳細については、「Amazon Bedrock でのナレッジベース評価にプロンプトデータセットを使用する」を参照してください
次の例は、 を使用してナレッジベース評価ジョブを作成する方法を示しています AWS CLI。
LLMs を使用するナレッジベースの評価ジョブ
次の例は、評価に大規模言語モデル (LLMs) を使用するナレッジベースの評価ジョブを作成する方法を示しています。
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:" } } }] }] }] } }
SDK for Python boto3
注記
プレビュー中に、 AWS アカウント管理からダウンロードして使用するパラメータファイルが提供されます。
次の Python の例は、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)
次の Python の例は、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)