ある大手製造企業が、Amazon Bedrock Knowledge Bases に製品マニュアル・安全規格・製造プロセスなど複数部門の文書を統合した単一のナレッジベースを構築しました。各文書には「department」「product_line」「year」などのメタデータが付与されています。品質管理部門のスタッフがチャットボットで質問した場合は品質管理部門の文書のみを、営業部門のスタッフが質問した場合は営業部門の文書のみを検索対象にする必要があります。ナレッジベースを部門ごとに分割せずにこの要件を実現する最も適切な方法はどれですか?
Amazon Bedrock Knowledge Bases のメタデータフィルタリング(Metadata filtering)を使用し、クエリ実行時に「department」属性の値で検索結果を絞り込む Amazon Bedrock Knowledge Bases のメタデータフィルタリングは、ドキュメントに付与したメタデータ(department, product_line 等)をクエリ実行時の絞り込み条件として使用できる機能です。1 つのナレッジベースで複数部門の用途に対応でき、管理コストを削減できます。 選択肢Aはチャンキングはドキュメントの分割方法の設定であり、検索時の属性フィルタリング機能ではありません。部門名をプレフィックスに付加してもクエリ側での条件絞り込みは実現できません。 選択肢Cは Kendra は強力な検索サービスですが、このユースケースは Knowledge Bases のメタデータフィルタリングで十分対応可能であり、Kendra への移行は不必要なコストと複雑さをもたらします。 選択肢Dは Bedrock Agents のアクショングループはツール呼び出し・外部 API 連携のための機能であり、Knowledge Bases 内の検索フィルタリングを担う適切な手段ではなく、実装コストも高くなります。