Gemini CLI を使用して開発する

このページでは、Gemini CLI で自然言語プロンプトを使用して、ターミナルで BigQuery データとやり取りする方法について説明します。Gemini CLI で専用の BigQuery 拡張機能を使用すると、コマンドライン内で AI を活用したデータ分析と分析情報を直接取得できます。BigQuery テーブルまたは BigQuery 一般公開データセットのテーブルからデータを分析できます。

これらのファーストパーティ拡張機能は、データ分析と分析情報のための一般的なツールを提供します。独自のツールを構築するには、BigQuery と MCP、Gemini CLI、その他のエージェントを使用するをご覧ください。

Gemini CLI と拡張機能について

Gemini CLI は、開発ワークフローを加速し、コーディング、デバッグ、データ探索、コンテンツ作成を支援する、Google のオープンソースの会話型 AI エージェントです。エージェント駆動型の操作性を提供し、BigQuery などの Data Cloud サービスや、他の一般的な Google Cloud データベースやオープンソース データベースを操作できます。

Gemini CLI の詳細については、Gemini CLI のドキュメントをご覧ください。

拡張機能の仕組み

拡張機能は Gemini CLI の機能を拡張し、特定の Google Cloud サービスや他のツールに接続して制御できるようにします。拡張機能は、Gemini にコンテキストと API の理解を提供し、会話型のやり取りを可能にします。拡張機能は、GitHub URL、ローカル ディレクトリ、レジストリから読み込むことができます。これらの拡張機能には、ツール、スラッシュ コマンド、プロンプトが用意されています。これらは、MCP ツールボックスを使用して統合する Gemini Code Assist などの IDE 拡張機能とは異なります。

BigQuery 拡張機能について

BigQuery では、Gemini CLI を介して BigQuery データを操作するための次の拡張機能が提供されています。

BigQuery データ分析拡張機能
この拡張機能を使用すると、データの検出、BigQuery テーブルとデータセットの詳細の確認、データセットに関する自然言語の質問を行うことができます。組み込みの高度なツールを使用して、予測を生成したり、貢献度分析を実行したりすることもできます。この拡張機能のツールは、Gemini CLI が自然言語の質問に基づいて SQL クエリを作成し、クエリを実行して質問に対する回答を提供するのに役立ちます。
BigQuery Conversational Analytics 拡張機能
この拡張機能を使用すると、事前ホストされたサーバーサイドのアナリティクス エージェントを使用して、BigQuery データから高度な分析情報を取得できます。この拡張機能のツールは、Gemini CLI が自然言語の質問を組み込みのホスト型エージェントに送信し、データからより詳細な分析情報を返せるようにします。

BigQuery データ分析ツール

BigQuery Data Analytics 拡張機能には、次のツールが用意されています。

カテゴリ ツール 自然言語プロンプトの例
データセットとテーブルの情報 get_dataset_info データセット my_dataset に関する情報を取得する
get_table_info テーブル my_dataset.my_table に関する情報を取得する
list_dataset_ids プロジェクト my_project 内のすべてのデータセットを一覧表示する
list_table_ids データセット my_dataset 内のすべてのテーブルを一覧表示する
検索 search_catalog PyPi のダウンロードに関連するテーブルを検索する
SQL の実行 execute_sql bigquery-public-data.pypi.file_downloads を使用して、今月最もダウンロードされた PyPI パッケージのトップ 10 を教えてください
時系列予測 bigquery_forecast テーブル my_table から 10 期間の売上を予測する
貢献度分析 analyze_contribution テーブル my_table の収益に対する国の貢献度を分析する

会話分析ツール

会話分析拡張機能には、次のツールが用意されています。

カテゴリ ツール 自然言語プロンプトの例
検索 search_catalog PyPi のダウンロードに関連するテーブルを検索する
会話分析 ask_data_insights ask_data_insights と bigquery-public-data.google_analytics_sample のテーブルを使用して、注力すべきチャネルとその理由を教えてください。

始める前に

始める前に、次のものが必要になります。

  • 少なくとも 1 つの Google Cloud プロジェクトへのアクセス権。
  • Data Analytics 拡張機能の場合は、次の API を有効にします。

    • BigQuery
    • search_catalog ツールを使用するには: Dataplex Universal Catalog
  • 会話分析拡張機能の場合は、次の API を有効にします。

    • BigQuery
    • Dataplex Universal Catalog
    • ask_data_insights ツールを使用するには、Gemini for Google Cloud API、Gemini、Data Analytics API with Gemini。

必要なロール

Gemini CLI で BigQuery 拡張機能を使用するために必要な権限を取得するには、Resource Manager リソース(プロジェクト、フォルダ、組織)またはデータセットなどの下位レベルのリソースに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

BigQuery 拡張機能をインストールする

