Gemini のアシスタント機能を使用してクエリを作成する
AI を活用したアシスタンスを提供する Gemini for Google Cloud を使用すると、SQL クエリと Python コードでデータをクエリできます。Gemini in BigQuery は、クエリの生成、入力中のコードの補完、クエリの説明を行うことができます。
Gemini for Google Cloud が、お客様の明示的な許可なく、プロンプトやそのレスポンスをデータとして使用してモデルをトレーニングすることはありせん。Google によるデータの使用方法の詳細については、Gemini for Google Cloud がデータを使用する方法をご覧ください。Gemini in BigQuery のプレビュー版機能のデータ共有を有効にするには、候補の改善にご協力くださいをご覧ください。
BigQuery の Gemini では、英語のプロンプトのみがサポートされます。
このドキュメントは、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] ページに移動します。
ツールバーで、pen_spark [Gemini] プルダウン アイコンをクリックします。
機能のプルダウン リストで、有効にする機能を選択します。利用可能な機能は次のとおりです。
- SQL クエリの Gemini:
- 自動補完(プレビュー版): クエリ エディタに入力すると、Gemini は現在のクエリのコンテキストに関連する論理的な次のステップを提案したり、クエリを反復処理できるようにします。
- 自動生成: BigQuery クエリエディタで自然言語コメントを使用して Gemini in BigQuery にプロンプトを送信し、SQL クエリを生成できます。
- SQL 生成ツール: ツールに自然言語テキストを入力して SQL クエリを生成できます。クエリ結果の絞り込み、テーブルソースの選択、結果の比較を行うオプションもあります。
- 説明: Gemini in BigQuery で、SQL クエリを自然言語で説明するように指示できます。
- Python ノートブックの Gemini:
- コード補完(プレビュー版): Gemini は、ノートブックのコンテンツに基づいて、コンテキストに応じた推奨事項を提供します。
- コード生成: 自然言語のステートメントや質問を使用して Python コードを生成するよう Gemini に指示できます。
- SQL クエリの Gemini:
必要な権限
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
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
SQL クエリを生成する
データのスキーマに基づいて SQL クエリを生成するには、Gemini に自然言語のステートメントまたは質問(プロンプト)を提供します。コードなしで始める場合や、データスキーマの知識が限られている場合、または GoogleSQL 構文の基本的な知識しかない場合でも、Gemini はデータの探索に役立つ SQL を生成できます。SQL 生成ツールを使用する
SQL 生成ツールを使用すると、最近表示またはクエリしたテーブルに関する SQL クエリを自然言語で生成できます。このツールを使用して、既存のクエリを変更したり、SQL を生成するテーブルを手動で指定したりすることもできます。
SQL 生成ツールを使用する手順は次のとおりです。
Google Cloud コンソールで [BigQuery] ページに移動します。
クエリエディタの横にある pen_spark [SQL 生成ツール] をクリックします。
クエリエディタの左側にある pen_spark SQL 生成ツールアイコンをクリックしてツールを開きます。
SQL 生成ツールで、最近表示またはクエリしたテーブルに関する質問をするか、自然言語プロンプトを入力します。たとえば、bigquery-public-data.austin_bikeshare.bikeshare_trips テーブルを表示して、次のように入力します。
Show me the duration and subscriber type for the ten longest trips
[Generate] をクリックします。
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 生成のヒント
次のヒントを参考にして、BigQuery の Gemini から提案される候補を改善してください。
- 使用するテーブルを手動で指定するには、完全修飾されたテーブル名をバッククォート(
`
)で囲みます(例:`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 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 によるデータの使用をご覧ください。