管理 Conversational Analytics API 智能体的 BigQuery 费用

本页面介绍如何监控和管理 Conversational Analytics API 智能体的 BigQuery 费用,这些智能体会针对 BigQuery 数据运行查询,从而产生费用。您可以使用以下方法来控制支出并避免产生意外费用:

准备工作

如要实施本页面所述费用控制措施,您必须先满足以下要求:

  • 您必须有启用了结算功能的 Google Cloud 项目。
  • 您必须拥有必要的 Identity and Access Management (IAM) 权限,才能管理 Google Cloud 项目的配额和结算。

为项目和用户设置配额

您可以应用标准 BigQuery 配额,为 Google Cloud 项目或个别用户设置支出限额。这些限额有助于您控制总体费用,并防止个别用户的费用超支。

对于可能会产生高额费用的智能体(例如基于超大型表或未分区表构建的智能体),建议的做法是先将智能体隔离到自己的专用项目中。然后,您可以应用项目级配额来限制该项目的每日费用上限,或应用用户级配额来确保各用户的费用合理,也可以同时应用项目级配额和用户级配额。

为智能体设置专用项目

如需为您的 Conversational Analytics API 智能体设置专用项目,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,创建一个新的 Google Cloud 项目。此项目将专用于您的一个或多个智能体。
  2. 确保已为该新项目启用结算功能。
  3. 确认您的智能体已配置为使用该新项目进行结算。配置智能体时,您需要指定该新项目的项目 ID。

为项目设置配额

设置专用 Google Cloud 项目后,您便可以应用配额来控制整个项目的费用。如需设置项目级配额,请按以下步骤操作:

  1. 在智能体的 Google Cloud 项目中,依次前往 IAM 和管理 > 配额

    转到“配额”

  2. 过滤出 BigQuery API 服务,然后选择每日查询用量配额。

  3. 将配额修改为所需的每日限额(例如 10 TiB)。达到此限额时,系统会硬性阻止进一步的查询,以防止项目超出指定的每日费用。

为用户设置配额

为防止任何个别用户产生高额费用,您可以按照以下步骤设置每用户配额:

  1. 在智能体的 Google Cloud 项目中,依次前往 IAM 和管理 > 配额

    转到“配额”

  2. 过滤出 BigQuery API 服务,然后选择每用户每日查询用量配额。

  3. 将配额修改为所需的每日限额(例如,每位用户每天 1 TiB)。此限额可确保单个用户不会耗用过量资源。

限制各查询的费用

为防止任何个别用户查询产生意外的高额费用,您可以在智能体上配置 big_query_max_billed_bytes 参数,设置每个查询的费用限额。

智能体在运行任何查询之前,会先进行试运行,以估算查询费用。如果估算的待扫描字节数超过 big_query_max_billed_bytes 值,智能体会阻止查询并向用户发送错误消息。

您可以在创建或配置使用 HTTP使用 Python SDK 的智能体时,在 published_context 字段中设置 big_query_max_billed_bytes 参数。以下示例(以 textproto 格式显示)展示了一个为智能体配置了 100 MB 限额的请求的结构,该智能体用来回答有关旧金山行道树的问题:

parent: "projects/sample-project-name/locations/global"
data_agent_id: "sample-agent-id"
data_agent {
  name: "projects/sample-project-name/locations/global/dataAgents/sample-agent-id"
  data_analytics_agent {
    published_context {
      system_instruction: "This agent provides information about street trees in San Francisco, including their species, location, and planting date."
      options {
        datasource {
          big_query_max_billed_bytes {
            value: 104857600 #100MB
          }
        }
      }
      datasource_references {
        bq {
          table_references {
            project_id: "bigquery-public-data"
            dataset_id: "san_francisco"
            table_id: "street_trees"
          }
        }
      }
    }
  }
}

在此示例中,big_query_max_billed_bytes 参数设置为 104857600 字节(100 MB)。该值用于限制 sample-agent-id 智能体针对 bigquery-public-data.san_francisco.street_trees BigQuery 表运行的任何查询。

如需查看有关如何创建和配置智能体的互动式示例,请参阅 Colaboratory 笔记本。如需详细了解 API 字段,请参阅 API 参考文档

限制

在管理 Conversational Analytics API 智能体的费用时,请注意以下限制:

  • 这些费用管理工具仅适用于采用按需结算的项目,而不适用于采用槽预留的项目。
  • 不支持为个别智能体设置配额。如为项目和用户设置配额部分所述,建议的做法是将智能体隔离到自己的项目中,然后对该项目应用项目级配额或每用户配额。
  • 不支持使用 BigQuery 标签跟踪个别智能体的费用。