使用 Gemini CLI 进行开发

本页面介绍了如何通过 Gemini CLI 使用自然语言提示在终端中与 BigQuery 数据互动。通过 Gemini CLI 使用专用 BigQuery 扩展程序,可以直接在命令行中进行 AI 驱动的数据分析并获取数据洞见。 您可以分析 BigQuery 表中的数据,也可以分析 BigQuery 公共数据集中的表。

这些第一方扩展程序提供了一些用于数据分析和获取数据洞见的常用工具。如需构建自己的工具,请参阅将 BigQuery 与 MCP、Gemini CLI 和其他代理搭配使用

Gemini CLI 和扩展程序简介

Gemini CLI 是 Google 推出的开源对话式 AI 智能体,可加速开发工作流,并协助完成编码、调试、数据探索和内容创建。它提供了一种由智能体驱动的体验,可与 Data Cloud 服务(例如 BigQuery)以及其他热门 Google Cloud 数据库和开源数据库进行互动。

如需详细了解 Gemini CLI,请参阅 Gemini CLI 文档

扩展程序的运作方式

扩展程序可扩展 Gemini CLI 的功能,使其能够连接和控制特定的 Google Cloud 服务和其他工具。扩展程序可为 Gemini 提供上下文和 API 理解能力,从而实现对话式互动。您可以从 GitHub 网址、本地目录或注册数据库中加载扩展程序。这些扩展程序提供工具、斜杠命令和提示。这些工具与使用 MCP Toolbox 集成的 IDE 扩展程序(例如 Gemini Code Assist)是分开的。

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 使用 bigquery-public-data.pypi.file_downloads 显示本月下载次数最多的 10 个 PyPI 软件包
时序预测 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。

所需的角色

如需获得将 BigQuery 扩展程序与 Gemini CLI 搭配使用所需的权限,请让管理员向您授予资源管理器资源(项目、文件夹和组织)或数据集等较低级别资源的以下 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 数据分析或对话式分析扩展程序:

    • 可选:安装 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
    
  • 示例提示,用于显示本月下载次数最多的前 10 个 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 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 容量价格(具体取决于您的项目配置)收取费用。

在 Beta 版阶段(v1.0 之前),ask_data_insights 工具免费提供;不过,此工具触发的任何 BigQuery 查询均会按照标准的 BigQuery 价格收费。

后续步骤