カスタム検索を使ってみる

Vertex AI Search は、詳細な情報検索、最先端の自然言語処理、最新の大規模言語処理の機能を組み合わせて、ユーザーの意図を理解し、最も関連性の高い検索結果を返します。

Vertex AI Search を使用すると、検索やおすすめ情報を生成するためのアプリを作成できます。Vertex AI Search には、一部の業界(メディア、医療、小売など)向けの特別な機能も用意されています。

このチュートリアルでは、カスタムデータの検索アプリの作成に焦点を当てます。データは、特定の業種に特化しないものです。

このチュートリアルでは、さまざまな種類のデータを検索するための検索アプリを作成する方法について説明します。

  • cloud.google.com/generative-ai-app-builder/ のクロールから得られたウェブサイトのデータ
  • Cloud Storage バケットから取り込まれた NDJSON 形式のデータセット形式の構造化データ
  • Cloud Storage バケットから取り込まれた PDF 形式の非構造化データ

このチュートリアルに進む前に、始める前にの手順が完了していることを確認してください。


このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。

ガイドを表示


始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI Search (Discovery Engine), BigQuery, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Discovery Engine Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      IAM に移動
    2. プロジェクトを選択します。
    3. [ アクセスを許可] をクリックします。
    4. [新しいプリンシパル] フィールドに、ユーザー ID を入力します。 これは通常、Google アカウントのメールアドレスです。

    5. [ロールを選択] リストでロールを選択します。
    6. 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
    7. [保存] をクリックします。
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Vertex AI Search (Discovery Engine), BigQuery, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Make sure that you have the following role or roles on the project: Discovery Engine Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      IAM に移動
    2. プロジェクトを選択します。
    3. [ アクセスを許可] をクリックします。
    4. [新しいプリンシパル] フィールドに、ユーザー ID を入力します。 これは通常、Google アカウントのメールアドレスです。

    5. [ロールを選択] リストでロールを選択します。
    6. 追加のロールを付与するには、 [別のロールを追加] をクリックして各ロールを追加します。
    7. [保存] をクリックします。
  10. Vertex AI Search を有効にする

    1. Google Cloud コンソールで、[AI Applications] ページに移動します。

      AI アプリケーション

    2. 省略可: [モデルの入力と回答の選択的サンプリングを Google に許可する] をクリックします。

    3. [続行して API を有効化] をクリックします。

    データストアを作成

    まず、検索アプリがインデックス登録するデータを含むデータストアを作成します。

    データストアに格納するデータのタイプ(ウェブサイト、構造化、非構造化)に対応するタブをクリックします。

    ウェブサイトのデータ

    1. [データストアの作成] ページに移動します。

      AI Applications - データストアを作成する

    2. [データソースを選択] ペインで、[ウェブサイトのコンテンツ] を選択します。

    3. [データストアのウェブサイトを指定] ペインで、[ウェブサイトの高度なインデックス登録] がオフになっていることを確認します。

    4. [追加するサイト] フィールドに、次のように入力します。

      cloud.google.com/generative-ai-app-builder/*
      
    5. [続行] をクリックします。

    6. [データストアの構成] ペインで、データストアのロケーションとして [global (Global)] を選択します。

    7. データストアの名前を入力します。生成された ID をメモします。メモしておきます。

    8. [作成] をクリックします。

    構造化データ

    1. [データストアの作成] ページに移動します。

      AI Applications - データストアを作成する

    2. [データソースを選択] ペインで [Cloud Storage] を選択します。

    3. [Cloud Storage のデータをインポート] ペインで、[構造化データ(JSONL)] を選択します。

    4. [ファイル] が選択されていることを確認します。

    5. gs:// フィールドに次の値を入力します。

      cloud-samples-data/gen-app-builder/search/kaggle_movies/movie_metadata.ndjson
      

      この Cloud Storage バケットには、Kaggle から提供される NDJSON 形式の映画のファイルが格納されています。

    6. [続行] をクリックします。

    7. 次のようにキー プロパティを割り当てます。

      フィールド名 キーのプロパティ
      homepage uri
      overview description

      [次へ]をクリックします

    8. [データストアの構成] ペインで、データストアのロケーションとして [global (Global)] を選択します。

    9. データストアの名前を入力します。生成された ID をメモします。メモしておきます。

    10. [作成] をクリックします。

    非構造化データ

    1. [データストアの作成] ページに移動します。

      AI Applications - データストアを作成する

    2. [データソースを選択] ペインで [Cloud Storage] を選択します。

    3. [Cloud Storage のデータをインポート] ペインで、[非構造化ドキュメント(PDF、HTML、TXT など)] を選択します。

    4. [フォルダ] が選択されていることを確認します。

    5. gs:// フィールドに次の値を入力します。

      cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs
      

      この Cloud Storage バケットには、Alphabet 投資家サイトの収益レポートの PDF が含まれています。

    6. [続行] をクリックします。

    7. [データストアの構成] ペインで、データストアのロケーションとして [global (Global)] を選択します。

    8. データストアの名前を入力します。生成された ID をメモします。メモしておきます。

    9. [作成] をクリックします。

    検索アプリを作成する

    次に、検索アプリを作成し、先ほど作成したデータストアをリンクします。

    ウェブサイトのデータ

    1. [アプリの作成] ページに移動します。

      AI アプリケーション - アプリを作成する

    2. [AI モードでのサイト内検索] で、[作成] をクリックします。

    3. [Enterprise エディションの機能] がオンになっていることを確認します。

    4. [アプリ名] フィールドに、アプリの名前を入力します。アプリ名の下にアプリ ID が表示されます。

    5. [会社または組織の表示名] フィールドに、会社または組織の名前を入力します。 このチュートリアルでは、アプリが Google Cloud ウェブサイトを検索するため、Google Cloud を使用できます。

    6. アプリのロケーションとして [global (Global)] を選択し、[続行] をクリックします。

    7. データストアのリストで、前の手順で作成したデータストアを選択してから、[作成] をクリックします。

    8. アプリの [データ] ページに移動して、インデックス登録されたウェブサイトのリストを表示し、必要に応じて変更します。

    構造化データ

    1. [アプリの作成] ページに移動します。

      AI アプリケーション - アプリを作成する

    2. [AI モードでのサイト内検索] で、[作成] をクリックします。

    3. [Enterprise エディションの機能] がオンになっていることを確認します。

    4. [アプリ名] フィールドに、アプリの名前を入力します。アプリ名の下にアプリ ID が表示されます。

    5. [会社または組織の表示名] フィールドに、会社または組織の名前を入力します。 このチュートリアルでは、アプリが映画のデータストアを検索するため、Cymbal Cinemas を使用できます。

    6. アプリのロケーションとして [global (Global)] を選択し、[続行] をクリックします。

    7. データストアのリストで、前の手順で作成したデータストアを選択してから、[作成] をクリックします。

    8. アプリの [データ] ページで、[アクティビティ] タブをクリックして、データの取り込みのステータスを確認します。インポート プロセスが完了すると、[ステータス] 列に [インポートが完了しました] と表示されます。このデータセットの場合、インポートの完了までに通常 2~3 分かかります。[インポートが完了しました] と表示されない場合は、[更新] をクリックする必要があります。

    9. [ドキュメント] タブをクリックして、インポートされたドキュメントの数を確認します。

    非構造化データ

    1. [アプリの作成] ページに移動します。

      AI アプリケーション - アプリを作成する

    2. [AI モードでのサイト内検索] で、[作成] をクリックします。

    3. [Enterprise エディションの機能] がオンになっていることを確認します。

    4. [アプリ名] フィールドに、アプリの名前を入力します。アプリ名の下にアプリ ID が表示されます。

    5. [会社または組織の表示名] フィールドに、会社または組織の名前を入力します。 このチュートリアルでは、Alphabet のドキュメントが検索対象となるため、Alphabet を使用できます。

    6. アプリのロケーションとして [global (Global)] を選択し、[続行] をクリックします。

    7. データストアのリストで、前の手順で作成したデータストアを選択してから、[作成] をクリックします。

    8. アプリの [データ] ページで、[アクティビティ] タブをクリックして、データの取り込みのステータスを確認します。インポート プロセスが完了すると、[ステータス] 列に [インポートが完了しました] と表示されます。このデータセットの場合、インポート処理には通常 2~3 分かかります。[インポートが完了しました] と表示されない場合は、[更新] をクリックする必要があります。

    9. [ドキュメント] タブをクリックして、インポートされたドキュメントの数を確認します。

    アプリをプレビューする

    ウェブサイトのデータ

    1. [アプリ] ページで、新しいアプリの名前をクリックします。

    2. ナビゲーション メニューで [プレビュー] をクリックし、検索アプリをテストします。

    3. 省略可: モバイルビューとデスクトップ ビューを切り替えるには、ビューアイコンをクリックします。

    4. 検索バーで Vertex AI Search を検索して、プロダクトに関する結果を表示します。

    構造化データ

    1. [アプリ] ページで、新しいアプリの名前をクリックします。

    2. ナビゲーション メニューで [プレビュー] をクリックし、検索アプリをテストします。

    3. 省略可: モバイルビューとデスクトップ ビューを切り替えるには、ビューアイコンをクリックします。

    4. 検索バーに「trains」と入力し、Enter キーを押して電車に関連する映画についての結果を表示します。

    非構造化データ

    1. [アプリ] ページで、新しいアプリの名前をクリックします。

    2. ナビゲーション メニューで [プレビュー] をクリックし、検索アプリをテストします。

    3. 省略可: モバイルビューとデスクトップ ビューを切り替えるには、ビューアイコンをクリックします。

    4. 検索バーに「Google」と入力し、Enter キーを押して結果を確認します。

    検索ウィジェットを構成する

    1. ナビゲーション メニューで [構成] をクリックします。

    2. [UI] タブで、検索アプリの設定を構成します。

      データ型に応じてさまざまな UI 構成を使用できます。詳しくは、検索ウィジェットの結果を構成するをご覧ください。

    3. [UI] タブで設定を変更した場合は、[保存して公開] をクリックします。

    4. [予測入力] タブに移動して、予測入力の特定の設定を構成します。

      詳細については、予測入力を構成するをご覧ください。

    5. [詳細設定] タブに移動して、高度な機能を構成します。

      詳しくは、高度な機能についてをご覧ください。

    検索アプリをデプロイする

    1. [アプリ] ページで、デプロイするアプリの名前をクリックします。

    2. ナビゲーション メニューで [統合] をクリックします。

    3. [Widget] タブが選択されていることを確認します。

    4. ウィジェットの認証タイプとして [JWT または OAuth ベース] を選択します。

    5. [ドメイン] フィールドに、ウィジェットを配置するウェブページのドメイン名を入力します。たとえば、ウィジェットをウェブページ example.com/ai.html にコピーする場合は、ドメインとして「example.com」と入力します。

    6. [Add] をクリックしてから、[Save] をクリックします。

    7. 次のコードをウェブ アプリケーションにコピーする」セクションにあるコード スニペットをコピーします。

    8. コードベースで認証トークンを生成します。

    9. 認証トークンをウィジェットに渡すには、[次のコードをウェブ アプリケーションにコピーする] セクションにある「認証トークンを設定する」コード スニペットを使用し、テキスト <JWT or OAuth token provided by your backend> を認証トークンに置き換えます。

    10. デプロイしたアプリをテストします。構成をさらに調整するには、「検索ウィジェットを構成する」の手順で操作します。デプロイされたウィジェットに変更を反映するには、[保存して公開] をクリックしてください。

    クリーンアップ

    このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。

    1. Google Cloud の料金が余分に発生しないようにするために、不要なプロジェクトをGoogle Cloud console で削除します。
    2. Vertex AI Search の学習用に新しいプロジェクトを作成し、そのプロジェクトが不要になった場合は、プロジェクトを削除します。
    3. 既存の Google Cloud プロジェクトを使用した場合は、作成したリソースを削除して、アカウントに課金されないようにします。詳細については、アプリを削除するをご覧ください。
    4. Vertex AI Search を無効にするの手順に沿って操作します。

    次のステップ