Gemini のアシスタント機能を使用してクエリを作成する

このドキュメントでは、Gemini in BigQuery で AI によるアシスタントを使用して、SQL クエリと Python コードでデータをクエリする方法について説明します。Gemini in BigQuery は、クエリとコードの生成、入力中のクエリとコードの補完、クエリの説明を行うことができます。


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

ガイドを表示


Gemini for Google Cloud が、お客様の明示的な許可なく、モデルをトレーニングするためにプロンプトやそのレスポンスをデータとして使用することはありせん。Google によるデータ使用の詳細については、Gemini for Google Cloud によるデータの使用をご覧ください。

Gemini in BigQuery では、英語のプロンプトのみがサポートされます。

このドキュメントは、SQL クエリと BigQuery の Colab Enterprise ノートブックを使用するデータ アナリスト、データ サイエンティスト、データ デベロッパーを対象としています。BigQuery Studio 環境でデータをクエリする方法、または Python ノートブックで BigQuery データを分析する方法に関する知識があることを前提としています。

始める前に

  1. Google Cloud プロジェクトに Gemini in BigQuery が設定されていることを確認します。この手順は通常、管理者が行います。このセクションの残りの手順を完了するまで、Gemini in BigQuery の機能は無効になるか、使用できない場合があります。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

    BigQuery Studio に移動

  4. BigQuery ツールバーで、[pen_sparkGemini] をクリックします。

    BigQuery ツールバーの Gemini ボタン。

  5. 機能のリストで、次の機能が選択されていることを確認します。

    • SQL クエリの Gemini リスト:

      • 自動補完(プレビュー版): クエリエディタに入力するとき、Gemini は現在のクエリのコンテキストに関連する論理的な次のステップを提案する、またはクエリを繰り返し実行するための支援を行えます。
      • 自動生成: BigQuery クエリエディタで、自然言語のコメントにより Gemini in BigQuery にプロンプトを送り、SQL クエリを生成できます。
      • SQL 生成ツール: ツールに自然言語のテキストを入力して SQL クエリを生成できます。クエリ結果の絞り込み、テーブルソースの選択、結果の比較を行うオプションもあります。
      • 説明: Gemini in BigQuery で SQL クエリを自然言語で説明するように指示できます。
    • Python ノートブックの Gemini リスト:

      • コード補完(プレビュー版): Gemini は、ノートブックのコンテンツに基づき、コンテキストに応じた推奨を行います。
      • コード生成: Gemini では、自然言語のステートメントや質問を使用して Python コードを生成できます。
  6. このドキュメントのタスクを完了するために必要な Identity and Access Management(IAM)権限が付与されていることを確認します。

必要なロール

Gemini の支援機能を利用してクエリを作成するために必要な権限を取得するには、プロジェクトに対する Gemini for Google Cloud ユーザーroles/cloudaicompanion.user)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

この事前定義ロールには、Gemini の支援機能を利用してクエリを作成するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

Gemini の支援機能を使用してクエリを作成する場合は、次の権限が必要です。

  • cloudaicompanion.entitlements.get
  • cloudaicompanion.instances.completeTask
  • SQL クエリを説明する: cloudaicompanion.companions.generateChat
  • SQL または Python コードを完成させる: cloudaicompanion.instances.completeCode
  • SQL または Python コードを生成する: cloudaicompanion.instances.generateCode

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

BigQuery における IAM ロールと権限の詳細については、IAM の概要をご覧ください。

SQL クエリを生成する

データのスキーマに基づいて SQL クエリを生成するには、Gemini in BigQuery に自然言語のステートメントまたは質問(プロンプト)を提供します。コードなしで始める場合や、データスキーマの知識が限られている、または GoogleSQL 構文の基本的な知識しかない場合でも、Gemini in BigQuery はデータの探索に役立つ SQL を生成できます。

SQL 生成ツールを使用する

SQL 生成ツールでは、最近表示またはクエリしたテーブルに関する SQL クエリの生成に自然言語を使用できます。このツールを使用して、既存のクエリの変更、SQL を生成するテーブルの手動での指定もできます。

