arrow_back

Vertex AI Vector Search を使用してハイブリッド検索を作成する

ログイン 参加
700 以上のラボとコースにアクセス

Vertex AI Vector Search を使用してハイブリッド検索を作成する

ラボ 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

GSP1297

Google Cloud セルフペース ラボのロゴ

概要

Vertex AI Vector Search は、セマンティック検索とキーワード検索(トークンベース検索とも呼ばれます)の両方を組み合わせた情報検索(IR)の一般的なアーキテクチャ パターンであるハイブリッド検索をサポートしています。ハイブリッド検索を使用すると、2 つのアプローチの長所を活かして、検索の質を効果的に高めることができます。

このラボでは、Google の商品データセットを使用してハイブリッド検索を行う方法を学びます。ラボの最後では、ハイブリッド検索の結果とトークンベース検索の結果を比較します。

ラボを開始すると、次の図に示すリソースが含まれる環境が提供されます。

ラボの開始時に提供されるアーキテクチャ。

ラボを終えるまでに、このアーキテクチャを使用して複数のタスクを実行します。

ラボの完了時に構築されているアーキテクチャ。

次の表で、ラボのアーキテクチャに含まれる各タスクについて詳しく説明します。

タスクの番号 詳細
1. Vertex AI Workbench でノートブックを開き、カーネルを選択する。
2. パッケージをインストールし、プロジェクトのノートブックを構成する。
Google Gen AI SDK を使用し、Developer API と Vertex AI を介してテキスト エンベディング モデルを操作します。このためには、Python ライブラリをインストールし、ラボ全体で参照する必要があります。また、ラボの開始時に提供された Cloud Storage バケットなど、プロジェクト内のリソースにアクセスできるようにノートブックを構成する必要もあります。
3. データセットを準備する。
このタスクでは、Google Merchandise Store の商品を含むデータセットの .csv ファイルをダウンロードし、Pandas DataFrame に追加します。
4. トークンベース検索を使用する。
ベクトライザー(テキストから疎エンベディングを生成するモデル)をトレーニングしてから、データセットに適用します。
5. インデックス エンドポイントを作成する。
Vertex AI Vector Search でハイブリッド検索を使用するには、事前にインデックス エンドポイントを作成する必要があります。
6. ハイブリッド クエリ インデックスを作成してエンドポイントにデプロイする。
データセットの項目の密エンベディングを生成する「text-embedding-005」モデルを取得します。このモデルと疎エンベディングを組み合わて、ハイブリッド インデックスを作成します。これが完了したら、ハイブリッド インデックスをエンドポイントにデプロイします。
7. ハイブリッド クエリを実行する。
インデックスをデプロイしたら、まず HybridQuery オブジェクトを作成してクエリテキストの疎エンベディングをカプセル化する必要があります。その後、クエリを実行できます。

前提条件

このラボを開始する前に、以下について理解しておく必要があります。

  • 基本的な Python プログラミング。
  • 一般的な API のコンセプト。
  • Vertex AI Workbench の Jupyter ノートブックでの Python コードの実行。

目標

このラボでは、次の作業を行います。

  • Vertex AI Vector Search でハイブリッド検索を使用する。
  • ハイブリッド検索インデックスを作成してデプロイする。
  • ハイブリッド検索インデックスに対してクエリを実行する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

タスク 1. Vertex AI Workbench でノートブックを開き、カーネルを選択する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Vertex AI] > [ワークベンチ] の順にクリックします。

  2. インスタンスを見つけて、[JupyterLab を開く] ボタンをクリックします。

Workbench インスタンスの JupyterLab インターフェースが新しいブラウザタブで開きます。

注: JupyterLab にノートブックが表示されない場合は、次の追加手順でインスタンスを再設定してください。

1. JupyterLab のブラウザタブを閉じて、Workbench のホームページに戻ります。

2. インスタンス名の横にあるチェックボックスをオンにして、[リセット] をクリックします。

3. [JupyterLab を開く] ボタンが再度有効になったら、1 分待ってから [JupyterLab を開く] をクリックします。

  1. ファイルを開きます。

  2. [Select Kernel] ダイアログで、使用可能なカーネルのリストから [Python 3] を選択します。

