通过 token 配额控制费用

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

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

令牌配额适用于专为使用 Gemini LLM 的生成式 AI 推理任务而设计的 BigQuery SQL 函数,例如 AI.CLASSIFYAI.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 每位用户每天 400 亿
GenAiOutputTokensPerDay LLM 使用的输出 token 和思考 token 每天每个项目 20,000,000,000
GenAiOutputTokensPerUserPerDay LLM 使用的输出 token 和思考 token 每位用户每天 4,000,000,000

这些配额以数百万个令牌为增量进行跟踪。虽然您可以设置精确的限制,但由于 token 报告和汇总的性质,小于数百万 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 令牌配额设置为较高的值,以免不必要地阻止查询。

后续步骤