本页介绍 Databricks Foundation 模型 API 工作负载的限制和配额。
Databricks Foundation 模型 API 强制实施速率限制,以确保所有用户的可靠性能和公平的资源分配。 这些限制因 工作区平台层、基础模型类型和部署基础模型的方式而异。
按令牌付费终结点速率限制
按令牌付费终结点受基于令牌的速率限制和基于查询的速率限制的约束。 基于令牌的速率限制控制每分钟可处理的最大令牌数,并单独对输入和输出令牌强制实施。
- 每分钟输入令牌(ITPM):可在 60 秒窗口中处理的最大输入令牌数(来自提示)。 ITPM 速率限制控制终结点的输入令牌吞吐量。
- 每分钟输出令牌(OTPM) :可在 60 秒窗口中生成的输出令牌(来自模型响应)的最大数目。 OTPM 速率限制控制终结点的输出令牌吞吐量。
- 每小时查询数:可在 60 分钟内处理的最大查询数或请求数。 对于持续使用模式的生产应用程序,Databricks 建议预配的吞吐量终结点,这些终结点提供有保证的容量。
如何跟踪和强制执行限制
限制最大的速率限制(ITPM、OTPM、QPH)适用于任何给定时间。 例如,即使尚未达到 ITPM 限制,如果超出 QPH 或 OTPM 限制,仍受速率限制。 达到 ITPM 或 OTPM 限制时,后续请求会收到 429 错误,指示收到的请求过多。 此消息将一直保留,直到速率限制窗口重置。
Databricks 使用以下功能跟踪并强制实施每分钟令牌(TPM)速率限制:
| 功能 / 特点 | 详细信息 |
|---|---|
| 令牌会计和预录取检查 |
|
| 突发容量和平滑 |
|
下面是预录取检查和返点行为工作情况的示例。
# Request with max_tokens specified
request = {
"prompt": "Write a story about...", # 10 input tokens
"max_tokens": 500 # System reserves 500 output tokens
}
# Pre-admission check:
# - Verifies 10 tokens against ITPM limit
# - Reserves 500 tokens against OTPM limit
# - If either would exceed limits, returns 429 immediately
# If admitted, actual response uses only 350 tokens
# The systen credits back 150 tokens (500 - 350) to your OTPM allowance
# These 150 tokens are immediately available for other requests
按模型排序的速率限制
下表汇总了 适用于企业层工作区的按令牌付费的基础模型 API 终结点的 ITPM、OTPM 和 QPH 费率限制:
| 大型语言模型 | ITPM 限制 | OTPM 限制 | QPH 限制 | 注释 |
|---|---|---|---|---|
| GPT-5 | 50,000 | 5,000 | 36,000 | 常规用途 LLM |
| GPT-5 微型 | 50,000 | 5,000 | 36,000 | 常规用途 LLM |
| GPT-5 nano | 50,000 | 5,000 | 36,000 | 常规用途 LLM |
| GPT OSS 120B | 200,000 | 10,000 | 常规用途 LLM | |
| GPT OSS 20B | 200,000 | 10,000 | 较小的 GPT 变体 | |
| Gemma 3 12B | 200,000 | 10,000 | 7,200 | 谷歌的 Gemma 模型 |
| Llama 4 小牛 | 200,000 | 10,000 | 2,400 | 最新 Llama 版本 |
| Llama 3.3 70B 指示 | 200,000 | 10,000 | 2,400 | 中型 Llama 模型 |
| Llama 3.1 8B 指示 | 200,000 | 10,000 | 7,200 | 轻型 Llama 模型 |
| Llama 3.1 405B 指示 | 5,000 | 500 | 1,200 |
|
| 人类 Claude 模型 | ITPM 限制 | OTPM 限制 | 注释 |
|---|---|---|---|
| 克劳德 3.7 Sonnet | 50,000 | 5,000 | 平衡 Claude 模型 |
| 克劳德十四行诗 4 | 50,000 | 5,000 | |
| Claude Opus 4.1 | 50,000 | 5,000 | 支持最多的 Claude 模型 |
| 克劳德十四行诗 4.5 | 50,000 | 5,000 | 最新 Sonnet 版本 |
| 嵌入模型 | ITPM 限制 | OTPM 限制 | QPH 限制 | 注释 |
|---|---|---|---|---|
| GTE 大型 (En) | N/A | N/A | 540,000 | 文本嵌入模型 - 不生成规范化嵌入 |
| BGE 大型 (En) | N/A | N/A | 2,160,000 | 文本嵌入模型 |
管理 TPM 速率限制最佳做法
步骤 1. 监视令牌使用情况
在应用程序中单独跟踪输入和输出令牌计数:
# Example: Track token usage
response = model.generate(prompt)
input_tokens = response.usage.prompt_tokens
output_tokens = response.usage.completion_tokens
total_tokens = response.usage.total_tokens
# Check against limits
if input_tokens > ITPM_LIMIT or output_tokens > OTPM_LIMIT:
# Implement backoff strategy
pass
步骤 2. 实现重试逻辑
遇到速率限制错误时添加指数退避:
import time
import random
def retry_with_exponential_backoff(
func,
initial_delay: float = 1,
exponential_base: float = 2,
jitter: bool = True,
max_retries: int = 10,
):
"""Retry a function with exponential backoff."""
num_retries = 0
delay = initial_delay
while num_retries < max_retries:
try:
return func()
except Exception as e:
if "rate_limit" in str(e) or "429" in str(e):
num_retries += 1
if jitter:
delay *= exponential_base * (1 + random.random())
else:
delay *= exponential_base
time.sleep(delay)
else:
raise e
raise Exception(f"Maximum retries {max_retries} exceeded")
步骤 3. 优化令牌使用情况
- 最小化提示长度:使用简洁、结构良好的提示
-
控制输出长度:使用
max_tokens参数限制响应大小 -
为 Claude Sonnet 4 显式设置max_tokens:使用 Claude Sonnet 4 时始终指定
max_tokens以避免默认的 1,000 个令牌限制 - 高效批处理:尽可能对相关请求进行分组,同时保持在限制范围内
步骤 4. 考虑模型选择
- 用于大容量任务的较小模型:对需要更高吞吐量的任务使用 Llama 3.1 8B 等模型
- 复杂任务的大型模型:对于需要最大功能的任务,保留 Llama 3.1 405B
监视和故障排除
监视令牌使用模式以优化性能:
# Example: Log token usage for monitoring
import logging
logger = logging.getLogger(__name__)
def log_token_usage(response):
usage = response.usage
logger.info(f"Input tokens: {usage.prompt_tokens}")
logger.info(f"Output tokens: {usage.completion_tokens}")
logger.info(f"Total tokens: {usage.total_tokens}")
# Alert if approaching limits
if usage.prompt_tokens > ITPM_LIMIT * 0.8:
logger.warning("Approaching ITPM limit")
if usage.completion_tokens > OTPM_LIMIT * 0.8:
logger.warning("Approaching OTPM limit")
处理速率限制错误
超过速率限制时,API 将返回错误 429 Too Many Requests :
{
"error": {
"message": "Rate limit exceeded: ITPM limit of 200,000 tokens reached",
"type": "rate_limit_exceeded",
"code": 429,
"limit_type": "input_tokens_per_minute",
"limit": 200000,
"current": 200150,
"retry_after": 15
}
}
错误响应包括:
-
limit_type:超出特定限制(ITPM、OTPM、QPS 或 QPH) -
limit:配置的限制值 -
current:当前使用情况 -
retry_after:建议的等待时间(以秒为单位)
常见问题和解决方案
| 問题 | 解决方案 |
|---|---|
| 频繁出现 429 错误 | 实现指数退避、降低请求速率和请求更高的速率限制 |
| 达到 ITPM 限制 | 优化提示长度 |
| 达到 OTPM 限制 | 用于 max_tokens 限制响应长度 |
| 达到 QPH 限制 | 随着时间的推移,更均匀地分配请求 |
预配的吞吐量限制
对于需要更高限制的生产工作负荷,预配的吞吐量终结点提供:
- 无 TPM 限制:基于预配资源处理容量
- 更高的速率限制:每个工作区每秒最多 200 个查询
- 可预测的性能:专用资源可确保一致的延迟
输出令牌限制
下表汇总了每个受支持的模型的输出令牌限制:
| 型号 | 输出令牌限制 |
|---|---|
| GPT OSS 120B | 25,000 |
| GPT OSS 20B | 25,000 |
| Gemma 3 12B | 8,192 |
| Llama 4 小牛 | 8,192 |
| Llama 3.1 405B | 4,096 |
| Llama 3.1 70B | 8,192 |
| Llama 3.1 8B | 8,192 |
其他限制
以下是预配的吞吐量工作负荷的限制:
- 若要从
system.aiUnity 目录中部署 Meta Llama 模型,必须选择适用的 “指示 ”版本。 Unity 目录中的部署不支持 Meta Llama 模型的基本版本。 请参阅 部署预配的吞吐量终结点。 - 对于使用 Llama 4 Maverick 的预配吞吐量工作负荷:
- 对预配的吞吐量工作负载支持此模型为 公共预览版。
- 不支持自动缩放。
- 不支持指标面板。
- 服务 Llama 4 小牛的终结点不支持流量拆分。 不能在为 Llama 4 小牛服务终结点上提供多个模型。
区域可用性和数据处理
有关 Databricks 托管的基础模型区域可用性,请参阅 基础模型概述。
有关数据处理和驻留详细信息,请参阅 数据处理和驻留。