通过 token 配额控制费用

本文档介绍了如何定义和管理生成式 AI 功能消耗的输入和输出令牌数量的每日限额。

BigQuery 生成式 AI 函数使用大型语言模型 (LLM) 在 SQL 查询中执行高级分析。由于 LLM 使用费通常根据处理的 token 数量收取,因此 BigQuery 提供 token 配额,帮助您管理和控制与使用这些函数相关的费用。

令牌配额适用于专为使用 Gemini LLM 的生成式 AI 推理任务设计的 BigQuery SQL 函数,例如 AI.CLASSIFY 和 AI.GENERATE_TEXT 函数。令牌配额不适用于嵌入生成和语义搜索功能(例如 AI.EMBED),这些功能具有不同的结算结构。

配额详细信息

BigQuery 根据 LLM 令牌使用情况提供以下每日配额。令牌用量直接影响您在使用 Gemini 模型的 BigQuery 生成式 AI 功能方面的 Vertex AI 账单。这些配额会在所有区域内进行全球跟踪。

这些 token 配额决定了 LLM 为生成式 AI 函数处理的输入和输出 token 数量:

  • 输入 token:发送给模型以供处理的 token。这包括提示文本中的令牌以及作为输入提供给模型的任何其他数据。
  • 输出 token:模型在回答中生成的 token。这包括生成文本中的 token(候选 token)和在内部推理步骤中生成的 token(思考 token)。

配额名称 指标 范围 默认值
GenAiInputTokensPerDay LLM 使用的输入 token 每天每个项目 200,000,000,000
GenAiInputTokensPerUserPerDay LLM 使用的输入 token 每位用户每天 150,000,000,000
GenAiOutputTokensPerDay LLM 使用的输出 token 和思考 token 每天每个项目 20,000,000,000
GenAiOutputTokensPerUserPerDay LLM 使用的输出 token 和思考 token 每位用户每天 15,000,000,000

这些配额以百万词元为增量进行跟踪。虽然您可以设置精确的限制,但由于令牌报告和汇总的性质,小于数百万个令牌的值可能无法完全准确地反映出来。

缓存的 token 不计入配额。

管理配额

根据您的资源用量,您可能需要查看或上下调整令牌配额值。您可以使用 Google Cloud 控制台执行以下任务:

  1. 在 Google Cloud 控制台中,前往 IAM 和管理 > 配额和系统限制页面。

    进入“配额和系统限制”

  2. 输入 Service: BigQuery API 过滤配额。

  3. 在配额列表中搜索特定配额(例如,搜索 GenAiInputTokensPerDay)。

  4. 点击修改。

  5. 在配额更改窗格中,输入新值以增加或减少配额。

  6. 点击提交请求。

配额超限处置方式

BigQuery 会在查询执行的多个阶段监控令牌消耗情况:

  • 执行前检查:在执行包含生成式 AI 函数的查询之前,BigQuery 会检查可用的令牌配额。如果相关配额(例如项目每日输入令牌数)已用尽,系统会拒绝查询并返回 QuotaExceeded 错误。
  • 执行期间:如果查询正在运行并消耗了 token,导致任何配置的配额(每个项目或每个用户的输入或输出)用尽,则该查询中的新 LLM 调用会被拒绝。
    • 任何依赖于 LLM 调用的剩余行都会遇到配额耗尽错误。
    • 如果 max_error_ratio 实参用于 AI.IF 等函数,查询结果取决于该实参。如果错误率保持在允许的限值内,则可能会返回部分结果。否则,整个查询都会失败。
    • 在每日配额重置之前,后续尝试使用生成式 AI 函数的查询都会失败,并显示 QuotaExceeded 错误。

重要注意事项

  • 全球配额:定义的配额是全球配额。token 使用量会在项目运行的所有区域内汇总,从而提供统一的费用控制机制。这样可以避免因在不同区域使用而产生意外费用。
  • 预配吞吐量:如果您使用的是具有预配吞吐量的 Gemini Enterprise Agent Platform 模型,则结算不是基于令牌用量。您应将这些 BigQuery 令牌配额设置为较高的值,以避免不必要地阻止查询。

后续步骤