継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Bedrock Knowledge Base のベクトルストアに S3 Vectors を指定して RAG を構築してみた

タダです.

先月 S3 Vectors がプレビューででてきました.

Amazon S3 Vectors は、AI エージェント、AI 推論、Amazon S3 に保存されているコンテンツのセマンティック検索を目的として構築され、コストの最適化されたベクトルストレージを提供します。S3 Vectors はベクトルのアップロード、保存、クエリのコストを最大 90% 削減することで、コスト効率の高い方法で大規模なベクトルデータセットを作成して使用できるようにします。これによって、AI エージェントのメモリやコンテキストを向上させ、S3 データに対するセマンティック検索の結果を改善できます。

aws.amazon.com

docs.aws.amazon.com

リリースを見ると Bedrock Knowledge Base との統合もサポートしているという話が出ています.以前は OpenSearch Serverless が選択肢にある中でコストの観点で Knowledge Base の使用時間をシビアに見ていたのですが,S3 Vectors を使ってみたいモチベがありこの記事で試した内容をまとめます.

S3 Vectors は Amazon Bedrock ナレッジベースとネイティブに統合されているため、検索拡張生成 (RAG) に大規模なベクトルデータセットを使用するコストを削減できます。S3 Vectors と Amazon OpenSearch Service を組み合わせて使用すると、クエリの頻度が低いベクトルのストレージコストを削減できます。また、需要が高まったときに、または検索機能を強化する目的でそれらのベクトルを OpenSearch にすばやく移動できます。

Knowledge Base と S3 Vectors を統合して簡易な RAG を作る

バージニアリージョンで試します.データソース用の S3 バケットを作りそこに公開情報のPDFを格納します.その後,Bedrock Knowledge Base のリソースを作っていくのですが,埋め込みモデルは Titan Text Embeddings V2 を選択してベクトルデータベースは「Quick create a new vector store(新しいベクトルストアをクイック作成)」を選びます.選択画面に「Amazon S3 Vectors - Preview」があるのでこれを選択してリソース作成を行います.

S3 Vectors の画面に行くと以下のスクショにあるリソースが作成されていました.

試しに質問をしてみる

作成した Knowledge Base に質問するためにテストしてみます.まずはデータソースをベクトルストアに同期します.

次に Test Knowledge Base からモデルに Claude Sonnet 4を選んでアップロードしたPDFに関する質問を投げてみたら期待通りに返ってきました.

まとめ

Bedrock Knowledge Base のベクトルストアに S3 Vectors を指定して試してみました.S3 Vectorとの統合は簡単にできたので今後 Knowledge Base を使う時に使っていきたいです.