SQL 生成ツールの使用手順は次のとおりです。

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

    BigQuery Studio に移動

  2. クエリエディタの横にある pen_sparkSQL 生成ツール)をクリックします。

    BigQuery クエリエディタの SQL 生成ツールボタン。

  3. [Gemini を使用して SQL を生成] ダイアログで、最近表示またはクエリしたテーブルに関する自然言語プロンプトを入力します。たとえば、最近 bigquery-public-data.austin_bikeshare.bikeshare_trips テーブルを表示した場合は、次のように入力します。

     Show me the duration and subscriber type for the ten longest trips.
    
  4. [生成] をクリックします。

    生成された SQL クエリは次のようになります。

    SELECT
        subscriber_type,
        duration_sec
      FROM
          `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`
    ORDER BY
        duration_sec DESC
    LIMIT 10;
    
  5. 生成された SQL クエリを確認し、次のいずれかの操作を行います。

    • 生成された SQL クエリを受け入れるには、[挿入] をクリックして、クエリエディタにステートメントを挿入します。その後 [実行] をクリックして、提案された SQL クエリを実行できます。
    • プロンプトを編集するには、[編集] をクリックして、最初のプロンプトを変更または置き換えます。プロンプトを編集してから、[更新] をクリックして新しいクエリを生成します。
    • 提案された SQL クエリを生成するためのコンテキストとして使用されたテーブルのソースを更新するには、[テーブルのソースを編集] をクリックし、適切なチェックボックスをオンにして選択してから、[適用] をクリックします。
    • 生成されたクエリの概要を自然言語で表示するには、[クエリの概要] をクリックします。
    • 提案された SQL クエリを絞り込むには、[絞り込み] フィールドに絞り込みの条件を入力してから、[絞り込み] をクリックします。たとえば、limit to 1000 と入力すると、クエリ結果の数を制限できます。クエリの変更を比較するには、[差分を表示] チェックボックスをオンにします。
    • 提案されたクエリを閉じるには、SQL 生成ツールを閉じます。

SQL 生成ツールをオフにする

SQL 生成ツールを無効にする方法については、Gemini クエリ アシスタントの機能を無効にするをご覧ください。

コメントから SQL を生成する

クエリエディタで SQL を生成するには、コメントで必要なクエリを記述します。

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

    BigQuery Studio に移動

  2. クエリエディタで、[SQL クエリ] をクリックします。

  3. クエリエディタで、最近表示またはクエリしたテーブルに関する SQL コメントを記述します。たとえば、最近 bigquery-public-data.austin_bikeshare.bikeshare_trips テーブルを表示した場合は、次のようなコメントを作成できます。

    # Show me the duration and subscriber type for the ten longest trips.
    
  4. Enter キーを押します(macOS では Return)。

    次のような SQL クエリが提案されます。

    # Show me the duration and subscriber type for the ten longest trips
    
    SELECT
      duration_sec,
      subscriber_type
      AVG(duration_minutes) AS average_trip_length
    FROM
      `bigquery-public-data.austin_bikeshare.bikeshare_trips`
    ORDER BY
      duration_sec
    LIMIT 10;
    
  5. 候補を採用するには、Tab キーを押します。

SQL 生成のヒント

