Tech Waves

produced by Hakuhodo DY ONE

Vertex AI Searchで実現する高度な検索アプリケーション - カスタム検索の設定方法と検証結果

こんにちは、つばさです。

今回は、Google Cloudのマネージドサービス(※1)であるVertex AI Searchの「カスタム検索」アプリを検証しましたので、その設定方法と検証結果を紹介します。

※1 :マネージドサービス:システムの運用・管理を専門業者が代行してくれるサービス。

 

Vertex AI Searchとは

Vertex AI Searchは、検索アプリケーションを手軽に構築できるGoogle Cloudのマネージドサービスです。Googleの検索技術を活用し、自然言語処理やLLMなどの機能を組み合わせることで、従来のキーワード一致だけでなく、セマンティック検索(※2)を用いてより関連性の高い検索結果を提供することが可能です。

※2 セマンティック検索:言葉の意味を理解して検索するシステム。キーワードの一致だけでなく、文脈や意図を解釈するため、同じ意味の異なる表現でも適切な結果を見つけられるのが特徴。

主な特徴

  • Google Cloud等に格納しているドキュメントの検索
  • 検索対象となるデータに基づいてAI回答を生成
  • ウェブページやアプリへの検索バー埋め込みが可能

基本コンポーネント

Vertex AI Searchは以下の主要コンポーネントで構成されています。

データストア

さまざまなデータソースのコンテンツが保存されます。利用可能なデータソースは以下の通りです。

  • ウェブサイト:公開ウェブサイトからインデックス登録されたデータ。要約をおこなうには、追加料金が発生
  • 構造化データ:データベース、Cloud StorageのJSONファイル、BigQueryテーブルなど
  • 非構造化データ:Cloud StorageやBigQueryに保存されているPDF、HTML、TXTファイル、画像ファイルなど
  • 統合検索:複数のデータソースを統合して一度に検索可能

検索アプリ

ユーザークエリから検索結果を提供するアプリケーションです。

アプリの種類

Vertex AI Searchでは、用途に応じて以下のアプリタイプを選択できます。

カテゴリ アプリ種類 説明
検索アプリ カスタム検索 ウェブサイトデータやその他の構造化・非構造化データを含む、Google品質の検索エンジン
検索アプリ メディア検索 映画、動画、音楽などのメディアコンテンツ向けの検索機能
検索アプリ 医療検索 FHIRデータストアの医療記録をクエリできる検索機能
レコメンデーション アプリ メディア レコメンデーション メディアコンテンツのおすすめ情報を提供
レコメンデーション アプリ カスタム レコメンデーション メディア以外のコンテンツのおすすめを提供


設定手順

「カスタム検索」アプリを作成する方法は、以下の通りです。

1. データストアの作成

Cloud Storageに保存した非構造化データを1度だけインポートする例を紹介します。

1. Google CloudコンソールでAI Applicationsページに移動

2. データストアページでデータストアを作成をクリック

3. ソースとしてCloud Storageを選択

4. データタイプに非構造化ドキュメント(PDF、HTML、TXT など)を選択

5. 同期の頻度1 回限り を選択

6. インポートするフォルダまたはファイルを選択

7. データストアのリージョンを選択

8. データストア名を入力

9.ドキュメント処理オプションを設定

10. 作成をクリック

2. 検索アプリの作成

「カスタム検索」アプリを作成する例を紹介します。

1. Google CloudコンソールでAI Applicationsページに移動

2. アプリページでアプリを作成をクリック

3. AI モードでのサイト内検索を選択

4. Enterprise エディションの機能の有効化

  • 追加費用が発生

5. 生成レスポンスの有効化

  • 検索の要約、フォローアップ付き検索などが利用可能

6. アプリ名と会社・組織の表示名を入力

7. アプリのロケーションを選択

  • デフォルトは「グローバル」を推奨

8. 続行をクリック

9. 作成済みのデータストアを選択、または新規作成

  • 複数のデータストアをアタッチする場合は、この段階で選択する
  • 後から追加・削除は不可

3. 検索ウィジェットの構成

構成 > UIタブで以下の設定をおこないます。

