Gemini for Google Cloud アシスタンを使用してデータを分析する

このチュートリアルでは、Google Cloud の AI を活用したコラボレーターである Gemini for Google Cloud を使用してデータを分析する方法について説明します。このチュートリアルでは、Gemini in BigQuery を使用して、商品の販売を分析し予測します。

このチュートリアルでは、SQL と基本的なデータ分析タスクの知識があることを前提としています。Google Cloud プロダクトの知識は前提ではありません。BigQuery を初めてご利用になる場合は、BigQuery のクイックスタートをご覧ください。

目標

  • Gemini を使用して、Google Cloud のデータ分析プロダクトおよびユースケースに関する質問に対する回答を得る。
  • BigQuery で SQL クエリの説明と生成を行うように Gemini に指示する。
  • 今後の期間の売上を予測するための機械学習(ML)モデルを構築する。

費用

このチュートリアルでは、課金対象である次の Google Cloud コンポーネントを使用します。

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを出すことができます。

始める前に

  1. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  2. Google Cloud プロジェクトで Gemini in BigQuery を設定していることを確認します。
  3. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  4. bqml_tutorial という名前のデータセットを作成します。このデータセットを使用して、テーブルやモデルなどのデータベース オブジェクトを保存します。

  5. このチュートリアルを完了するために必要な BigQuery での Gemini の機能を有効にします。

    1. BigQuery で Gemini 機能を表示するさせる、ツールバーで pen_spark [Gemini] をクリックします。

    2. [Gemini in BigQuery SQL エディタ] リストで、次のオプションをすべて選択します。

      • 予測入力
      • 自動生成
      • 説明

    BigQuery で Gemini 機能を無効にするには、無効にしたい Gemini 機能の選択を解除します。

Gemini を使用してデータを分析する

Gemini は、分析のためにアクセスできる対象データとそのデータの分析方法を理解するのに役立ちます。

データをクエリする前に、アクセス可能なデータを知っておく必要があります。データ プロダクトはそれぞれ、データの構成方法や格納方法が異なります。ヘルプを得るには、Gemini に自然言語ステートメント(またはプロンプト)を送信します。たとえば、「BigQuery ではどのデータセットとテーブルが使用可能かを確認するにはどうすればよいですか?」などです。

さまざまなデータクエリ システムの特性を理解したい場合は、次のような特定のプロダクト情報について Gemini に指示できます。

  • 「How do I get started with BigQuery?」
  • 「What are the benefits of using BigQuery for data analysis?」
  • 「How does BigQuery handle auto-scaling for queries?」

Gemini は、データの分析方法に関する情報も提供できます。このような種類のヘルプについては、次のような Gemini プロンプトを送信できます。

  • 「BigQuery で時系列予測モデルを作成するにはどうすればよいですか?」
  • 「異なるタイプのデータを BigQuery に読み込むにはどうすればよいですか?」

データに関する質問の回答を Gemini に指示するには、次の手順に従います。

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

    [BigQuery] に移動

  2. Google Cloud コンソールのツールバーで、spark [Gemini を開く] をクリックします。

  3. [Gemini] ペインで、How do I learn which datasets and tables are available to me in BigQuery? のようなプロンプトを入力します。

  4. send [メッセージを送信] をクリックします。

    Gemini for Google Cloud が、プロンプトやそのレスポンスをデータとして使用してモデルをトレーニングすることはありせん。詳しくは、Gemini for Google Cloud がデータを使用する方法をご覧ください。

    Gemini から次のようなレスポンスが返されます。

    To learn which datasets and tables are available to you in
    BigQuery, you can use the Google Cloud console, the
    Google Cloud CLI, or the BigQuery API.
    ...
    
  5. 省略可: チャットの履歴をリセットするには、[Gemini] ペインで delete アイコンをクリックしてから、[チャットをリセット] をクリックします。

Gemini を使用して BigQuery での SQL を理解し、記述する

Gemini は SQL を操作する場合に役に立ちます。たとえば、他の人が書いた SQL クエリを操作する場合、Gemini in BigQuery は、複雑なクエリを書式なし言語で説明できます。このような説明によって、クエリ構文、基盤となるスキーマ、ビジネス コンテキストが理解しやすくなります。

販売データセットの SQL クエリを説明するよう Gemini に指示する

サンプルの SQL クエリについて説明するよう Gemini に指示するには、以下の手順を行います。

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

    [BigQuery] に移動

  2. クエリエディタで、説明するクエリを開くか貼り付けます。

    たとえば、あなたは、販売データセットでのデータテーブルとクエリの関係を把握し、また、そのデータセットを使用するクエリの作成のサポートしてほしいと思っています。次のクエリ例では、あなたは、どのテーブルが使用されているかを理解できますが、クエリの他のセクションは解析と理解に時間がかかるかも知れません。

    SELECT u.id as user_id, u.first_name, u.last_name, avg(oi.sale_price) as avg_sale_price
    FROM `bigquery-public-data.thelook_ecommerce.users` as u
    JOIN `bigquery-public-data.thelook_ecommerce.order_items` as oi
    ON u.id = oi.user_id
    GROUP BY 1,2,3
    ORDER BY avg_sale_price DESC
    LIMIT 10
    
  3. Gemini に説明させるクエリをハイライト表示してから、pen_spark [このクエリを説明する] をクリックします。

    SQL の説明が [Gemini] ペインに表示されます。

    前の手順のクエリの例を使用して、Gemini から次のような説明が返されます。

    The intent of this query is to find the top 10 users by average sale price.
    The query first joins the users and order_items tables on the user_id
    column. It then groups the results by user_id , first_name , and last_name,
    and calculates the average sale price for each group. The results are then
    ordered by average sale price in descending order, and the top 10 results
    are returned.
    

