[翻訳] オールインワンなAI検索の実験場「OpenSearch AI デモ in Hugging Face」の紹介
本投稿は OpenSearch Project Blog "Introducing OpenSearch AI demos in Hugging Face: Your all-in-one AI search playground" の日本語訳です。
OpenSearch AIデモの紹介
このたび、Hugging FaceでのOpenSearch AIデモのローンチをお知らせできることを嬉しく思います。これは、高度なAI検索機能を簡単に体感できるようにする最先端のデモアプリケーションセットです。
OpenSearch AIデモは機械学習(ML)エンジニア、検索技術の専門家、データサイエンティスト、あるいは生成AIの世界に飛び込もうとしているプロダクトオーナーなど、幅広い人が最新の検索技術を探索し理解するためのプレイグラウンドです。

OpenSearch AIデモは、OpenSearchを使用したAI検索機能の全ての側面を紹介する包括的なデモプラットフォームです。3つの主要モジュールが含まれています:
-
AI検索:OpenSearchによるAI検索機能(全文検索、ニューラルスパース検索、密ベクトル検索、ハイブリッド検索、マルチモーダル検索)を実験します。AI検索モジュールは、大規模言語モデル(LLM)による検索の改善も実験できます。このソリューションは主に2つの方法でLLMを使用します。一つは、より良い検索のためにメタデータフィルターでクエリを書き換えることです。もう一つは、検索の品質を評価し、異なる検索アプローチが品質に与える影響を比較することです。さらに、このセクションでは、サブクエリごとのハイブリッド検索の重み付けの調整をカバーし、リランキングが検索の関連性を向上させる方法を実証します。このデモでは、アクセサリー、ホームデコレーション、アパレル、家庭用品、書籍、楽器などの異なるカテゴリに属する2,465の小売製品サンプルを含むデータセットを使用します。各製品には、ID、現在の在庫、名前、カテゴリ、スタイル、説明、価格、画像URL、製品の性別親和性を含むメタデータが含まれています。以下の画像がAI 検索のUIのイメージです。
- マルチモーダルRAG:マルチモーダルなRetrieval-Augmented Generation(RAG)により、非構造化PDFドキュメントに隠された洞察を抽出できます。多くのPDFにはテキスト、表、画像などのマルチモーダル要素が含まれており、テキストベースの処理のみでは重要な情報を見逃すリスクがあります。このセクションでは2つのアプローチでこの課題に対処します:
- マルチモダリティをテキストに変換:Unstructured Python moduleのようなマルチモーダルパーサーを使用してサンプルPDFを解析し、画像と表をテキストに要約して、スパースベクトルと密ベクトルの両方として保存します。各チャンクには、そのソース(テキスト、画像、またはテーブル)を示すメタデータが付与され、質問応答のための検索を可能にします。
- 最先端のVision Language Modelを活用した情報検索:ColPaliのような遅延相互作用(late interaction)型のマルチベクトルモデルは、複雑な前処理パイプラインを必要とせず、PDFの各ページから全モダリティを捕捉する複数のベクトルを生成します。これらの局所化されたベクトル表現により、クエリトークンとPDFページの画像パッチ間の細粒度な相互作用が可能になり、空間レイアウト全体にわたって高解像度の関連性スコアを計算できます。この手法の大きな利点は解釈可能性です。類似性スコアをPDFページ上のヒートマップとして可視化でき、テキストブロック、表、図のキャプションなど、どの部分が検索に最も貢献したかを明確に示せます(下図参照)。このソリューションでは、ノルウェー政府年金基金グローバルの公開レポートから抽出した6,692ページ分のPDFデータセット(テキスト、表、チャートを含む)を使用しています。
-
AIショッピングアシスタント:RAGは非構造化データ上のQ&Aシステム構築で広く知られていますが、eコマース製品検索への応用は、ユーザー体験を変革する新たな可能性を開きます。このソリューションでは、OpenSearch上の製品カタログに対してRAGとAIエージェントを組み合わせます。これにより、会話型ショッピング体験を提供できるエージェント型ショッピングアシスタントの作成方法を探求します。エージェントにユーザー意図の理解、クエリ書き換え、検索戦略の動的選択、検索結果評価、フィードバックベースのリトライ、パーソナライゼーションなどの機能を実装することで、製品カタログに対する適応的で高品質な検索を実現します。このアプローチは検索品質を向上させるだけでなく、ユーザーが検索システムと自然に対話できるようになります。このモジュールでは、オリジナルのAmazon ESCIのeコマースデータセットから派生したデータセットを使用します。「アパレル」と「フットウェア」製品カテゴリから合計59,300製品のサブセットを利用しています。AIショッピングアシスタントのインタラクション例を以下の画像に示します。



