概要
先日、Amazon Bedrock Agentsを使ってエージェントを開発していたとき、以下のエラーメッセージが出力されかなり悩みました。
Dependency resource: received model timeout/error exception from Bedrock. Try the request again.
本記事では、私の環境における上記のエラーメッセージの対処方法について記します。
前提
今回、私が実装したエージェントは以下の通りです。
- リージョンは東京リージョン
- モデルはAmazon Nova Lite
- ここがキーポイント。Amazon Novaのシリーズは同様かなと思います。
- アクショングループで実装したLambda関数のランタイムはPython
手元の検証のために、AWSが公開しているハンズオン「倉庫業務におけるAmazon Bedrock Agentsを活用したチャットアプリケーション」でも試してみましたが、モデルをAmazon Novaにした場合、再現しました。
catalog.us-east-1.prod.workshops.aws
調査
原因調査をすると、そもそもLambda関数が呼ばれていないことがわかりました。このため、Lambda関数の実装になんらかの問題があるとは思えず、ひたすらAmazon Bedrock Agentsの設定を見直しました。
その後、アクショングループ名にハイフンを含んでいないエージェントにおいてはうまく動くことをたまたま発見しました。エラーメッセージが出力されていたアクショングループ名にはバッチリハイフンが含まれていました(以下は検証用で再現したときのもの)。
対策
にわかには信じられなかったのですが、ものは試しということでアクショングループ名をハイフンを除いた名前にすると...動いた〜。
ただ、上記のエラーメッセージからこの対策は紐付けすることが難しく、さすがに不親切すぎるだろうという気持ちがあります。
深掘り
類似の事象が何か報告されていないかなと思って探してみたら、以下のre:Postの記事が見つかりました。
原因として推察されているものとしては、以下のAPIの命名ルールに反しているのではないか?という推察がされているのですが、みた感じハイフンも命名ルールに含まれており、完全な原因としてはわかりませんでした。
なお、再現のために、Bedrock Agentsを色々と作成しようとしてみたところ、アクショングループ名のデフォルト値だけがハイフンではなく、アンダースコアになっていることに気がつきました。
単なる偶然なのか、意図的なのかは分からないのですが、アクショングループ名にハイフンを使うのはやめておこうという結論に至りました。