

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Bedrock 的配额
<a name="quotas"></a>

您的 Amazon Bedrock AWS 账户 有默认配额，以前称为限制。要查看 Amazon Bedrock 的服务配额，请执行以下操作之一：
+ 按照[查看服务配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/gs-request-quota.html)中的步骤操作，然后选择 **Amazon Bedrock** 作为服务。
+ 参阅《 AWS 一般参考》中的 [Amazon Bedrock 服务配额](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock)。

Amazon Bedrock 中的模型推理受词元使用配额控制。部分模型使用词元的比率较高。有关这些比率以及如何优化词元使用的更多信息，请参阅 [Amazon Bedrock 中词元的计算方式](quotas-token-burndown.md)。

为了保持服务的性能并确保适当使用 Amazon Bedrock，分配给账户的默认配额可能会根据地区因素、付款历史记录、欺诈性使用、[配额增加请求](quotas-increase.md)的 and/or 批准进行更新。

**Topics**
+ [

# Amazon Bedrock 中词元的计算方式
](quotas-token-burndown.md)
+ [

# 在运行推理之前，通过计算词元来监控您的词元使用情况
](count-tokens.md)
+ [

# 请求增加 Amazon Bedrock 配额
](quotas-increase.md)

# Amazon Bedrock 中词元的计算方式
<a name="quotas-token-burndown"></a>

当您运行模型推理时，可以处理的词元数量存在配额，具体取决于您使用的 Amazon Bedrock 模型。请查看与词元配额相关的以下术语：


****  

| 租期 | 定义 | 
| --- | --- | 
| InputTokenCount | A CloudWatch mazon Bedrock 运行时指标，表示作为模型输入提供的请求中的令牌数量。 | 
| OutputTokenCount |  CloudWatch Amazon Bedrock 运行时指标，表示模型为响应请求而生成的令牌数量。 | 
| CacheReadInputTokens |  CloudWatch Amazon Bedrock 运行时指标，表示成功从缓存中检索而非模型重新处理的输入令牌的数量。如果您不使用[提示缓存](prompt-caching.md)，则此值为 0。 | 
| CacheWriteInputTokens |  CloudWatch Amazon Bedrock 运行时指标，表示成功写入缓存的输入令牌的数量。如果您不使用[提示缓存](prompt-caching.md)，则此值为 0。 | 
| 每分钟词元数（TPM） |  AWS 在模型级别为一分钟内可以使用的令牌数量（包括输入和输出）设置的配额。 | 
| 每日词元数（TPD） |  AWS 在模型级别对一天内可以使用的代币数量（包括输入和输出）设置的配额。默认情况下，此值为 TPM x 24 x 60。但是，新的配额减少 AWS 账户 了。 | 
| 每分钟请求数（RPM） |  AWS 在模型级别为你在一分钟内可以发送的请求数量设定的配额。 | 
| max\$1tokens | 您在请求中提供的参数，用于设置模型可以生成的最大输出词元数。 | 
| 消耗比率 | 输入和输出词元转换为词元配额使用量的比率，用于系统节流。 | 

Anthropic Claude 模型版本 3.7 及更高版本的输出代币消耗率为 **5 倍（1 个输出代币**消耗配额中的 5 个代币）：

对于所有其他模型，消耗比率为 **1:1**（在配额中，1 个输出词元消耗 1 个词元）。

