

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Anthropic Messages API 的推論
<a name="inference-messages-api"></a>

Anthropic Messages API 使用 Anthropic 請求和回應格式，提供 Claude 模型的原生存取權。您可以在 `bedrock-mantle`和 `bedrock-runtime`端點上使用 Messages API，讓您靈活地選擇適合您應用程式的身分驗證和整合樣式。


| **端點** | **基本 URL** | **使用案例** | 
| --- | --- | --- | 
| bedrock-mantle | https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages | 建議用於新應用程式。支援 API 金鑰身分驗證 和 [Workspaces （與 Anthropic 相容）](workspaces.md)。 | 
| bedrock-runtime | https://bedrock-runtime.{region}.amazonaws.com | 搭配現有的 AWS SDK 整合和調用記錄使用 。 | 

## 支援的區域
<a name="inference-messages-api-supported"></a>

訊息 API 可在所有支援 區域的`bedrock-mantle`端點上使用 `bedrock-mantle`（請參閱 [支援的區域和端點](bedrock-mantle.md#bedrock-mantle-supported))。在`bedrock-runtime`端點上，它可用於可使用 Claude 模型的所有區域。如需詳細資訊，請參閱 [區域可用性](models-region-compatibility.md)。

## 先決條件
<a name="inference-messages-api-prereq"></a>

使用 Messages API 之前，請確定您有下列項目：
+ **模型存取** – 在 Amazon Bedrock 主控台中請求存取 Claude 模型。請參閱 [請求存取模型](model-access.md)。
+ **身分驗證** – 取決於端點：
  + `bedrock-mantle` – 使用 Amazon Bedrock API 金鑰 （請參閱[API 金鑰](api-keys.md)) 或 AWS SigV4 登入資料。
  + `bedrock-runtime` – 透過 AWS SDK 使用 AWS SigV4 登入資料 (boto3 等）。
+ **人類版本標頭** – 所有請求都需要 API 版本：
  + `bedrock-mantle`：設定為 HTTP `anthropic-version: 2023-06-01` 標頭。
  + `bedrock-runtime`：在請求內文`"anthropic_version": "bedrock-2023-05-31"`中設定 。

## 基本請求
<a name="inference-messages-api-basic"></a>

若要將基本訊息傳送至 Claude 模型，請選擇您偏好方法的標籤，然後遵循下列步驟：

------
#### [ bedrock-mantle (curl) ]

```
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
  -H "x-api-key: $BEDROCK_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic.claude-sonnet-4-6-v1",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Explain quantum computing in one sentence."}
    ]
  }'
```

------
#### [ bedrock-runtime (Python) ]

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model(
    modelId="anthropic.claude-sonnet-4-6-v1",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1024,
        "messages": [
            {"role": "user", "content": "Explain quantum computing in one sentence."}
        ]
    })
)

result = json.loads(response["body"].read())
print(result["content"][0]["text"])
```

------
#### [ bedrock-runtime (curl) ]

使用 AWS CLI 叫用模型：

```
aws bedrock-runtime invoke-model \
  --model-id anthropic.claude-sonnet-4-6-v1 \
  --body '{
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "Explain quantum computing in one sentence."}
    ]
  }' \
  --cli-binary-format raw-in-base64-out \
  output.json
```

------

## 串流回應
<a name="inference-messages-api-streaming"></a>

若要在產生回應權杖時逐步接收回應權杖，請選擇您偏好方法的標籤，然後遵循以下步驟：

------
#### [ bedrock-mantle (curl) ]

```
curl -X POST https://bedrock-mantle.us-east-1.api.aws/anthropic/v1/messages \
  -H "x-api-key: $BEDROCK_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic.claude-sonnet-4-6-v1",
    "max_tokens": 1024,
    "stream": true,
    "messages": [
        {"role": "user", "content": "Write a short poem about cloud computing."}
    ]
  }'
```

------
#### [ bedrock-runtime (Python) ]

```
import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.invoke_model_with_response_stream(
    modelId="anthropic.claude-sonnet-4-6-v1",
    body=json.dumps({
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1024,
        "messages": [
            {"role": "user", "content": "Write a short poem about cloud computing."}
        ]
    })
)

for event in response["body"]:
    chunk = json.loads(event["chunk"]["bytes"])
    if chunk["type"] == "content_block_delta":
        print(chunk["delta"]["text"], end="")
```

------

## 支援的功能
<a name="inference-messages-api-features"></a>

Messages API 支援 Claude 模型的下列進階功能：
+ **系統提示** – 使用 `system` 參數設定模型行為。
+ **多轉對話** – 傳遞交替`user`和`assistant`訊息。
+ **工具使用** – 定義模型可以呼叫的工具。請參閱 [使用工具完成 Amazon Bedrock 模型回應](tool-use.md)。
+ **視覺** – 將`content`陣列中的影像與文字一起傳送。
+ **延伸思考** – chain-of-thought推理。請參閱 [使用模型推理來增強模型回應](inference-reasoning.md)。
+ **提示快取** – 快取常用的內容，以減少延遲和成本。

如需完整的訊息 API 請求和回應格式，包括所有參數和功能，請參閱 [Anthropic Claude 訊息 API](model-parameters-anthropic-claude-messages.md)。

## 計數字符
<a name="inference-messages-api-count-tokens"></a>

若要在傳送請求以進行推論之前計算請求將使用的輸入字符數量，請使用`bedrock-mantle`端點上的 Anthropic `count_tokens` 路徑。這是 Claude 模型唯一支援的字符計數路徑，不適用於`bedrock-runtime`具有區域特定端點的 ，包括僅使用跨區域推論 (CRIS) 啟動的 Claude 模型。如需詳細資訊和範例，請參閱[使用 bedrock-mantle 端點計算權杖](count-tokens.md#count-tokens-mantle)。