速率限制是指对您在指定时间段内可以从 Voyage AI请求令牌的频率和数量的限制。要学习;了解有关速率限制的更多信息,请参阅最佳实践。
Atlas 基于模型 API 密钥 使用量 (每分钟请求数 (RPM) 和每分钟令牌数 (TPM)) 实施限速。如果您在最近一分钟内超出了请求或令牌的数量,API 将拒绝任何后续的额外请求,并返回 429 (Rate Limit Exceeded) HTTP 状态代码。
管理速率限制
以下部分介绍如何在Atlas用户界面中管理速率限制。
所需权限
To set and reset rate limits at the project level, you must have Project Owner access or higher to Atlas.
要查看速率限制:
At the organization and project levels, you must have
Organization Read Onlyor higher access to Atlas.At only the project level, you must have
Project Read Onlyor higher access to Atlas.
设置速率限制
您可以在项目级别为每个项目设立不同的限制。项目级别的速率限制不能超过组织的速率限制。在项目级别设立的速率限制应用于项目的所有模型API密钥。
登录Atlas。
查看速率限制
您可以查看组织和项目级别的速率限制。
登录Atlas。
页面显示以下信息:
名称 | 说明 |
|---|---|
Model | Voyage AI嵌入模型列表。 |
Tokens Per Minute (TPM) | 您可以在一分钟内从嵌入和重新排名API终结点请求的令牌数量。 |
Requests Per Min (RPM) | 您可以在一分钟内发送到嵌入和重新排名API终结点的API请求数。 |
登录Atlas。
从左侧导航栏中选择 Rate Limits(数据库)。
该页面显示有关速率限制的以下信息:
列名称 | 列说明 |
|---|---|
Model | Voyage AI嵌入模型列表。 |
Tokens Per Minute (TPM) | 您可以在一分钟内从 Voyage AI Embedding 和 Reranking API终结点请求的令牌数量。 |
Requests Per Min (RPM) | 一分钟内可以发送到 Voyage AI Embedding 和 Reranking API终结点的请求数量。 |
Actions | 您可以采取的操作。您可以:
|
如果设立了自定义限制,页面还会显示 Reset all limits 按钮,用于将页面上的所有自定义速率限制恢复为组织的默认。
重置所有速率限制
您可以随时重置为项目设立的所有自定义限制。重置限制时,项目的速率限制将恢复为组织的默认速率限制。
登录Atlas。
使用层级
限制速率遵循层级制,越高的层级提供更大的限制。层级的资格基于已出账使用量(不包括免费令牌)。Atlas 为每个模型提供 200 百万免费代币。多模态模型还包含 150、000、000、000 空闲像素。一旦您符合某个层级的条件,您将永远不会被降级。随着您的使用量和支出增加,Atlas 会自动将您提升到下一个使用层级,从而提高所有模型的调用限制。
要学习;了解更多信息,请参阅速率限制和使用层级。
默认速率限制
本部分介绍在组织级别应用的每个使用层级的默认速率限制。它还描述了您可以为每个项目配置的速率限制。
组织速率限制
下表显示了每个 Voyage AI嵌入模型基于使用层级的默认速率限制(TPM 和 RPM)。
模型 | Tokens Per Min (TPM) | 每分钟请求数 (RPM) |
|---|---|---|
| 16,000,000 | 2 , 000 |
| 8,000,000 | 2 , 000 |
| 3,000,000 | 2 , 000 |
| 3,000,000 | 2 , 000 |
| 2,000,000 | 2 , 000 |
| 4,000,000 | 2 , 000 |
| 2,000,000 | 2 , 000 |
使用层级 2 的速率限制是使用层级 1 的两倍。
模型 | Tokens Per Min (TPM) | 每分钟请求数 (RPM) |
|---|---|---|
| 32,000,000 | 4 , 000 |
| 16,000,000 | 4 , 000 |
| 6,000,000 | 4 , 000 |
| 6,000,000 | 4 , 000 |
| 4,000,000 | 4 , 000 |
| 8,000,000 | 4 , 000 |
| 4,000,000 | 4 , 000 |
使用层级 3 的速率限制是使用层级 1 的三倍。
模型 | Tokens Per Min (TPM) | 每分钟请求数 (RPM) |
|---|---|---|
| 48,000,000 | 6 , 000 |
| 24,000,000 | 6 , 000 |
| 9,000,000 | 6 , 000 |
| 9,000,000 | 6 , 000 |
| 6,000,000 | 6 , 000 |
| 12,000,000 | 6 , 000 |
| 6,000,000 | 6 , 000 |
项目速率限制
默认下,项目会继承基于组织速率限制的速率限制。但是,您可以在项目级别为每个项目设立不同的限制。项目级别的速率限制不能超过组织的速率限制。在项目级别设立的速率限制应用于项目的所有模型API密钥。但是,如果首先达到组织速率限制,则项目可能会被速率限制为较低的速率。当所有项目速率限制的总和超过组织限制时,可能会发生这种情况。
例子
考虑具有三个项目的组织速率限制O,其速率限制为P1、P2 和P3。下表说明了项目速率限制总和小于、等于或大于组织速率限制的三种情况。对于每种情况,该表都会指示是否会达到组织限制,以及一个项目的使用是否会影响另一个项目。
Scenario 1 P1 + P2 + P3 < O | Scenario 2 P1 + P2 + P3 = O | Scenario 3 P1 + P2 + P3 > O | |
|---|---|---|---|
场景说明 | 所有项目速率限制的总和小于组织限制。 | 所有项目速率限制的总和等于组织限制。 | 所有项目速率限制的总和大于组织限制。 |
能否达到组织限制? | 不会,即使所有项目都达到其速率限制,也不会超过组织速率限制。 | 是的,如果所有项目都达到其速率限制,则也会达到组织限制。 | 是的,由于所有项目速率限制的总和超过组织限制,因此可以在单个项目达到各自的限制之前达到组织限制。 |
一个项目的使用是否会影响另一个项目? | No. | No. | 是的。如果在任何或所有项目达到各自的限制之前,项目共同消耗的使用量足以达到组织限制,则可以将项目的速率限制为低于其各自的限制。 |
地区速率限制
限定范围的端点具有自己的速率限制,与应用于未限定范围的端点的速率限制是分开的。 Atlas按范围设置这些限制,即按云提供商和地理位置的组合设置这些限制。有作用域端点的速率限制与无作用域端点的速率限制相同;但是,您必须请求增加作用域端点的 2层级和 3层级限制。相反, Atlas会自动对未限定范围的端点应用升级。
范围终结点也需要付费使用层级。要了解更多信息,请参阅使用层级。
要了解 Geographies 及其终结点,请参阅 Voyage AI 推断的 Geographies。
最佳实践
速率限制可确保均衡、高效地利用 API的资源,防止出现可能影响服务整体性能和可访问性的过多流量。具体来说,限速提供服务以下关键用途:
限频可促进所有用户公平访问 API。如果某个个人或组织生成过多的请求,可能会影响 API 对其他人的性能。通过限制请求速率,我们确保更多的用户可以使用 API,而不会遇到性能问题。
速率限制启用Voyage AI能够有效管理其基础架构上的工作负载。API请求的突然大幅增长可能会给服务器资源造成压力,并导致性能下降。通过建立速率限制,Voyage AI可以有效地为所有用户保持一致且可靠的体验。
它们可防止潜在的API滥用或误用。例如,恶意行为者可能会尝试用过多的请求淹没API,使其过载或中断其服务。通过设置速率限制,Voyage AI可以阻止此类恶意活动。
为了避免和管理速率限制错误,我们建议采用以下最佳实践。
使用大批处理
如果您有许多文档要嵌入,则可以增加每个请求嵌入的文档数量,并通过发送更大的批次来提高总体吞吐量。“批处理”是指要在一次请求中嵌入的文档集合,“批处理大小”是批处理中的文档数量,即文档列表的长度。
例子
假设您想向量化 512 个文档。如果使用了 1 的批处理大小,则这将需要 512 个请求,并可能达到您的 RPM 限制。但是,如果使用批处理大小为 128,则只需要 4 个请求,并且不会触发您的 RPM 限制。您可以通过更改您在请求中提供的文档数量来控制批处理大小,并且使用更大的批处理大小将降低您的总体 RPM 对于给定数量的文档。
在选择批处理大小时,必须考虑API最大批处理大小和令牌。不能超过API最大批处理大小。如果您的文档较长,每个请求的令牌限制可能会限制您只能使用较小的批处理大小。
设置等待期
减少提出请求的频率。为此,您可以调整请求的节奏,最直接的方法是在每个请求之间插入等待时间。
执行指数退避
达到速率限制后进行回退(即,收到 429 错误)。在收到速率限制错误后,您可以等待一段呈指数增长的时间,然后再重试。等待请求成功或达到最大重试次数。
例子
如果初始等待时间为一秒,并且在成功之前连续出现三个速率限制错误,则在每次出现速率限制错误后,您将分别等待一秒、两秒和四秒,然后才能重新发送请求。