ベクトルのクエリ
注記
Amazon S3 Vectors は Amazon Simple Storage Service のプレビューリリースであり、変更される可能性があります。
QueryVectors API オペレーションを使用して類似度クエリを実行できます。このオペレーションでは、クエリベクトル、返す関連結果の数 (トップ K 最近傍)、インデックス ARN を指定します。さらに、クエリでメタデータフィルターを使用して、フィルターに一致するベクトルのみを検索できます。フィルタリング不可能なメタデータフィールドでフィルタリングするリクエストを行うと、リクエストは 400 Bad
Request
エラーを返します。メタデータのフィルタリングについての詳細は、「メタデータフィルタリング」を参照してください。
レスポンスでは、ベクトルキーはデフォルトで返されます。オプションで、レスポンスに距離とメタデータを含めることができます。
クエリベクトルを生成するときは、ベクトルインデックスに保存されている初期ベクトルを生成するために使用されたのと同じベクトル埋め込みモデルを使用する必要があります。例えば、Amazon Bedrock で Amazon Titan Text Embeddings V2 モデルを使用してドキュメントのベクトル埋め込みを生成する場合は、同じ埋め込みモデルを使用して質問をクエリベクトルに変換します。さらに、Amazon Bedrock ナレッジベースは、Amazon Bedrock が S3 データソースからデータを自動的に取得し、コンテンツをテキストブロックに変換し、埋め込みを生成してベクトルインデックスに保存するフルマネージドエンドツーエンド RAG ワークフローを提供します。その後、ナレッジベースをクエリし、ソースデータから取得したチャンクに基づいてレスポンスを生成できます。コンソールで Amazon Bedrock ナレッジベースからベクトルをクエリする方法の詳細については、「(オプション) S3 ベクトルと Amazon Bedrock ナレッジベースを統合する」を参照してください。
さらに、オープンソースの Amazon S3 Vectors Embed CLI ツールを使用すると、コマンドラインからセマンティック検索を簡単に実行できます。このオープンソースツールは、Amazon Bedrock 基盤モデルによるベクトル埋め込み生成と、S3 ベクトルインデックスに対するセマンティック検索オペレーションの両方を処理することで、クエリプロセスを合理化します。このツールを使用してベクトルデータのクエリを実行する方法の詳細については、「s3vectors-embed-cli を使用したベクトル埋め込みの作成とセマンティック検索の実行」を参照してください。
S3 Vectors は、1 秒未満のクエリレイテンシー時間を提供します。S3 Vectors は Amazon S3 のエラスティックスループットを使用して数百万のベクトルにわたる検索を処理し、クエリの頻度が低いワークロードに最適です。ベクトル埋め込みの類似度クエリを実行する場合、ベクトル埋め込みモデル、ベクトルデータセットのサイズ (ベクトルとディメンションの数)、クエリの分布など、いくつかの要因が平均再現率パフォーマンスに影響を与える可能性があります。S3 Vectors は、ほとんどのデータセットに対して 90% 以上の平均再現率を提供します。平均再現率は、クエリ結果の品質を測定します。平均再現率 90% は、レスポンスに、クエリベクトルに対してベクトルインデックスに保存されている実際の最も近いベクトル (グラウンドトゥルース) の 90% が含まれていることを意味します。ただし、実際のパフォーマンスは特定のユースケースによって異なる可能性があるため、代表的なデータとクエリを使用して独自のテストを実行して、S3 Vectors が再現率の要件を満たしていることを確認することをお勧めします。