Amazon BedrockのRAG evaluationでResponse generator modelにClaude 4.5系のモデルを使用する方法
はじめに
みなさん、RAGの評価は行っていますでしょうか?
AWSではRAGを評価する機能としてAmazon Bedrock Evaluationsがあります。
RAG evaluationでは評価タイプが複数あり、Retrieval onlyとRetrieval and response generationの2種類が利用可能です。
後者のRetrieval and response generationを選択した場合は、Response generator modelで何かしらのモデルを選択する必要があります。

ですが、Claude 4.5系のモデルを選択すると以下の制約により評価ジョブでエラーが発生します。
Warning
Claude Sonnet 4.5 and Claude Haiku 4.5 only support specification of one of temperature or top_p parameters, but cannot handle both. This does not apply to any older models.
引用:https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages-request-response.html
実際のエラー画面はこちらです。

どうやらこのエラーはAWS CLIかSDKで評価ジョブを作成することで回避できるようです。
今回は実際にAWS CLIで評価ジョブを作成してみます。
やってみた
前提条件
- Amazon Bedrock KnowledgeBaseが作成されていること
- 評価データセットを作成し、S3バケットにアップロードされていること
IAMロールの作成
以下のドキュメントを参考に評価ジョブを実行するためのサービスロールを作成します。
利用されるAWS環境に合わせてポリシーを適宜変更してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowBedrockToAssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "bedrock.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "111122223333"
},
"ArnEquals": {
"aws:SourceArn": "arn:aws:bedrock:us-west-2:111122223333:evaluation-job/*"
}
}
}
]
}
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowPassingConsoleCreatedServiceRoles",
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-IAM-Role-*"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": "bedrock.amazonaws.com"
}
}
},
{
"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:ListMarketplaceModelEndpoints",
"bedrock:ListTagsForResource",
"bedrock:UntagResource",
"bedrock:TagResource"
],
"Resource": [
"arn:aws:bedrock:us-west-2::foundation-model/model-id-of-foundational-model",
"arn:aws:bedrock:us-west-2:111122223333:inference-profile/*",
"arn:aws:bedrock:us-west-2:111122223333:provisioned-model/*",
"arn:aws:bedrock:us-west-2:111122223333:imported-model/*"
]
},
{
"Sid": "AllowConsoleS3AccessForModelEvaluation",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetBucketCORS",
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::my_output_bucket",
"arn:aws:s3:::input_datasets/prompts.jsonl"
]
}
]
}
CORSの設定
評価ジョブで使用および生成されるデータを格納するS3にはCORSの設定が必要です。
以下のドキュメントを参考に設定を追加します。
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"Access-Control-Allow-Origin"
]
}
]
評価ジョブの作成
事前準備がいくつかありましたが、ここからが本題です。
今回はAWS CLIで評価ジョブの作成を行います。
以下のドキュメントによると各種設定値はJSONに記載してCLIを実行するようです。
今回はプロンプト等の設定は不要だったので、最終的に以下の構成となりました。
利用されるAWS環境に合わせてポリシーを適宜変更してください。
{
"jobName": "test-evaluation-claude-4-5",
"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://<Your S3 Bucket Name>/input/dataset.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.anthropic.claude-3-7-sonnet-20250219-v1:0"
}
]
}
}
},
"inferenceConfig": {
"ragConfigs": [
{
"knowledgeBaseConfig": {
"retrieveAndGenerateConfig": {
"type": "KNOWLEDGE_BASE",
"knowledgeBaseConfiguration": {
"knowledgeBaseId": "<Your Knowledge Base ID>",
"modelArn": "global.anthropic.claude-sonnet-4-5-20250929-v1:0"
}
}
}
}
]
},
"outputDataConfig": {
"s3Uri": "s3://<Your S3 Bucket Name>/output/"
}
}
JSONが作成できたら以下のコマンドを実行して評価ジョブを作成します。
aws bedrock create-evaluation-job --region us-west-2 --no-cli-pager --cli-input-json file://evals.json
コンソールを確認したところ評価ジョブが作成されていました。

しばらく待つとエラーが発生することなく、評価が完了していることがわかります。

問題なく評価を実行できそうですね。
まとめ
今回はAWS CLIでRag evaluationの評価ジョブを作成してみました。
Response generator modelにClaude Sonnet 4.5やClaude Haiku 4.5を使用したい場合は、コンソール以外からジョブの作成が必要になりそうです。
サービス側が対応するまでは、AWS CLIまたはSDKでRAGの評価を実行しましょう。
どなたかの参考になれば幸いです。









