使用 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 的功能,讓 Gemini CLI 連線及控制特定 Google Cloud 服務和其他工具。擴充功能可為 Gemini 提供脈絡和 API 瞭解資訊,進而實現對話互動。您可以從 GitHub URL、本機目錄或登錄檔載入擴充功能。這些擴充功能提供工具、斜線指令和提示。這些擴充功能與 IDE 擴充功能 (例如 Gemini Code Assist) 不同,後者是使用 MCP Toolbox 整合。

關於 BigQuery 擴充功能

BigQuery 提供下列擴充功能,可透過 Gemini CLI 處理 BigQuery 資料:

BigQuery 資料分析擴充功能
使用這項擴充功能探索資料、進一步瞭解 BigQuery 資料表和資料集,以及以自然語言詢問有關資料集的問題。您也可以使用內建的進階工具產生預測或執行貢獻度分析。這項擴充功能的工具可協助 Gemini CLI 根據自然語言問題編寫 SQL 查詢,然後執行查詢來提供問題的答案。
BigQuery 對話式數據分析擴充功能
使用這個擴充功能,透過預先代管的伺服器端分析代理程式,從 BigQuery 資料取得進階洞察資訊。這個擴充功能的工具可協助 Gemini CLI 將自然語言問題傳送至內建的代管代理程式,並根據資料提供深入洞察資訊。

BigQuery 資料分析工具

BigQuery 資料分析擴充功能提供下列工具:

類別 工具 自然語言提示範例
資料集和資料表資訊 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 Using bigquery-public-data.pypi.file_downloads show me top 10 downloaded pypi packages this month
時間序列預測 bigquery_forecast 從資料表 my_table 預測 10 個週期的銷售量
貢獻分析 analyze_contribution 在 my_table 資料表中分析國家/地區對收益的貢獻

對話式數據分析工具

對話式數據分析擴充功能提供下列工具:

類別 工具 自然語言提示範例
搜尋 search_catalog 尋找與 PyPi 下載相關的資料表
對話式數據分析 ask_data_insights 使用 ask_data_insights 和 bigquery-public-data.google_analytics_sample 下方的資料表,告訴我應著重哪些管道,以及原因

事前準備

開始之前,請先備妥下列項目:

  • 至少一個 Google Cloud 專案的存取權。
  • 如果是資料分析擴充功能,請啟用下列 API:

    • BigQuery
    • 如要使用 search_catalog 工具,請前往 Dataplex Universal Catalog
  • 如要使用 Conversational Analytics 擴充功能,請啟用下列 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 替換為專案 ID。 Google Cloud

    您也可以設定下列選用環境變數:

    • BIGQUERY_LOCATION:資料集位置,例如:export BIGQUERY_LOCATION="us"
    • BIGQUERY_USE_CLIENT_OAUTH:是否使用用戶端 OAuth,例如:export BIGQUERY_USE_CLIENT_OAUTH=true
  3. 使用 gemini extension install 指令安裝 BigQuery 資料分析或對話式 Analytics 擴充功能:

    • 選用步驟:安裝 BigQuery Data Analytics 擴充功能:

      gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
      
    • 選用:安裝 BigQuery 對話式數據分析擴充功能:

      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 套件:

    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 對話式資料分析 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 容量定價計費,具體取決於專案設定。

在 Beta 版 (1.0 版前) 期間,ask_data_insights 工具不會額外收費,但這項工具觸發的任何 BigQuery 查詢,都會按照標準 BigQuery 定價計費。

後續步驟