内容
AWS re:Invent 2024 で発表があった Amazon Bedrock Prompt Caching をシンプルに纏めます。
- Rerank API をサポート
- Rerank API はユーザーが探している情報に対して、より関連度の高い文書を優先的に上位に並べることで、回答の精度や検索結果の品質を高める
- Amazon Bedrock Knowledge Base で利用する場合は、Retrieve API / RetrieveAndGenerate API で設定することで利用可能
モデル
2024/12 現在
- Amazon Rerank 1.0
- Cohere Rerank 3.5
対応リージョン
2024/12 現在
- 米国西部 (オレゴン)
- カナダ (中部)
- 欧州 (フランクフルト)
- アジアパシフィック (東京)
動作確認
前提
- ナレッジベースを作成済みであり、S3 にデータを格納済であること
- 今回 S3 には以下の PDF ファイルを配置しておきました
※ ちなみに今回ナレッジベースには、Aurora Serverless v2 を使い、ゼロキャパシティを設定しています。(本題ではないので、詳しい説明は省きます。)
コンソールから確認
コンソールから動作確認する場合、Reranking で対応のモデルを指定するだけでできるようです。
CloudWatch Logs から Rerank できているか確認してみます。
relevance_score が高い順で Rerank されていることが確認できました。
{
"schemaType": "ModelInvocationLog",
"schemaVersion": "1.0",
"timestamp": "2024-12-24T15:52:35Z",
"accountId": "123456789012",
"identity": {
"arn": "arn:aws:iam::123456789012:user/XXX"
},
"region": "us-west-2",
"requestId": "3aad1142-bf73-4473-b640-1ca355e15a2f",
"operation": "InvokeModel",
"modelId": "arn:aws:bedrock:us-west-2::foundation-model/amazon.rerank-v1:0",
"input": {
"inputContentType": "application/json",
"inputBodyJson": {
"documents": [
"2. 次のように、ボリュームをセカンダリボリュームとして一時インスタンスにアタッチします。 EC2Config を使用したパスワードのリセット 3043Amazon Elastic Compute Cloud ユーザーガイド a. ナビゲーションペインで [ボリューム] を選択し、元のインスタンスからデタッチしたボ リュームを選択した後で、[アクション]、[ボリュームのアタッチ] の順に選択します。 b. [インスタンス] の [ボリュームのアタッチ] ダイアログボックスで、一時インスタンスの名前 または ID の入力を開始し、リストからインスタンスを選択します。 c. [デバイス] で、xvdf (まだない場合) を入力し、[アタッチ] を選択します。",
"• ステップ 4: 設定ファイルを変更する • ステップ 5: 元のインスタンスを再起動します。 ステップ 1: EC2Config サービスが実行中であることを確認します 管理者パスワードのリセットを試みる前に、EC2Config サービスがインストールされ、実行されて いることを確認します。このセクションの後で、EC2Config サービスを使用して管理者パスワード をリセットします。 EC2Config サービスが実行中であることを確認するには 1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。 2. ナビゲーションペインで [インスタンス] を選択し、パスワードのリセットが必要なインスタン スを選択します。",
"設定ファイルを変更した後、元のインスタンスにボリュームをルートボリュームとして再アタッチ し、そのキーペアを使用してインスタンスに接続して管理者パスワードを取得します。 1. 初期インスタンスにボリュームを再度アタッチします。 a. ナビゲーションペインで [ボリューム] を選択し、一時インスタンスからデタッチしたボ リュームを選択した後で、[アクション]、[ボリュームのアタッチ] の順に選択します。 EC2Config を使用したパスワードのリセット 3045Amazon Elastic Compute Cloud ユーザーガイド b. [インスタンス] の [ボリュームのアタッチ] ダイアログボックスで、元のインスタンスの名前 または ID の入力し、インスタンスを選択します。 c.",
"詳細については、「AWS Systems Manager ユーザーガイド」の「EC2 インスタンスでのパスワードと SSH キーのリ セット」を参照してください。 EC2Config を使用して Windows 管理者パスワードをリセットするには、次の操作が必要です。 • ステップ 1: EC2Config サービスが実行中であることを確認します • ステップ 2: ルートボリュームをインスタンスからデタッチします EC2Config を使用したパスワードのリセット 3040 https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-ec2reset.html https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-ec2reset.htmlAmazon Elastic Compute Cloud ユーザーガイド • ステップ 3: ボリュームを一時インスタンスにアタッチします。",
"詳細については、「Amazon EC2 Windows インスタンスの Windows 管理者パスワードをリセットする」を参照してくださ い。Systems Manager ドキュメントを使用してパスワードをリセットする手順については、「AWS Systems Manager ユーザーガイド」の「 EC2 インスタンスで、パスワードと SSH キーをリセット する」を参照してください。 プライベートキーを紛失しました。Windows インスタンスに接続するにはどうすればよいですか?"
],
"query": "EC2インスタンスのWindwowsのパスワードを忘れました。どうしたら簡単に忘れたパスワードをリセット確認またはリセットできますか?"
}
},
"output": {
"outputContentType": "application/json",
"outputBodyJson": {
"results": [
{
"index": 3,
"relevance_score": 0.979589692299694
},
{
"index": 4,
"relevance_score": 0.9704086268107062
},
{
"index": 1,
"relevance_score": 0.8465777097883294
},
{
"index": 2,
"relevance_score": 0.5000392794608262
},
{
"index": 0,
"relevance_score": 0.31468201003066215
}
]
}
}
}
SDK での実装
下記の方が試されているようです。rerankingConfiguration
を設定すればいいようですね。