はじめに
こんにちは.
AWS Bedrock + Knowledge Bases + S3 + OpenSearch を使用して RAG を実現します.
aws-cdk の Bedrock L2 Construct 対応は進んできています.
しかしながら, なるべくサクッと実現するために今回ご紹介するコードでは
を使用してみました.
構成
User ---> Bedrock Agent ---> Knowledge Bases ---> OpenSearch(Serverless)
└── S3
AWS リソースの作成・設定
$ git clone https://github.com/dev-kawano-y/study-aws-bedrock-agent-with-knowledge-bases.git
$ cd study-aws-bedrock-agent-with-knowledge-bases
$ npm ci
AWS リソースの作成
$ cd infrastructures
$ npx cdk deploy InfrastructuresStack --profile ...
- リソースが作成されたら AWS Management Console から Knowledge Bases とデータを同期してください
- Amazon Bedrock コンソール > ナレッジベース > [ナレッジベースを選択] > データソース > 同期
https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/kb-data-source-sync-ingest.html
- Amazon Bedrock コンソール > ナレッジベース > [ナレッジベースを選択] > データソース > 同期
動作確認
Amazon Bedrock コンソール > エージェント > [エージェントを選択] > テスト
RAG 用のドキュメントあり
RAG 用のドキュメントは こちら
応答を見ると問題なさそうですね.
おまけ: RAG 用のドキュメントなし
RAG 用のドキュメントを設定しないと期待する応答を得ることができませんでした.
AWS リソースの削除
AWS リソースの削除
$ npx cdk destroy InfrastructuresStack --profile ...
最後に
OpenSearch はまあまあ良いお値段するので, お試し後は削除をお忘れなく.

