Skip to content

Lambda PowertoolsのBedrock Agent連携を活用したサンプルリポジトリ。Google Books APIを用いたLambdaをToolUseする書籍推薦エージェントを作成しています。

Notifications You must be signed in to change notification settings

fujioka-a/bedrock-agent-lambda-powertools

Repository files navigation

Powertools for AWSを使用したBedrock AgentとLambdaアクションの連携

このサンプルは、Powertools for AWS(TypeScript)のイベントハンドラーを使用してAmazon Bedrock Agentを作成する方法を示しています。

免責

  • このサンプルは個人用途で作成したため、利用に生じた問題については一切の責任を負いません。
  • コストについても一切の責任を負いません。AWSのサービスを使用する際は、事前にコストを確認してください。
    • コストの所感としては、モデル利用料が最も高くなります。モデルの価格はこちらで確認できます。

前提条件

このサンプルをデプロイする前に、Amazon Bedrockのファウンデーションモデルへのアクセスをリクエストする必要があります。詳細については、こちらのページをご参照ください。

アクセスが許可されたら、モデルID(例: amazon.nova-pro-v1:0)とAWSリージョン(例: us-west-2)をメモしてください。これらはサンプルをデプロイする際に必要になります。

最後に、lib/bedrockagents-stack.tsで定義されているIAMロールと権限(特にagentRoleを検索)を確認してください。このサンプルでは、bedrock:*の権限を使用してエージェントをテストし、実験できるようにしています。

本番環境にエージェントをデプロイする前に、Bedrock Agentのドキュメントを確認し、適切な権限が設定されていることを確認してください。

デプロイ

パラメータ指定として、プロジェクト直下に.env.dev ファイルを作成し、以下のように指定してください。

GOOGLE_BOOKS_API_KEY=VALUE..............
LOG_LEVEL=ERROR
NODE_ENV=dev

このリポジトリをクローンした後、AWS CDKを使用してサンプルをデプロイできます。デプロイ環境に指定はありませんが、ハンズオン目的であれば、AWSコンソールからCloudShellでのデプロイをお勧めします。

npm ci

# まだCDKブートストラップスタックをプロビジョニングしていない場合は、以下を実行してください:
npx cdk bootstrap --region=us-west-2

# Claudeモデルを使用する場合
npx cdk deploy --context modelId=anthropic.claude-3-7-sonnet-20250219-v1:0 --context region=us-west-2

# Nova Proモデルを使用する場合
npx cdk deploy --context modelId=amazon.nova-pro-v1:0 --context region=us-west-2

動作確認

Bedrockコンソールを使用してエージェントをテストします。次のような質問をしてみてください。

  • AWSの生成AIサービスを勉強したいです。おすすめはありますか?(あまり分厚くないとありがたいです。)
  • フランス旅行を計画しています。海外旅行の経験が少なく、フランス語も話せないことを踏まえて、おすすめの旅行ガイドブックがあれば教えてください。特に、グルメと観光に焦点を当てたものがいいです。
  • せなけいこの子供向け絵本を探しています。おすすめの作品はありますか?

クリーンアップ

npx cdk destroy

ロードマップ

今後の改善点については、現状では例えば以下が考えられます。

  • プロンプト改善
    • 著者・キーワード以外のパラメータの扱い(出版社や年代など)
    • ユーザーの入力が曖昧・不足する場合の、早い段階での追加入力の要求
  • Tool改善
    • 他の検索手法との併用(通常のGoogle検索、Tavilyなど)

About

Lambda PowertoolsのBedrock Agent連携を活用したサンプルリポジトリ。Google Books APIを用いたLambdaをToolUseする書籍推薦エージェントを作成しています。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published