BigQuery 拡張機能をインストールし、それを使用してデータを探索、分析します。

  1. Gemini CLI をインストールします

  2. BigQuery プロジェクトに接続するための環境変数を設定します。

    export BIGQUERY_PROJECT="PROJECT_ID"
    

    PROJECT_ID は、実際の Google Cloudプロジェクト ID に置き換えます。

    次のオプションの環境変数を設定することもできます。

    • BIGQUERY_LOCATION: データセットのロケーション(例: export BIGQUERY_LOCATION="us"
    • BIGQUERY_USE_CLIENT_OAUTH: クライアントサイド OAuth を使用するかどうか(例: export BIGQUERY_USE_CLIENT_OAUTH=true
  3. gemini extension install コマンドを使用して、BigQuery Data Analytics 拡張機能または Conversational Analytics 拡張機能をインストールします。

    • 省略可: BigQuery Data Analytics 拡張機能をインストールします。

      gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
      
    • 省略可: BigQuery Conversational Analytics 拡張機能をインストールします。

      gemini extensions install https://github.com/gemini-cli-extensions/bigquery-conversational-analytics
      
  4. インタラクティブ モードで Gemini CLI を起動して、データを探索して分析します。

    gemini
    

    CLI は、BigQuery 拡張機能とそのツールを自動的に読み込みます。これらのツールを使用して、データとやり取りできます。

データを探索して分析するためのプロンプトの例

Gemini CLI にプロンプトを入力します。次の例を参考にしてください。

テーブルを探索して分析する

次のプロンプト例では、テーブルを探索して分析できます。

  • PyPi のダウンロードに関連するテーブルを検索するプロンプトの例:

    Find tables related to PyPi downloads
    

    レスポンスの例

    Gemini CLI は、関連するテーブルのリストを返します。

    ✦ I found the following tables related to PyPi downloads:
    
        *   file_downloads: projects/bigquery-public-data/datasets/pypi/tables/file_downloads
        *   distribution_metadata: projects/bigquery-public-data/datasets/pypi/tables/distribution_metadata
    
  • 今月最もダウンロードされた PyPI パッケージのトップ 10 を表示するプロンプトの例:

    Using bigquery-public-data.pypi.file_downloads show me top 10
    downloaded pypi packages this month
    

    レスポンスの例

    Gemini CLI は上位 10 個のパッケージを返します。

    ✦ Here are the top 10 most downloaded PyPI packages this month:
    
        1.  boto3: 685,007,866 downloads
        2.  botocore: 531,034,851 downloads
        3.  urllib3: 512,611,825 downloads
        4.  requests: 464,595,806 downloads
        5.  typing-extensions: 459,505,780 downloads
        6.  certifi: 451,929,759 downloads
        7.  charset-normalizer: 428,716,731 downloads
        8.  idna: 409,262,986 downloads
        9.  grpcio-status: 402,535,938 downloads
        10. aiobotocore: 399,650,559 downloads
    

ask_data_insights ツールを使用して詳細な分析情報を取得する

ask_data_insights ツールは、BigQuery Conversational Analytics API のエージェントをトリガーして、質問に回答します。サーバーサイド エージェントは、データに関する追加のコンテキストを収集し、より多くの分析情報を提供します。

  • 注力すべきチャネルに関する分析情報を取得するためのプロンプトの例:

    Using ask_data_insights and using the tables under
    bigquery-public-data.google_analytics_sample, tell me the channels I should
    focus on and why
    

    レスポンスの例

    Gemini CLI は、分析に基づいて推奨事項を返します。

    Based on the analysis of the Google Analytics sample data, here are the
    channels you should focus on and why:
      ┌─────────────────┬──────────────┬─────────────────┬────────────────────┬───────────────┐
      │ Channel         │ Total Visits │ Total Pageviews │ Total Transactions │ Total Revenue │
      ├─────────────────┼──────────────┼─────────────────┼────────────────────┼───────────────┤
      │ Referral        │ 104,838      │ 707,597         │ 5,543              │ $651,429.91   │
      │ Direct          │ 143,026      │ 584,840         │ 2,219              │ $434,840.55   │
      │ Organic Search  │ 381,561      │ 1,569,218       │ 3,581              │ $326,380.51   │
      │ Display         │ 6,262        │ 34,202          │ 152                │ $78,337.46    │
      │ Paid Search     │ 25,326       │ 136,060         │ 479                │ $43,558.90    │
      │ Social          │ 226,117      │ 398,690         │ 131                │ $4,916.54     │
      │ Affiliates      │ 16,403       │ 47,417          │ 9                  │ $597.38       │
      │ (Other)         │ 120          │ 442             │ 1                  │ $9.99         │
      └─────────────────┴──────────────┴─────────────────┴────────────────────┴───────────────┘
    
      Recommendations:
    
        1.  Prioritize referral traffic:
            *   Why: This is a highly valuable channel. It brings in the most revenue and has a high number of transactions, despite not having the highest number of visits. This indicates that traffic from referrals is highly qualified and
              converts well.
            *   Action: Identify your top referring websites and build stronger relationships with them. Look for similar websites to partner with.
    
        2.  Nurture your direct traffic:
            *   Why: Direct traffic is your second-highest revenue source. These are likely returning customers or people who know your brand well.
    

料金

メタデータ ツール(get_dataset_infoget_table_infolist_dataset_idslist_table_ids など)または search_catalog ツールを使用しても、追加費用は発生しません。

execute_sqlbigquery_forecastanalyze_contribution などのクエリを実行するツールは、プロジェクトの構成に応じて、BigQuery オンデマンド料金または BigQuery 容量料金に基づいて課金されます。

ベータ版(v1.0 より前)では、ask_data_insights ツールは追加費用なしで提供されますが、このツールによってトリガーされる BigQuery クエリは、BigQuery の標準料金に従って課金されます。

次のステップ