日と商品で売上をグループ化する SQL クエリを生成する

データのスキーマに基づいて SQL クエリを生成するよう、Gemini にプロンプトを提供できます。コード不要で始める場合や、データスキーマの知識や SQL 構文の基本的な知識しかない場合でも、Gemini は 1 つ以上の SQL ステートメントを提案できます。

次の例では、日次の上位の商品を一覧表示するクエリを生成します。 この種類のクエリは複雑になる場合が多いですが、Gemini を使用すれば、ステートメントを自動的に作成できます。次に、thelook_ecommerce データセットのテーブルを使用して、注文された商品アイテムと商品名別に売上を計算するクエリを生成するよう Gemini に指示します。

上位の商品を一覧表示するクエリを生成するよう Gemini に指示するには、次の手順を行います。

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

    [BigQuery] に移動

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

  3. [ クエリを新規作成] をクリックします。 [エクスプローラ] ペインに、選択したデータベースが自動的に読み込まれます。

  4. クエリエディタで、次のプロンプトを入力してから Enter キーを押します。ハッシュ記号(#)によって、Gemini に SQL を生成するよう指示します。

    # select the sum of sales by date and product casted to day from bigquery-public-data.thelook_ecommerce.order_items joined with bigquery-public-data.thelook_ecommerce.products
    

    Gemini は次のような SQL クエリを提案します。

    SELECT sum(sale_price),
    DATE(created_at),
    product_id
    FROM `bigquery-public-data.thelook_ecommerce.order_items`
    AS t1
    INNER JOIN `bigquery-public-data.thelook_ecommerce.products`
    AS t2
    ON t1.product_id = t2.id
    GROUP BY 2, 3
    
  5. 提案されたコードを受け入れるには、[タブ] をクリックしてから [実行] をクリックし、SQL ステートメントを実行します。提案された SQL をスクロールして、ステートメント内で提案された特定の単語を受け入れることもできます。

  6. [クエリ結果] ペインで、クエリの結果を確認します。

予測モデルを構築して結果を表示する

このセクションでは、BigQuery ML を使用して次の作業を行います。

  • トレンドクエリを使用して予測モデルを構築します。
  • Gemini を使用して、予測モデルの結果を表示するクエリを作成し、説明するようサポートさせます。

モデルへの入力に使用される実際の売上で、以下のサンプルクエリを使用します。このクエリは、ML モデルの作成手順の一環として使用されます。

  1. 予測 ML モデルを作成するには、BigQuery SQL エディタで次の SQL を実行します。

    CREATE MODEL bqml_tutorial.sales_forecasting_model
    OPTIONS(MODEL_TYPE='ARIMA_PLUS',
    time_series_timestamp_col='date_col',
    time_series_data_col='total_sales',
    time_series_id_col='product_id') AS
    SELECT sum(sale_price) as total_sales,
    DATE(created_at) as date_col,
    product_id
    FROM `bigquery-public-data.thelook_ecommerce.order_items`
    AS t1
    INNER JOIN `bigquery-public-data.thelook_ecommerce.products`
    AS t2
    ON t1.product_id = t2.id
    GROUP BY 2, 3;
    

    Gemini を使用して、このクエリを理解するのに役立ちます。

    モデルが作成されると、次のようなメッセージが [結果] ペインに表示されます。

    This statement will replace the model named sales_forecasting_model.
    Depending on the type of model, this may take several hours to complete.
    
  2. [Gemini] ペインに、モデル完了時に予測データを取得するクエリの作成を Gemini に指示するプロンプトを入力します。たとえば、「How can I get a forecast in SQL from the model?」と入力します。

    このようなプロンプロのコンテキストに基づいて、Gemini は売上を予測する ML モデルのサンプルを次のように返します。

    To get a forecast in SQL from the model, you can use the following query:
    
    SELECT
    *
    FROM
      ML.FORECAST(MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`,
    STRUCT(
          7 AS horizon,
          0.95 AS confidence_level
    )
    )
    
  3. [Gemini] ペインで、SQL クエリをコピーします。

  4. BigQuery SQL エディタに、SQL クエリを貼り付けてから実行します。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、このチュートリアルで作成した Google Cloud プロジェクトを削除します。また、リソースを個別に削除することもできます。

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

データセットを削除する

プロジェクトを削除すると、プロジェクト内のデータセットとテーブルがすべて削除されます。プロジェクトを再利用する場合は、このチュートリアルで作成したデータセットを削除します。

  1. Google Cloud コンソールで、[BigQuery] ページを開きます。

    [BigQuery] に移動

  2. ナビゲーションから、作成した [bqml_tutorial] データセットを選択します。

  3. データセット、テーブル、すべてのデータを削除するには、[データセットの削除] をクリックします。

  4. 削除を確定するには、[データセットを削除] ダイアログでデータセットの名前(bqml_tutorial)を入力し、[削除] をクリックします。

次のステップ