使用 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 角色:
-
在 Google Cloud 專案中執行 BigQuery 查詢:
BigQuery 使用者 (
roles/bigquery.user
) -
使用基礎中繼資料工具取得 BigQuery 資料集和資料表的中繼資料:
BigQuery 中繼資料檢視器 (
roles/bigquery.metadataViewer
) -
使用 Conversational Analytics 擴充功能:
Gemini for Google Cloud 使用者 (
roles/cloudaicompanion.user
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
安裝 BigQuery 擴充功能
安裝 BigQuery 擴充功能,然後使用這些擴充功能探索及分析資料。
設定環境變數,連線至 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
使用
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
以互動模式啟動 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_info
、get_table_info
、list_dataset_ids
和 list_table_ids
) 或 search_catalog
工具不會產生額外費用。
執行查詢的工具 (包括 execute_sql
、bigquery_forecast
和 analyze_contribution
) 會根據BigQuery 隨選定價或 BigQuery 容量定價計費,具體取決於專案設定。
在 Beta 版 (1.0 版前) 期間,ask_data_insights
工具不會額外收費,但這項工具觸發的任何 BigQuery 查詢,都會按照標準 BigQuery 定價計費。
後續步驟
- 進一步瞭解如何搭配使用 BigQuery 與 MCP、Gemini CLI 和其他代理程式。
- 進一步瞭解 Gemini in BigQuery。
- 請參閱 GitHub 上的 Data Analytics 擴充功能。
- 請參閱 GitHub 上的 Conversational Analytics 擴充功能。