使用 Gemini CLI 分析数据

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

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

Gemini CLI 和扩展程序简介

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

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

扩展程序的运作方式

扩展程序可扩展 Gemini CLI 的功能,使其能够连接和控制特定的 Cloud de Confiance by S3NS 服务和其他工具。扩展程序可为 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 获取有关数据集 bigquery-public-data.pypi 的信息
get_table_info 获取有关表 bigquery-public-data.pypi.file_downloads 的信息
list_dataset_ids 列出项目 bigquery-public-data 中的所有 ML 数据集
list_table_ids 列出数据集 bigquery-public-data.pypi 中的所有表
搜索 search_catalog 查找与 PyPi 下载相关的表
SQL 执行 execute_sql 使用 bigquery-public-data.pypi.file_downloads 显示本月下载次数最多的前 10 个 PyPi 软件包
时序预测 bigquery_forecast 使用 bigquery-public-data.pypi.file_downloads,预测 2025 年最后四个月软件包 urllib3 的下载量
贡献分析 analyze_contribution 分析 bigquery-public-data.google_analytics_sample.ga_sessions_20170801 表中各个国家/地区的收入贡献

对话式分析工具

对话式分析扩展程序提供以下工具:

类别 工具 自然语言提示示例
搜索 search_catalog 查找与 PyPi 下载相关的表
对话式分析 ask_data_insights 使用 ask_data_insights 工具和 bigquery-public-data.google_analytics_sample 下的表,告诉我应该重点关注哪些渠道以及原因

准备工作

在开始之前,您需要做好以下准备:

  • 针对至少一个 Cloud de Confiance by S3NS 项目的访问权限。
  • 对于数据分析扩展程序,请启用以下 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

所需的角色

如需获得将 BigQuery 扩展程序与 Gemini CLI 搭配使用所需的权限,请让您的管理员为您授予 Resource Manager 资源(项目、文件夹和组织)或数据集等较低级层资源的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

安装 BigQuery 扩展程序

安装 BigQuery 扩展程序,然后使用它们来探索和分析数据。

  1. 安装 Gemini CLI

  2. 设置环境变量以连接到 BigQuery 项目:

    export BIGQUERY_PROJECT="PROJECT_ID"
    

    PROJECT_ID 替换为您的 Cloud de Confiance项目 ID。

    您还可以设置以下可选环境变量:

    • BIGQUERY_LOCATION:数据集位置,例如:export BIGQUERY_LOCATION="us"
    • BIGQUERY_USE_CLIENT_OAUTH:是否使用客户端 OAuth,例如:export BIGQUERY_USE_CLIENT_OAUTH=true
  3. 使用 gemini extension install 命令安装 BigQuery 数据分析或对话式分析扩展程序:

    • 可选:安装 BigQuery 数据分析扩展程序:

      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 the 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 价格计费。

后续步骤