[アップデート] Amazon Bedrock でエージェントからガードレールが使えるようになりました
いわさです。
Amazon Bedrock で有害なコンテンツをブロックするための機能である、Guardrails for Amazon Bedrock が GA となってから一ヶ月近く経ちました。
GA 時はInvokeModel
でモデルを呼び出す際に、作成したガードレールを指定することが出来ていましたが、先日のアップデートで Agents for Amazon Bedrock (以降エージェント) からモデルにアクセスする際にもガードレールを使うように構成することが出来るようになりました。
エージェントは自律的にタスクを処理してくれる「エージェント」です。
エージェントを構成する際に、推論や回答生成を行うためのモデル情報などを入力するのですが、併せて作成済みのガードレールを設定することが出来るようになりました。
先ほどお昼ごろに私が確認した際には東京リージョンでは使えずにバージニア北部リージョンであれば設定することが出来る状態でした。
エージェントの特定バージョンでガードレールを指定するだけで使うことが出来ます。簡単です。
エージェントにガードレールを設定してみる
ガードレールオプションを使う方法は公式ドキュメントのエージェント構成手順にも既に記載されています。
ガードレールはエージェントのバージョンごとに設定出来まして、今回はドラフトバージョンへ設定してみましょう。
「Edit in Agent Builder」を開きます。
いやぁ、API や公式ドキュメントから、てっきりベースモデルと Additional settings の間あたりに設定項目が追加されるのかなぁと思いきや、全然違うところでした。
以下に新しくガードレール設定用のエリアが追加されています。
対象エリアの編集ボタンから、作成済みのガードレールを選択し、バージョンまで指定するだけです!
ただ、事前にエージェントの保存をしてエージェントリソースロールが設定されていない状態だとガードレール設定時に次のエラーが表示されましたので、まずガードレールなしでエージェントの保存まで行っておきましょう。
ガードレールが設定されているバージョンは次のように表示されます。
ガードレールを設定したエージェントをテストしてみる
何を聞けばよいのかわからなかったのですが、冒頭の青柳さんブログのように爆弾の作り方を聞いてみましょう。
まずはガードレールを設定しない状態だと次のようになります。
回答出来ないと言われてしまいました。ガードレールに設定したメッセージではないですねこれは。
トレースを見てみると、危険・悪意のあるコンテンツと分類されていますが、これはガードレールとは関係のないところですね。
ガードレール追加後
その上でガードレール設定を追加し、同じように入力してみましょう。
今度は次のようなメッセージが表示されました。
これはガードレール側に設定したブロックメッセージです。ガードレールから出力されていることがわかります。
トレースも見てみましょう。
前処理トレースのはじめにpreGuardrailTrace
というステップが発生しており、アクションがINTERVEWED
となり以降のステップが実行されていないです。
また、ガードレールで処理されない問題のなさそうなメッセージを入力した場合は次のようなトレースとなりますた。
こちらも同様に前処理トレースの最初のステップでpreGuardrailTrace
が実行されていますが、アクションがNONE
となり、次のステップが実行されていますね。
さいごに
本日は Amazon Bedrock でエージェントからガードレールが使えるようになったので、まずバージニア北部リージョンで使ってみました。
明日あたりに東京リージョンにも反映されてるかまた確認してみたいと思います。
エージェント使用中の方はガードレールについても併せて評価してみてください。