Gemini in BigQuery から提案される候補を改善するには、次のヒントが役立ちます。

  • 使用するテーブルを手動で指定するには、完全修飾されたテーブル名をバッククォート(`)で囲みます(例: `PROJECT.DATASET.TABLE`)。
  • 列名またはその意味関係が不明瞭または複雑な場合は、プロンプトでコンテキストを指定することで、Gemini を必要な答えに導くことができます。たとえば、生成されるクエリが列名を参照するようにするには、列名、および求める回答と列名との関連性を記述します。生涯価値や売上総利益のような複雑な用語を参照する回答を促すには、コンセプトと、そのデータとの関連性を記述して、SQL の生成結果を改善します。
  • コメントから SQL を生成するときに各行の先頭に # 文字を付けると、複数行にわたってプロンプトをフォーマットできます。
  • 列の説明は、SQL クエリの生成時に考慮されます。精度を高めるため、スキーマに列の説明を追加します。列の説明の詳細については、「スキーマの指定」の列の説明をご覧ください。

Gemini と BigQuery のデータ

Gemini in BigQuery は、アクセス権限のあるテーブルのメタデータにアクセスできます。これには、テーブル名、列名、データ型、列の説明などが含まれます。Gemini in BigQuery は、テーブル、ビュー、またはモデルのデータにはアクセスできません。Gemini によるデータの使用方法の詳細については、Gemini for Google Cloud によるデータの使用方法をご覧ください。

SQL クエリを完成させる

SQL の補完機能では、Query Editor のコンテンツに基づいて、コンテキストに応じた推奨事項の提供が試みられます。入力に応じて、Gemini は現在のクエリのコンテキストに関連する論理的な次のステップを提案したり、コードを反復処理したりできるようにします。

Gemini in BigQuery を使用して SQL の補完機能を試す手順は次のとおりです。

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

    BigQuery Studio に移動

  2. クエリエディタで、次の内容をコピーします。

    SELECT
      subscriber_type
      , EXTRACT(HOUR FROM start_time) AS hour_of_day
      , AVG(duration_minutes) AS avg_trip_length
    FROM
      `bigquery-public-data.austin_bikeshare.bikeshare_trips`
    

    エラー メッセージは、subscriber_type がグループ化も集計もされていないことを示しています。クエリを適切に実行するためにサポートが必要になることは珍しくありません。

  3. subscriber_type の行の末尾で、Space キーを押します。

    提案されたクエリの絞り込みは、次のようなテキストで終わる場合があります。

    GROUP BY
      subscriber_type, hour_of_day;
    

    Enter キー(macOS では Return キー)を押して候補を生成することもできます。

  4. 候補を採用するには、Tab キーを押すか、候補のテキストの上にポインタを置いて別の候補をクリックします。提案を拒否するには、Esc を押すか、入力を続けます。

    SQL の候補のナビゲーション ボタン。

SQL クエリについて説明する

Gemini in BigQuery では、SQL クエリを自然言語で説明するように指示できます。この説明は、クエリの長さや複雑さが原因で、構文、基礎となるスキーマ、ビジネス コンテキストの評価が難しいクエリを理解するのに役立ちます。

SQL クエリの説明を取得するには、次の手順を行います。

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

    BigQuery Studio に移動

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

  3. Gemini in BigQuery に説明させるクエリをハイライト表示します。

  4. [astrophotography_mode Gemini]、[このクエリを説明する] の順にクリックします。

    BigQuery クエリエディタでハイライト表示された「このクエリを説明する」アイコンとテキスト。

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

Python コードを生成する

Gemini in BigQuery で Python コードを生成するには、プロンプト(自然言語のステートメントまたは質問)を使用します。Gemini in BigQuery は、1 つまたは複数の Python コードの候補を返します。

次の例では、BigQuery 一般公開データセット bigquery-public-data.ml_datasets.penguins のコードを生成します。

  1. [BigQuery Studio] ページに移動します。

    BigQuery Studio に移動

  2. クエリエディタのタブバーで、[ SQL クエリ] の横にある プルダウン矢印をクリックし、[Python ノートブック] をクリックします。

    新しいノートブックが開き、bigquery-public-data.ml_datasets.penguins 一般公開データセットに対するクエリの例を示すセルが表示されます。

  3. 新しいコードセルを挿入するには、ツールバーで [コード] をクリックします。新しいコードセルには「コーディングを始めるまたはAIで生成する」というメッセージが表示されます。

  4. 新しいコードセルで、[生成] をクリックします。

  5. 生成エディタで、次の自然言語プロンプトを入力します。

    Using bigquery magics, query the `bigquery-public-data.ml_datasets.penguins` table
    
  6. Enter キーを押します(macOS では Return)。

    次のような Python コードが提案されます。

    %%bigquery
    SELECT *
    FROM `bigquery-public-data.ml_datasets.penguins`
    LIMIT 10
    
  7. コードを実行するには、[セルを実行] を押します。

Python コードを補完する

Python コードの補完では、クエリエディタのコンテンツに基づいて、コンテキストに応じた推奨事項が提供されます。入力中に、Gemini in BigQuery は現在のコードのコンテキストに関連する論理的な次のステップを提案したり、コードの反復処理を補助したります。

Gemini in BigQuery を使用して Python コード補完機能を試す手順は次のとおりです。

  1. [BigQuery Studio] ページに移動します。

    BigQuery Studio に移動

  2. クエリエディタのタブバーで、[ SQL クエリ] の横にある プルダウン矢印をクリックし、[Python ノートブック] をクリックします。

    新しいノートブックが開き、bigquery-public-data.ml_datasets.penguins 一般公開データセットに対するクエリの例を示すセルが表示されます。

  3. コードエディタで Python コードの入力を開始します。たとえば、%%bigquery のようにします。Gemini in BigQuery は、入力中にインラインでコードの候補を表示します。

  4. 候補を採用するには、Tab キーを押します。

Gemini クエリ アシスタントの機能を無効にする

Gemini in BigQuery の特定の機能を無効にするには、次の操作を行います。

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

    BigQuery Studio に移動

  2. BigQuery ツールバーで、[pen_sparkGemini] をクリックします。

    BigQuery ツールバーの Gemini ボタン。

  3. リストで、オフにするクエリ アシスタントの機能を外します。

Gemini in BigQuery を無効にする方法については、Gemini in BigQuery を無効にするをご覧ください。

フィードバックを送信

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

    BigQuery Studio に移動

  2. BigQuery ツールバーで、[pen_sparkGemini] をクリックします。

    BigQuery ツールバーの Gemini ボタン。

  3. [フィードバックを送信] をクリックします。

候補の改善に協力する

プレビュー版の機能に送信したプロンプト データを Google と共有することで、Gemini の候補の改善にご協力いただけます。

プロンプト データを共有する手順は次のとおりです。

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

    BigQuery Studio に移動

  2. BigQuery ツールバーで、[pen_sparkGemini] をクリックします。

    BigQuery ツールバーの Gemini ボタン。

  3. Gemini in BigQuery を改善するためデータ共有を選択します。

  4. [データ使用の設定] ダイアログで、データ使用の設定を更新します。

データ共有設定はプロジェクト全体に適用されます。これは、serviceusage.services.enableserviceusage.services.list の IAM 権限を持つプロジェクト管理者のみ設定できます。Trusted Tester プログラムでのデータの使用について詳しくは、Gemini for Google Cloud Trusted Tester プログラムをご覧ください。

料金

この機能の料金の詳細については、Gemini in BigQuery の料金の概要をご覧ください。

割り当てと上限

この機能の割り当てと上限については、Gemini in BigQuery の割り当てをご覧ください。

次のステップ