**Topics**
+ [

## 了解词元配额管理
](#quotas-token-burndown-management)
+ [

## 了解 max\$1tokens 参数的影响
](#quotas-token-burndown-max-tokens)
+ [

## 优化 max\$1tokens 参数
](#quotas-token-burndown-max-tokens-optimize)

## 了解词元配额管理
<a name="quotas-token-burndown-management"></a>

当您发出请求时，词元将从您的 TPM 和 TPD 配额中扣除。计算分为以下阶段：
+ **请求开始时**：假设您没有超出 RPM 配额，将从您的配额中扣除以下总额。如果您超出配额，请求会被节流。

  ```
  Total input tokens + max_tokens
  ```
+ **处理期间**：请求消耗的配额会定期调整，以涵盖生成的实际输出词元数。
+ **在请求结束时**：请求消耗的词元总数将按以下方式计算，所有未使用的词元将补充到您的配额：

  ```
  InputTokenCount + CacheWriteInputTokens + (OutputTokenCount x burndown rate)
  ```

  如果未使用[提示缓存](prompt-caching.md)，则 `CacheWriteInputTokens` 为 0。`CacheReadInputTokens` 不参与此计算。

**注意**  
您只需根据词元的实际使用量付费。  
例如，如果您使用 Anthropic Claude Sonnet 4 并发送一个包含 1000 个输入词元的请求，而该模型生成一个等效于 100 个词元的响应：  
系统会从您的 TPM 和 TPD 配额中扣除 **1500 个词元**（1000 \$1 100 x 5）。
您只需为 **1100 个词元**付费。

## 了解 max\$1tokens 参数的影响
<a name="quotas-token-burndown-max-tokens"></a>

`max_tokens` 值将在每次请求开始时从您的配额中扣除。如果您比预期更早达到 TPM 配额上限，请尝试降低 `max_tokens`，使其更接近您实际生成内容的规模。

以下场景提供了一些示例，用来说明在使用输出词元消耗比率为 5 倍的模型时，对于已完成的请求，将如何计算配额扣除。

### 场景 1：max\$1tokens 值过高
<a name="quotas-token-burndown-max-tokens-too-high"></a>

参数设置如下：
+ **InputTokenCount:** 3,000
+ **CacheReadInputTokens:** 4,000
+ **CacheWriteInputTokens:** 1,000
+ **OutputTokenCount:** 1,000
+ **max\$1tokens：**32000

配额扣除情况如下：
+ **发出请求时的初始扣除额：**40000（= 3000 \$1 4000 \$1 1000 \$1 32000）
+ **生成响应后的最终调整扣除额：**9000（= 3000 \$1 1000 \$1 1000 x 5）

在本场景中，由于 `max_tokens` 参数设置过高，可发起的并发请求数量减少。这会降低请求并发性、吞吐量和配额利用率，因为很快就会达到 TPM 配额容量。

### 场景 2：max\$1tokens 值经过优化
<a name="quotas-token-burndown-max-tokens-optimized"></a>

参数设置如下：
+ **InputTokenCount:** 3,000
+ **CacheReadInputTokens:** 4,000
+ **CacheWriteInputTokens:** 1,000
+ **OutputTokenCount:** 1,000
+ **max\$1tokens：**1250

配额扣除情况如下：
+ **发出请求时的初始扣除额：**9250（= 3000 \$1 4000 \$1 1000 \$1 1250）
+ **生成响应后的最终调整扣除额：**9000（= 3000 \$1 1000 \$1 1000 x 5）

在本场景中，`max_tokens` 参数经过优化，因为初始扣除额仅略高于最终调整后扣除额。这有助于提高请求并发性、吞吐量和配额利用率。

## 优化 max\$1tokens 参数
<a name="quotas-token-burndown-max-tokens-optimize"></a>

通过优化 `max_tokens` 参数，您可以有效利用分配的配额容量。为了帮助您就此参数做出决定，您可以使用亚马逊，它会自动从 AWS 服务中收集指标 CloudWatch，包括Amazon Bedrock中的代币使用数据。

词元记录在 `InputTokenCount` 和 `OutputTokenCount` 运行时指标中（有关更多指标，请参阅 [Amazon Bedrock 运行时指标](monitoring.md#runtime-cloudwatch-metrics)）。

要使用 CloudWatch 监控来告知您对`max_tokens`参数的决定，请在中执行以下操作 AWS 管理控制台：

1. 通过 [https://console.aws.amazon.com/cloudwatch](https://console.aws.amazon.com/cloudwatch) 登录亚马逊 CloudWatch 控制台。

1. 从左侧导航窗格中选择**控制面板**。

1. 选择**自动控制面板**选项卡。

1. 选择 **Bedrock**。

1. 在**按模型统计的词元数**控制面板中，选择展开图标。

1. 为指标选择持续时间和范围参数，以便应对峰值使用量。

1. 在标记为**总和**的下拉菜单中，您可以选择不同的指标来观察词元使用情况。查看这些指标可以为设置 `max_tokens` 值提供依据。

# 在运行推理之前，通过计算词元来监控您的词元使用情况
<a name="count-tokens"></a>

运行模型推理时，您在输入中发送的词元数量，会计入到请求的成本中，还会计入到您每分钟和每天可以使用的词元配额中。该 [CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html)API 可帮助您在向基础模型发送请求之前估算令牌使用情况，方法是返回在推理请求中向模型发送相同输入时将使用的令牌数量。

**注意**  
使用 [CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html)API 不会产生任何费用。

词元计数特定于模型，因为不同的模型使用不同的词元计算策略。此操作返回的词元计数，与向模型发送相同输入来运行推理时将收费的词元计数相符。

您可以使用 `CountTokens` API 来执行以下操作：
+ 在发送推理请求之前估算成本。
+ 优化提示以适应词元限制。
+ 规划应用程序中的词元使用量。

**Topics**
+ [

## 支持词元计数的模型和区域
](#count-tokens-supported)
+ [

## 计算请求中的词元
](#count-tokens-use)
+ [

## 尝试示例
](#count-tokens-example)

## 支持词元计数的模型和区域
<a name="count-tokens-supported"></a>

下表显示了基础模型对代币计数的支持：


| Provider | 模型 | 模型 ID | 支持单区域模型 | 
| --- | --- | --- | --- | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  | 
| Anthropic | Claude 3.5 Sonnet | anthropic.claude-3-5-sonnet-20240620-v1:0 |  ap-northeast-1 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-west-2  | 
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |  ap-southeast-2 us-west-2  | 
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 |  eu-west-2  | 
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 |  | 
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |  | 

## 计算请求中的词元
<a name="count-tokens-use"></a>

要计算推理请求中输入令牌的数量，请发送带有 [Amazon Bedrock 运行时终端节点](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt)的[CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html)请求，在标题中指定模型，在字段中指定要计算令牌的输入。`body`该`body`字段的值取决于您是在计算输入令牌还是 C [onverse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) 请求[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)的输入标记：
+ 对于 `InvokeModel` 请求，`body` 的格式是表示一个 JSON 对象的字符串，其格式取决于您指定的模型。
+ 对于 `Converse` 请求，`body` 的格式是一个 JSON 对象，指定对话中包含的 `messages` 和 `system` 提示。

## 尝试示例
<a name="count-tokens-example"></a>

此部分中的示例让您可以对通过 `InvokeModel` 和 `Converse` 发出的 Anthropic 和 Claude 3 Haiku 计算词元数量。

**先决条件**
+ 您已下载适用于 Python (Boto3) 的 AWS SDK并且您的配置已设置为可以自动识别您的凭据和默认AWS区域。
+ 您的 IAM 身份有权执行以下操作（有关更多信息，请参阅 [Amazon Bedrock 的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html)）：
  + 基岩:CountTokens —允许使用. `CountTokens` 
  + 基岩:InvokeModel — 允许使用`InvokeModel`和。`Converse`应至少将范围限*arn:\$1\$1Partition\$1:bedrock:\$1\$1Region\$1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0*定为。

要尝试计算[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)请求的令牌，请运行以下 Python 代码：

```
import boto3
import json

bedrock_runtime = boto3.client("bedrock-runtime")

input_to_count = json.dumps({
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 500,
    "messages": [
        {
            "role": "user",
            "content": "What is the capital of France?"
        }
    ]
})

response = bedrock_runtime.count_tokens(
    modelId="anthropic.claude-3-5-haiku-20241022-v1:0",
    input={
        "invokeModel": {
            "body": input_to_count
        }
    }
)

print(response["inputTokens"])
```

要尝试计算用于 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) 请求的词元，请运行以下 Python 代码：

```
import boto3
import json 

bedrock_runtime = boto3.client("bedrock-runtime")

input_to_count = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "text": "What is the capital of France?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": [
                {
                    "text": "The capital of France is Paris."
                }
            ]
        },
        {
            "role": "user",
            "content": [
                {
                    "text": "What is its population?"
                }
            ]
        }
    ],
    "system": [
        {
            "text": "You're an expert in geography."
        }
    ]
}

response = bedrock_runtime.count_tokens(
    modelId="anthropic.claude-3-5-haiku-20241022-v1:0",
    input={
        "converse": input_to_count
    }
)

print(response["inputTokens"])
```

# 请求增加 Amazon Bedrock 配额
<a name="quotas-increase"></a>

申请增加账户配额的步骤取决于 [Amazon Bedrock 服务配额](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#limits_bedrock)中配额表的**可调整**列中的值：
+ 如果某个配额被标记为**是**，则可以按照《服务配额用户指南》中[请求增加配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)的步骤进行调整。
+ 对于任何模型，您都可以同时请求增加以下配额：
  + *\$1\$1model\$1* 的跨区域 InvokeModel 每分钟词元数
  + *\$1\$1model\$1* 的跨区域 InvokeModel 每分钟请求数
  + *\$1\$1model\$1* 的按需 InvokeModel 每分钟词元数
  + *\$1\$1model\$1* 的按需 InvokeModel 每分钟请求数
  + *\$1\$1model\$1* 的模型调用每天最大词元数

  要请求增加这些配额的任意组合，请按照《服务配额用户指南》中[请求增加配额](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)的步骤，请求增加 ***\$1\$1model\$1* 配额的跨区域 InvokeModel 每分钟词元数**。完成申请后，支持团队将与您联系，并为您提供增加其他四个配额的选项。
**注意**  
由于需求过大，将优先考虑那些产生的流量消耗了现有配额分配的客户。如果您不符合此条件，将可能拒绝您的请求。