タスク 2. パッケージをインストールし、ノートブックを構成する

ノートブックの使用を開始するには、セクション 1 の「Create sparse embeddings」(疎エンベディングを作成する)から始めます。

このタスクでは、必要な Python パッケージをインストールし、カーネル ランタイムを再起動します。続けて、目的のプロジェクトとリージョンを使用するようにノートブックを構成し、ライブラリをインポートします。

  1. タスク 2 の「Install packages, and configure the notebook」(パッケージをインストールし、ノートブックを構成する)のセルを完了します。

    [Project ID] には を使用し、[Location] には を使用します(これらの情報が未入力の場合)。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 パッケージをインストールし、ノートブックを構成する。

タスク 3. データセットを準備する

このタスクでは、データセットの .csv ファイルをダウンロードし、ノートブックで使用できるように準備します。

  1. ノートブックのタスク 3 の「Prepare the dataset」(データセットを準備する)のすべてのセルを完了します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 データセットを準備する。

タスク 4. 疎エンベディングを作成する

このタスクでは、疎エンべディングを作成し、データセット内の項目「Chrome Dino Pin」を検索して、ベクトルベースの値と次元を取得します。また、データセット内の他の商品についてもこれらの値を取得します。次に、Workbench 内の items.json ファイルにこれらの値を保存し、このファイルを Cloud Storage バケットにコピーします。

  1. ノートブックの「Create sparse embedding」(疎エンベディングを作成する)タスクを実行します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 疎エンベディングを作成する。

タスク 5. インデックス エンドポイントを作成する

次に、ハイブリッド検索を使用するノートブックのセクション 2 に進みます。

この 5 番目のタスクではまず、インデックス エンドポイントを作成します。

  1. ノートブックの「Create an index endpoint」(インデックス エンドポイントを作成する)タスクを実行します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 インデックス エンドポイントを作成する。

タスク 6. ハイブリッド インデックスを作成し、エンドポイントにデプロイする

このタスクでは、テキスト エンベディング モデルを取得し、1 つの項目の密エンベディングに対するサンプルクエリを実行してから、すべての項目に対してクエリを実行します。次に、これらを items.json ファイルに保存します。続けて、このファイルからハイブリッド インデックスを作成し、インデックスをエンドポイントにデプロイします。

  1. ノートブックの「Create the hybrid index and deploy it to the endpoint」(ハイブリッド インデックスを作成し、エンドポイントにデプロイする)タスクを実行します。
注: ハイブリッド インデックスの作成には約 4~5 分かかります。 注: ハイブリッド インデックスのデプロイには 30 分かかります。

ハイブリッド インデックスのデプロイを待っている間にその状況を確認するには、[Vertex AI] > [ベクトル検索] > [インデックス エンドポイント] に移動します。

また、こちらのデモもご覧ください。デモで紹介している現実に即した例で、ベクトル検索の仕組み、セマンティック検索とハイブリッド検索、再ランキングの流れを学ぶことができます。動物、植物、e コマースの商品、その他の項目の簡単な説明を送信すると、残りの手順は Vertex AI Vector Search が完了します。

重要: [Vertex AI] > [ベクトル検索] を選択して Vertex AI Vector Search にアクセスし、表示されているインデックスとインデックス エンドポイントの両方にアクセスする必要があります。リソースの作成が完了すると、ステータスが変更されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ハイブリッド インデックスを作成し、エンドポイントにデプロイする。

タスク 7. ハイブリッド クエリを実行する

このタスクでは、先ほどデプロイしたハイブリッド インデックスを使用してハイブリッド クエリを実行し、このクエリの結果を疎エンベディングと比較します。

  1. ノートブックの「Run a hybrid query」(ハイブリッド クエリを実行する)タスクを実行します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ハイブリッド クエリを実行する。

お疲れさまでした

このラボでは、Vertex AI Vector Search でハイブリッド検索を使用する方法を学びました。また、ハイブリッド検索インデックスを作成してデプロイする方法と、クエリを実行して疎エンベディングと比較する方法も学習しました。

次のステップと詳細情報

以下のリソースで Gemini に関する理解を深めましょう。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2025 年 7 月 10 日

ラボの最終テスト日: 2025 年 6 月 13 日

Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。