Gemini のアシスタント機能を使用してクエリを作成する
AI による支援を提供する Gemini for Google Cloud を使用すると、SQL クエリと Python コードでデータをクエリできます。Gemini in BigQuery は、クエリの生成、入力中のコードの補完、クエリの説明を行うことができます。
Gemini for Google Cloud が、お客様の明示的な許可なく、モデルをトレーニングするためにプロンプトやそのレスポンスをデータとして使用することはありせん。Google によるデータの使用方法の詳細については、Gemini for Google Cloud がデータを使用する方法をご覧ください。Gemini in BigQuery のプレビュー版機能のデータ共有を有効にするには、候補の改善にご協力くださいをご覧ください。
Gemini in BigQuery では、英語のプロンプトのみがサポートされます。
このドキュメントは、SQL クエリと BigQuery の Colab Enterprise ノートブックを使用するデータ アナリスト、データ サイエンティスト、データ デベロッパーを対象としています。BigQuery SQL ワークスペースでデータをクエリする方法、またはノートブックで Python を使用して BigQuery データを分析する方法に関する知識があることを前提としています。
始める前に
- Google Cloud プロジェクトに Gemini が設定されていることを確認します。設定が完了するまで、Gemini in BigQuery の機能が無効になるか、使用できない場合があります。通常、これらの手順は管理者が行います。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Google Cloud コンソールで [BigQuery] ページに移動します。
ツールバーで、Gemini プルダウン アイコン pen_spark をクリックします。
機能のプルダウン リストで、有効にする機能を選択します。利用可能な機能は次のとおりです。
- SQL クエリの Gemini:
- 自動補完(プレビュー版): クエリエディタに入力するとき、Gemini は現在のクエリのコンテキストに関連する論理的な次のステップを提案する、またはクエリを繰り返し実行するための支援を行えます。
- 自動生成: BigQuery クエリエディタで、自然言語のコメントにより Gemini in BigQuery にプロンプトを送り、SQL クエリを生成できます。
- SQL 生成ツール: ツールに自然言語のテキストを入力して SQL クエリを生成できます。クエリ結果の絞り込み、テーブルソースの選択、結果の比較を行うオプションもあります。
- 説明: Gemini in BigQuery で、SQL クエリを自然言語で説明するように指示できます。
- Python ノートブックの Gemini:
- コード補完(プレビュー版): Gemini は、ノートブックのコンテンツに基づき、コンテキストに応じた推奨を行います。
- コード生成: 自然言語のステートメントや質問を使用して、Python コードの生成を Gemini に指示できます。
- SQL クエリの Gemini:
必要な権限
Gemini の支援機能を利用してクエリを作成するために必要な権限を取得するには、プロジェクトに対する Cloud AI Companion ユーザー (roles/cloudaicompanion.user
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、Gemini の支援機能を利用してクエリを作成するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Gemini の支援機能を使用してクエリを作成する場合は、次の権限が必要です。
-
cloudaicompanion.companions.generateCode
-
cloudaicompanion.entitlements.get
-
cloudaicompanion.instances.completeTask
-
SQL クエリを説明するには:
cloudaicompanion.companions.generateChat
-
Python コードを完成させるには:
cloudaicompanion.instances.completeCode
-
Python コードを生成するには:
cloudaicompanion.instances.generateCode
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
SQL クエリを生成する
データのスキーマに基づいて SQL クエリを生成するには、Gemini に自然言語のステートメントまたは質問(プロンプト)を提供します。コードなしで始める場合や、データスキーマの知識が限られている、または GoogleSQL 構文の基本的な知識しかない場合でも、Gemini はデータの探索に役立つ SQL を生成できます。SQL 生成ツールを使用する
SQL 生成ツールでは、最近表示またはクエリしたテーブルに関する SQL クエリの生成に自然言語を使用できます。このツールを使用して、既存のクエリの変更、SQL を生成するテーブルの手動での指定もできます。
SQL 生成ツールの使用手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタの横にある pen_spark(SQL 生成ツール)をクリックします。
クエリエディタの左側にある SQL 生成ツールのアイコン pen_spark をクリックして、ツールを開きます。
SQL 生成ツールで、最近表示またはクエリしたテーブルに関する質問をするか、自然言語のプロンプトを入力します。たとえば、bigquery-public-data.austin_bikeshare.bikeshare_trips テーブルを表示するには、次のように入力します。
Show me the duration and subscriber type for the ten longest trips
[生成] をクリックします。
Gemini は、次のような SQL クエリを生成します。
SELECT subscriber_type, duration_sec FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips` ORDER BY duration_sec DESC LIMIT 10;
生成された SQL クエリを確認し、次のいずれかの操作を行います。
- 生成された SQL クエリを受け入れるには、[挿入] をクリックして、クエリエディタにステートメントを挿入します。その後 [実行] をクリックして、提案された SQL クエリを実行できます。
- プロンプトを編集するには、[編集] をクリックして、最初のプロンプトを変更または置き換えます。プロンプトを編集してから、[更新] をクリックして新しいクエリを表示します。
- 提案された SQL クエリを生成するためのコンテキストとして使用されたテーブルソースを更新するには、[テーブルソースを編集] をクリックし、テーブルソースのチェックボックスをオンにして選択してから、[適用] をクリックします。
- 生成されたクエリの概要を自然言語で表示するには、[クエリの概要] をクリックします。
- 提案された SQL クエリを絞り込むには、[絞り込み] テキスト ボックスに絞り込みの条件を入力してから、
limit to 1000
と入力すると、クエリ結果の数を制限できます。クエリの変更を比較するには、[差分を表示] チェックボックスをオンにします。
[送信] をクリックしてクエリを絞り込みます。たとえば、 - 生成されたクエリを挿入せずに提案を閉じるには、SQL 生成ツールを閉じます。
SQL 生成ツールを無効にする
SQL 生成ツールを無効にする方法については、Gemini の機能を無効にするをご覧ください。
コメントから SQL を生成する
SQL エディタで SQL を生成するには、コメントで必要なクエリを記述してから、Enter キーを押して次の行に移動します。
次の例では、BigQuery 公開テーブル bigquery-public-data.austin_bikeshare.bikeshare_trips
に対するクエリを生成します。
Google Cloud コンソールで [BigQuery Studio] ページに移動します。
残りの手順は、Google Cloud コンソールに表示されます。
SQL クエリエディタで、
をクリックします。 (クエリを新規作成) クエリエディタで、最近表示またはクエリしたテーブルに関する SQL コメントを記述します。たとえば、bigquery-public-data.austin_bikeshare.bikeshare_trips テーブルを表示してから、次のコメントを作成します。
# Show me the duration and subscriber type for the ten longest trips
Enter キーを押します(macOS では Return)。
Gemini は次のような 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;
候補を採用するには、Tab キーを押します。
SQL 生成のヒント
Gemini in BigQuery から提案される候補を改善するには、次のヒントが役立ちます。
- 使用するテーブルを手動で指定するには、完全修飾されたテーブル名をバッククォート(
`
)で囲みます(例:`PROJECT.DATASET.TABLE`
)。 - 列名またはその意味関係が不明瞭または複雑な場合は、プロンプトでコンテキストを指定することで、Gemini を必要な答えに導くことができます。たとえば、生成されるクエリが列名を参照するよう導くには、列名、および求める回答と列名との関連性を記述します。生涯価値や売上総利益のような複雑な用語を参照する回答を促すには、コンセプトと、そのデータとの関連性を記述して、SQL の生成結果を改善します。
- コメントから SQL を生成するとき、各行の先頭に
#
文字を付けると、複数行にわたってプロンプトを作成できます。 - 列の説明は、SQL クエリの生成時に考慮されます。精度を高めるため、スキーマに列の説明を追加します。列の説明の詳細については、スキーマを指定する際の列の説明をご覧ください。
Gemini と BigQuery のデータ
BigQuery の Gemini は、アクセス権限のあるテーブルのメタデータにアクセスできます。これには、テーブル名、列名、データ型、列の説明などが含まれます。BigQuery の Gemini は、テーブル、ビュー、モデルのデータにアクセスできません。Gemini によるデータの使用方法の詳細については、Google Cloud の Gemini によるデータの使用方法をご覧ください。
SQL クエリを完成させる
SQL の補完機能では、Query Editor のコンテンツに基づいて、コンテキストに応じた推奨事項の提供が試みられます。入力に応じて、Gemini は現在のクエリのコンテキストに関連する論理的な次のステップを提案するか、クエリを反復処理できるようにします。
Gemini で SQL の補完機能を試すには、次の操作を行います。
Google Cloud コンソールで [BigQuery Studio] ページに移動します。
残りの手順は、Google Cloud コンソールに表示されます。
クエリエディタで、次の内容をコピーします。
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
がグループ化も集計もされていないことを示しています。クエリを適切に実行するためにサポートが必要になることは珍しくありません。Enter(macOS では Return)または Space キーを押します。
Gemini は、次のようなテキストで終わるクエリの修正を提案します。
GROUP BY subscriber_type, hour_of_day;
候補を採用するには、Tab キーを押すか、候補のテキストの上にポインタを置いて別の候補をクリックします。提案を拒否するには、Esc を押すか、入力を続けます。
SQL クエリについて説明する
BigQuery の Gemini で、SQL クエリを自然言語で説明するように指示できます。この説明は、クエリの長さや複雑さが原因で、構文、基礎となるスキーマ、ビジネス コンテキストの評価が難しいクエリを理解するのに役立ちます。
SQL クエリを説明する
SQL クエリを説明するには、次の操作を行います。
Google Cloud コンソールで [BigQuery Studio] ページに移動します。
残りの手順は、Google Cloud コンソールに表示されます。
クエリエディタで、説明するクエリを開くか貼り付けます。
Gemini に説明させるクエリをハイライト表示してから、astrophotography_mode(Gemini)をクリックします。
SQL の説明が [Gemini] ペインに表示されます。
Python コードを生成する
Gemini では、自然言語のステートメントや質問を使用して Python コードを生成できます。Gemini は 1 つ以上の Python コード提案を返します。
Gemini を使用して Python コードを生成する
次の例では、BigQuery 一般公開データセット bigquery-public-data.ml_datasets.penguins
のコードを生成します。
[BigQuery Studio] ページに移動します。
エディタペインのタブバーで、+ 記号の横にある
プルダウン矢印をクリックし、[Python ノートブックを作成] をクリックします。新しいノートブックが開き、
bigquery-public-data.ml_datasets.penguins
一般公開データセットに対するクエリの例を示すセルが含まれています。ツールバーで、[+ コード] をクリックして、新しいコードセルを挿入します。新しいコードセルに「Start coding or generate with AI」と表示されます。
新しいコードセルで、[生成] をクリックします。
コードエディタで、次の自然言語プロンプトを入力します。
Using bigquery magics query the `bigquery-public-data.ml_datasets.penguins` table
Enter キーを押します(macOS では Return)。
Gemini が、次のような Python コードを提案します。
%%bigquery SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 10
コードを実行し、Enter キーを押します。
Python コードを完成させる
Python コードの補完では、クエリエディタのコンテンツに基づいて、コンテキストに応じた推奨事項が提供されます。入力に応じて、Gemini は現在のコードのコンテキストに関連する論理的な次のステップを提案することや、コードを反復処理を支援することができます。
Gemini を使用して Python コードを補完する
Gemini で Python コード補完機能を試すには、次の操作を行います。
[BigQuery Studio] ページに移動します。
エディタペインのタブバーで、+ 記号の横にある
プルダウン矢印をクリックし、[Python ノートブックを作成] をクリックします。新しいノートブックが開き、bigquery-public-data.ml_datasets.penguins
一般公開データセットに対するクエリの例を示すセルが含まれています。コードエディタで Python コードの入力を開始します。たとえば、
%%bigquery
のようにします。入力中に、Gemini がインラインでコードの候補を表示します。候補を採用するには、Tab キーを押します。
Gemini クエリ アシスタントの機能を無効にする
BigQuery で Gemini の機能を無効にする方法は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
ツールバーで、pen_spark(
Gemini )プルダウン アイコンをクリックします。
![Gemini button in the BigQuery toolbar.](/bigquery/images/duet-ai-assistant-link.png){: class="screenshot" }
機能のプルダウン リストで、無効にする Gemini in BigQuery のクエリ アシスタント機能をクリアします。
- SQL クエリの Gemini:
- 自動補完(プレビュー版): 入力に応じて、Gemini は現在のクエリのコンテキストに関連する論理的な次のステップを提案するか、クエリの反復処理を支援します。
- 自動生成: Gemini に自然言語のプロンプトを入力して、ビジネスの質問に答える SQL 構文を生成できます。
- SQL 生成ツール: 自然言語を使用して、組織のデータに基づいて SQL クエリ結果を生成し、反復処理します。
- 説明: Gemini in BigQuery で、SQL クエリを自然言語で説明するように指示できます。
- Python ノートブックの Gemini:
- コード補完(プレビュー版): Gemini は、クエリエディタのコンテンツに基づいて、コンテキストに応じた推奨を行います。
- コード生成: 自然言語のステートメントや質問を使用して、Python コードの生成を Gemini に指示できます。
- SQL クエリの Gemini:
Gemini in BigQuery の機能を無効にする方法については、Gemini プロダクトを無効にするをご覧ください。
フィードバックを送信する
Gemini の提案に関するフィードバックを送信できます。
- フィードバックを送信するには、ツールバーで
Gemini ボタン pen_spark をクリックし、[フィードバックを送信] を選択します。
候補の改善に協力する
プレビュー版の機能に送信したプロンプト データを Google と共有することで、Gemini の候補の改善にご協力いただけます。プロンプト データを共有する手順は次のとおりです。
Google Cloud コンソールの [BigQuery Studio] ページのツールバーで、
Gemini ボタン pen_spark をクリックします。[Gemini 向上のためにデータを共有] を選択します。
データ使用の設定ダイアログでデータ使用の設定を更新します。
データ共有設定はプロジェクト全体に適用されます。これは、serviceusage.services.enable
と serviceusage.services.list
の IAM 権限を持つプロジェクト管理者のみ設定できます。Trusted Tester プログラムでのデータの使用について詳しくは、Google Cloud Trusted Tester プログラムの Gemini をご覧ください。
料金
この機能の料金の詳細については、Gemini in BigQuery の料金の概要をご覧ください。
割り当てと上限
この機能の割り当てと上限については、Gemini in BigQuery の割り当てをご覧ください。
次のステップ
- Gemini for Google Cloud の詳細については、Gemini for Google Cloud の概要をご覧ください。
- Gemini データポリシーの詳細については、Gemini for Google Cloud によるデータの使用をご覧ください。