翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock でリランカーモデルを使用する
リランカーモデルは、直接使用することも、ナレッジベースでのクエリ中に結果を取得する際に使用することもできます。任意の方法のタブを選択し、その手順に従います。
- Console
-
で直接再ランク付けモデルを使用することはできませんが AWS マネジメントコンソール、ナレッジベースをクエリするときに再ランク付けモデルを使用することができます。
-
ナレッジベースでクエリを実行するときは、
アイコンを選択して [設定] ペインを開きます。 -
[再ランキング] セクションを展開します。
-
[モデルを選択] を選択してリランカーモデルを選択します。
-
Amazon Bedrock ナレッジベースサービスロールに、リランカーモデルを使用するためのアクセス許可がない場合は、[サービスロールの更新] を選択して、適切なアクセス許可でロールを変更します。
-
(オプション) [その他のリランキングオプション] セクションで、変更が必要なオプションを変更します。
-
プロンプトを入力し、[実行] を選択します。レスポンスは、リランカーモデルを適用した後の結果です。
ナレッジベースでクエリを実行する手順の詳細については、「ナレッジベースのクエリを実行してデータを取得する」および「ナレッジベースをクエリし、取得したデータに基づいてレスポンスを生成する」を参照してください。
-
- API
-
ナレッジベースでのクエリ中にリランカーモデルを使用する手順については、「ナレッジベースのクエリを実行してデータを取得する」および「ナレッジベースをクエリし、取得したデータに基づいてレスポンスを生成する」を参照してください。
Amazon Bedrock API で直接リランカーモデルを使用するには、Amazon Bedrock エージェントのランタイムエンドポイントを使用して Rerank リクエストを送信します。
以下のフィールドが必要です。
フィールド 基本的な説明 クエリ 1 つの RerankQuery オブジェクトの配列。 typeとしてTEXTを指定し、textQueryフィールドにクエリを含めます。ソース 再ランク付けモデルに送信する RerankSource オブジェクトの配列。 RerankSourceごとに、INLINEをtypeとして指定し、inlineDocumentSourceフィールドに RerankDocument オブジェクトを含めます。RerankDocumentの詳細については、下を参照してください。rerankingConfiguration 使用する再ランク付けモデルの Amazon リソースネーム (ARN)、再ランク付け後に返される結果の数、モデルの推論設定 (オプション) が含まれます。追加のモデル設定をキーと値のペアとして指定します。詳細については、Cohere ドキュメントのウェブサイトで「Rerank 」を参照してください。 次のフィールドはオプションです。
フィールド ユースケース nextToken 前のレスポンスで返されたトークン。結果の次のバッチを指定するために含めることができます。 含める
RerankSourceオブジェクトの形式は、ドキュメントの形式によって異なります。さまざまなRerankSourceタイプの形式を確認するには、ドキュメントの形式に対応するタブを選択してください。StringJSON object- String
ドキュメントが文字列の場合は、RerankDocument オブジェクトの
typeフィールドの値をTEXTとして指定し、textフィールドにドキュメントを含めます。例えば、次のようになります。{ "inlineDocumentSource": { "textDocument": { "text": "string" }, "type": "TEXT" }, "type": "INLINE" }- JSON object
ドキュメントが JSON オブジェクトの場合は、RerankDocument オブジェクトの
typeフィールドの値をJSONとして指定し、jsonDocumentフィールドにドキュメントを含めます。例えば、次のようになります。{ "inlineDocumentSource": { "jsonDocument": JSON value, "type": "JSON" }, "type": "INLINE" }
Rerankリクエストに対するレスポンスは、RerankResult オブジェクトのリストをresultsフィールドに入れて返します。各オブジェクトには、以下のフィールドが含まれています。-
document– 送信したドキュメントに関する情報が含まれます。 -
relevanceScore– ドキュメントの関連性スコア。再ランク付けモデルによって割り当てられます。 -
index– リスト内の他のドキュメントを基準としたドキュメントのランキングを示します。スコアが低いほど、ランキングは高くなります。
表示する結果が多すぎる場合、レスポンスは値を
nextTokenフィールドに入れて返します。この場合、結果の次のバッチを表示するには、後続のリクエストにそのトークンを含めます。コード例
次の例は、 AWS SDKs を使用して Rerank API を呼び出す方法を示しています。
PythonNode.js- Python
import boto3 client = boto3.client('bedrock-agent-runtime', region_name='us-east-1') response = client.rerank( queries=[{ 'type': 'TEXT', 'textQuery': {'text': 'What is Amazon Bedrock?'} }], sources=[ { 'type': 'INLINE', 'inlineDocumentSource': { 'type': 'TEXT', 'textDocument': {'text': 'Amazon Bedrock is a fully managed service for foundation models.'} } }, { 'type': 'INLINE', 'inlineDocumentSource': { 'type': 'TEXT', 'textDocument': {'text': 'Amazon S3 is an object storage service.'} } } ], rerankingConfiguration={ 'type': 'BEDROCK_RERANKING_MODEL', 'bedrockRerankingConfiguration': { 'modelConfiguration': { 'modelArn': 'arn:aws:bedrock:us-east-1::foundation-model/cohere.rerank-v3-5:0' }, 'numberOfResults': 2 } } ) for result in response['results']: print(f'Index: {result["index"]}, Score: {result["relevanceScore"]}')- Node.js
import { BedrockAgentRuntimeClient, RerankCommand } from "@aws-sdk/client-bedrock-agent-runtime"; const client = new BedrockAgentRuntimeClient({ region: "us-east-1" }); const response = await client.send(new RerankCommand({ queries: [{ type: "TEXT", textQuery: { text: "What is Amazon Bedrock?" } }], sources: [ { type: "INLINE", inlineDocumentSource: { type: "TEXT", textDocument: { text: "Amazon Bedrock is a fully managed service for foundation models." } } }, { type: "INLINE", inlineDocumentSource: { type: "TEXT", textDocument: { text: "Amazon S3 is an object storage service." } } } ], rerankingConfiguration: { type: "BEDROCK_RERANKING_MODEL", bedrockRerankingConfiguration: { modelConfiguration: { modelArn: "arn:aws:bedrock:us-east-1::foundation-model/cohere.rerank-v3-5:0" }, numberOfResults: 2 } } })); for (const result of response.results) { console.log(`Index: ${result.index}, Score: ${result.relevanceScore}`); }