このデモのAIエージェントには、以下のツールが定義されています: -
get_relevant_items_for_image:マルチモーダル検索を実行して、提供された画像とテキストクエリに基づいて関連製品を取得 -
generate_image:提供されたテキスト記述に基づいて画像を生成 -
get_product_details:OpenSearchインデックスを検索して特定製品の詳細を取得 -
get_relevant_items_for_text:セマンティック検索を実行して、提供されたテキストクエリに基づいて関連製品を取得 -
get_any_general_recommendation:特定製品に関連するファッション推奨、または一般的な推奨を提供 -
retrieve_with_keyword_search:全文検索を実行して、提供されたテキストクエリに基づいて関連製品を取得
内部構造:OpenSearch AI デモのアーキテクチャ
検索システムへのML統合は、ドキュメントの取り込みから高精度な結果の配信まで、ライフサイクル全体にわたってユーザー体験を大幅に向上させます。OpenSearchはサポートされているMLコネクタのリストを通じてこの統合を促進し、Amazon SageMaker AIやAmazon BedrockなどのMLプラットフォームにデプロイされたMLモデルやLLMとのシームレスな相互作用を可能にします。以下がOpenSearch AI デモのアーキテクチャです。

OpenSearchは、取り込みパイプラインと検索パイプラインから成るデュアルパイプラインアーキテクチャをサポートし、ML駆動の検索最適化のための堅牢なフレームワークを提供します。
取り込み時、ドキュメントはパイプライン内のMLベースの処理と取り込みプロセッサーとの組み合わせにより、長文テキストのチャンク化とテキスト埋め込みの生成を実行します。検索時、検索パイプラインは検索プロセッサーの能力を活用して、クエリ変換、ハイブリッド検索スコアの正規化、テキスト生成のためのLLM適用を実行します。
OpenSearchのML統合により、ハイブリッド検索、クエリ書き換え、RAGなどの高度な検索機能が実現し、従来の情報検索と最先端のML技術間のギャップを効果的に埋めています。
主な利点
急速に進化するAIと検索技術の領域において、異なるユースケースに対する最適なアプローチを理解することは極めて重要です。OpenSearch AIデモは以下を可能にします:
1 検索タイプの比較と対照:異なるAI検索タイプを並列でテストし、特定のニーズに対するパフォーマンスを確認
1 最先端技術の探索:LLMによるクエリ書き換えや、RAGにおけるColPaliを使用したマルチベクトル検索など、最新手法の実践的体験
1 エージェントの動作を確認:インテリジェントエージェントがリアルタイムで検索体験をどのように向上させるかを観察
1 ワンストップなショッピング体験:MLとLLMが統合された高度な検索技術すべてに、単一のユーザーフレンドリーなプラットフォームでアクセス
探索を始める
OpenSearch AIデモは実践的な実験と学習のために構築されています。開始方法は以下の通りです:
- OpenSearch AIデモアプリケーションにアクセスし、様々なAI検索ユースケースで実験を開始
- あなたのユースケースに応じた様々なクエリを試し、結果を比較して、最も効果的な技術を特定
- 改善アイデアがありますか?GitHubリポジトリをチェックして、機能リクエスト、バグ報告、またはOpenSearch AIデモへのコントリビューションを行ってください
- AWSビルダーの方は?自身のAWSアカウントで次世代検索デモを構築するハンズオン体験をチェックしてください
AI検索へのアプローチに革命をもたらす準備はできましたか?今すぐOpenSearch AIデモに飛び込んで、検索技術の未来を発見しましょう!
OpenSearch Project(OSS) の Publicationです。 OpenSearch Tokyo User Group : meetup.com/opensearch-project-tokyo/
Discussion