検索のタイプ

  • 検索エクスペリエンスのタイプを選択
    • 検索:検索結果のみ表示
    • 回答付きの検索:要約も含めて表示
    • フォローアップ付きの検索:要約の生成と同じ話題に対して追加質問が可能

回答のカスタマイズ

  • 回答のトーン、スタイル、長さを調整

サマリー言語

  • サマリーの言語を選択
  • 日本語を選択しないと、中国語などが返される場合がある

回答に含める画像

  • 回答に含める画像のソースを選択
  • 回答とともに次の種類の画像を返すことができる
    • 回答の情報から生成されたグラフ(AIで画像を生成)
    • 非構造化データストアから選択された画像(コーパスから選択)

予測入力の候補を表示

  • 予測入力の候補を表示できる
    • 入力ミスの自動訂正
    • 安全でない用語の削除
    • 個人情報(PII)の表示防止
    • 拒否リストの設定

ユーザー イベントの収集

  • 検索結果の向上とパーソナライズを目的として、ユーザー イベントを収集できる

4. アプリのプレビュー

ナビゲーションメニューでプレビューをクリックし、検索アプリをテストします。複数のデータストアを設定している場合は、質問時に該当のデータストアを選択・制御できます。

検証結果

Vertex AI Searchの特徴

検証の結果、以下の特徴が明らかになりました。

得意な点

  • 具体的な質問には適切に回答できる
  • すぐに使えるRAGシステムとして優れている

課題点

  • 抽象度が高い質問には回答できない場合がある
  • ソースコードを参照できないため、コードに関する質問には対応できない
  • RAGの検索設定は、コンソール上では変更できない仕様

出力精度について

プロンプトによる出力の変化

『回答のカスタマイズ』を調整することで、回答内容が変化することを確認しました。基本的なプロンプトと非技術者向けプロンプトでは、回答の表現が変化します。

データストアの選択による変化

複数のデータストアを設定したアプリにて、すべてのデータストアを参照させた場合と、一部のデータストアのみを参照させた場合では、回答内容が異なりました。特に、データストアを適切に分類し、必要なものだけを参照させることで、より精度の高い回答が得られることが分かりました。

課金について

重要な注意点

  • 1回の使用で$116.87の課金が発生したケースがありました。
  • 非構造化ドキュメントのデータストア作成時に課金が発生(レイアウトパーサーを使用)しており、登録ドキュメント数が多かったため(今回の例だと約3,000アイテム)、多額の課金が発生していました。

推奨事項

  • 事前に費用を試算してから利用すること、あるいは必要に応じて制限をかけて使用することをお勧めします。

その他の便利な機能

データソースのアクセス制御

IDプロバイダを使用して、エンドユーザーごとに検索結果を制限できます。

カスタム エンベディング

独自のベクトルエンベディングをアップロードして使用できます。

検索チューニング

テストデータを用いてファインチューニングが可能となっており、標準モデルよりも高品質な検索結果が期待できます。

サービス提供コントロール

結果が返された際、リクエストが処理されるデフォルトの動作を変更できます。

コントロールの種類

  • ブーストコントロール:結果の返される順序を変更
  • フィルタコントロール:返された結果からエントリを削除
  • 類義語コントロール:クエリを相互に関連付け
  • リダイレクトコントロール:指定されたURIにリダイレクト
  • プロモートコントロール:指定されたリンクを昇格

アナリティクス機能

アプリの利用状況、検索品質、エンドユーザーエンゲージメントに関する分析情報を確認できます。

まとめ

Vertex AI Searchは、Googleの検索技術を活用した強力なマネージドサービスです。設定も比較的シンプルで、すぐに使えるRAGシステムとして優れています。

一方で、課金体系には注意が必要で、特にドキュメント数が多い場合やOCR/レイアウトパーサーを利用する場合は、事前に費用の試算や制限設定が推奨されます。

適切なデータストアの設計とシステムプロンプトの調整により、ビジネスニーズに合った高精度な検索アプリケーションを構築できることが確認できました。

本記事が、Vertex AI Searchの導入を検討されている方の参考になれば幸いです。