
使用BigQuery的生成式AI成本管理功能

BigQuery 的生成式 AI 函数(AI.GENERATE、AI.IF、AI.CLASSIFY、AI.SCORE 等)把大语言模型直接带进了 SQL:一条查询就能给上百万张工单分类,或逐条对商品评价做情感打分。但这些函数按 token 计费,数据规模一大,预算就可能失控。Google Cloud 最近正式上线了基于 token 的配额管理(GA),让管理员能对 AI token 消耗设置自助式护栏。
这套配额一共有四个,走 Google Cloud 的 IAM 配额体系,同时覆盖项目级和用户级。用户级限制作用于项目内的每个用户,而不是跨整个组织。默认值分别是:AI 输入 token 每项目每天 2000 亿(200 billion),每用户每天 1500 亿;AI 输出 token 每项目每天 200 亿,每用户每天 150 亿。注意:配额是全局的,所有区域的用量会加在一起统计,不会出现某个区域悄悄超支却没被发现的情况。输出配额还把推理 token(thinking/reasoning tokens)也算进去了,和 Gemini 平台账单口径一致。
配额覆盖的函数包括:AI.GENERATE、AI.GENERATE_TABLE、AI.GENERATE_TEXT(及别名 ML.GENERATE_TEXT)、AI.CLASSIFY、AI.IF、AI.SCORE、AI.AGG。嵌入函数不在此列,比如 AI.GENERATE_EMBEDDING(ML.GENERATE_EMBEDDING)和 AI.EMBED,因为它们跑在不同的、便宜得多的模型上。
管理配额很简单。管理员直接在 Google Cloud 控制台操作:IAM & Admin → Quotas & System Limits,过滤 BigQuery API,排序找到四个 AI 配额,编辑即可。调低配额立即生效,不需要审批;调高配额时,很多请求会自动批准,更大的涨幅会走快速审核。需要的权限是 Owner、Editor、Quota Administrator(roles/servicemanagement.quotaAdmin)或 Service Usage Admin(roles/serviceusage.serviceUsageAdmin)。如果偏好自动化,Cloud Quotas API、gcloud CLI 和 Terraform 都能用来跨项目统一配置。
监控方面,配额页面会展示历史 token 消耗,可以按 7 天、14 天、30 天或自定义范围查看,用来识别突发峰值、校准预算。文章专门把 token 配额和 Cloud Billing 的支出上限做了区分。token 配额是预防性的、AI 专属的,BigQuery 在查询执行期间持续跟踪 token 用量,接近上限就停止工作,并且项目和用户两套限制分开。而支出上限按美元在项目和服务级别生效,达到阈值就阻止继续使用,属于更宽的财务兜底;由于它执行不是瞬时的,总会产生一些超支。官方建议:token 配额当第一道防线,支出上限当项目级安全网。
执行机制上,配额靠“停止工作”而不是“放行后算账”。如果查询启动时所需配额已经耗尽,会直接返回 QuotaExceeded 错误。如果查询跑到一半配额用完,BigQuery 就不再发起新的 LLM 调用。支持 max_error_ratio 的函数(如 AI.IF)在未处理行比例允许时会返回部分结果,否则失败;通用函数(如 AI.GENERATE)仍会成功,跳过的行不生成值,状态字段里写着配额超限错误。
要估算成本,先得知道自己发了多少 token。AI.COUNT_TOKENS 函数可以在不产生计费生成调用的前提下,返回模型分词器对一段文本算出的 token 数。对一列数据跑一遍,就能估算输入规模。但要记住:这个计数是输入 token 的下界,不包含输出和推理 token、AI 函数自动加在输入周围的指令,也不含图像等非文本输入。它的用途是:上线前评估输入体量、结合一次小样本运行来校准配额、再按 Gemini 平台公开定价把 token 换算成美元。
文中给了一个完整的换算例子。假设想用 Gemini 3.1 Flash-Lite 模型把项目日支出控制在 100 美元左右。按当前公开定价(BigQuery 走批处理,有 50% 折扣):输入 token 每百万 0.125 美元,输出 token(响应+推理)每百万 0.75 美元。再假设小样本运行显示输入输出 token 比例约为 100:1,解出来每天大约消耗 7.54 亿输入 token 和 754 万输出 token。把两个每日配额设成这两个值,就能把项目稳定在 100 美元/天附近。如果项目用了多种不同价格的模型,就按模型分别预算,或者把费率混合算。
最后是最佳实践:先从每用户配额起步,防止某个用户或失控实验一口气烧光项目预算;扩展之前先测量,用 AI.COUNT_TOKENS 估输入,再看小样本在用量图里的表现;多盯着输出侧,因为输出 token 更贵,函数支持 max_output_tokens 参数时就设置上限;然后持续监控、按真实用量调整配额。
这套功能现在已经可用。从控制台打开 IAM & Admin → Quotas & System Limits,过滤 BigQuery API,审查四个 AI token 配额并设成符合预算的数值,再用 AI.COUNT_TOKENS 量一下输入,就可以把生成式 AI 的成本变得可预测。


