【要約】Bedrock の Web Search がライブ Web 取得に対応したので試してみた [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
従来のWeb Search機能では、検索対象がAWS内のWebスナップショットに限定されていた。これにより、開発者は以下の課題に直面していた。
- ・情報の鮮度不足:スポーツ速報やライブ価格、公開直後のドキュメントなど、最新情報の取得が困難。
- ・リアルタイム性の欠如:スナップショットへの反映を待つ必要があり、動的なコンテンツへの対応ができない。
- ・セキュリティとのトレードオフ:外部アクセスを許可すると、クエリデータが外部へ送信されるリスクが生じる。
// Approach
開発者が公開Webへ直接アクセスできるよう、パラメータとIAM権限を組み合わせた制御機構が導入された。具体的な手法は以下の通りである。
- ・二重ゲート制御:
external_web_accessパラメータとIAMアクションを組み合わせ、意図しない外部通信を防ぐ。 - ・Pythonによる実装:
openaiSDKを用い、bedrock-mantleエンドポイント経由でツールを呼び出す。 - ・検証プロセス:現在時刻APIを用いたライブ取得の確認や、日本語ソースへの到達性を検証した。
// Result
検証の結果、External Web Accessの有効化により、最新情報の取得が可能であることが確認された。
- ・ライブ取得の成功:未取得のURLに対し、リクエスト時の最新時刻を正しく取得できた。
- ・日本語性能の確認:ZennやQiita等の日本語サイトから正確な情報を取得し、引用付きで回答できた。
- ・キャッシュ挙動の判明:一度フェッチしたコンテンツはキャッシュされ、再利用される可能性がある。
Senior Engineer Insight
> 鮮度とセキュリティのトレードオフが明確である。最新情報を追う用途には強力だが、クエリが外部へ送信されるリスクを考慮すべきだ。運用面では、まず
false で開始し、必要に応じてIAM権限を付与して true にする段階的な導入が現実的である。また、キャッシュ挙動が明文化されていないため、動的コンテンツ取得にはクエリパラメータによる回避策が必要となる。