Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Inférence à l'aide de l'API Anthropic Messages
L'API Anthropic Messages fournit un accès natif aux modèles Claude à l'aide du format de requête et de réponse Anthropic. Vous pouvez utiliser l'API Messages à la fois sur les bedrock-mantle terminaux bedrock-runtime et sur les terminaux. Pour les nouvelles applications, nous recommandons le bedrock-runtime terminal.
| Point de terminaison |
URL de base |
Cas d'utilisation |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com/anthropic |
Recommandé pour les nouvelles applications. Utilise les intégrations du AWS SDK, l'authentification IAM et la journalisation des appels. |
bedrock-mantle |
https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages |
Prend en charge l'authentification par clé d'API Amazon Bedrock et. Espaces de travail () Anthropic-compatible |
Régions prises en charge
L'API Messages est disponible sur le bedrock-runtime terminal dans toutes les régions où les modèles Claude sont disponibles. Consultez Disponibilité régionale par modèle pour plus de détails. Sur le bedrock-mantle terminal, il est disponible dans toutes les régions qui le prennent en charge bedrock-mantle (voirRégions et terminaux pris en charge).
Conditions préalables
Avant d'utiliser l'API Messages, assurez-vous de disposer des éléments suivants :
-
Accès aux modèles : demandez l'accès aux modèles Claude dans la console Amazon Bedrock. Consultez Demander l'accès aux modèles.
-
Authentification : dépend du terminal :
-
bedrock-runtime— Utilisez les informations d'identification AWS Sigv4 via le AWS SDK (boto3, etc.), une clé d'API Amazon Bedrock (voirclés d’API) ou un jeton Bedrock bearer à court terme généré à partir des informations d'identification via la bibliothèque aws-bedrock-token-generator. AWS https://pypi.org/project/aws-bedrock-token-generator/
-
bedrock-mantle— Utilisez une clé d'API Amazon Bedrock (voirclés d’API) ou des informations d'identification AWS SIGv4.
-
En-tête de version anthropique — Toutes les demandes nécessitent une version d'API :
-
bedrock-runtime: défini "anthropic_version": "bedrock-2023-05-31" dans le corps de la requête lors de l'appelInvokeModel. Le Anthropic SDK ajoute automatiquement l'en-tête requis lors de l'utilisationbase_url=https://bedrock-runtime.{region}.amazonaws.com/anthropic.
-
bedrock-mantle: défini anthropic-version: 2023-06-01 comme en-tête HTTP.
Demande de base
Pour envoyer un message de base à un modèle Claude, choisissez l'onglet correspondant à votre méthode préférée, puis procédez comme suit :
- bedrock-runtime (Python, Anthropic SDK)
-
Utilisez le Anthropic SDK sur l'/anthropicitinéraire du bedrock-runtime terminal avec un jeton Bedrock bearer à court terme généré par aws-bedrock-token-generator : https://pypi.org/project/aws-bedrock-token-generator/
from anthropic import Anthropic
from aws_bedrock_token_generator import provide_token
token = provide_token(region="us-east-1")
client = Anthropic(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/anthropic",
api_key=token,
)
response = client.messages.create(
model="global.anthropic.claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
)
print(response.content[0].text)
- bedrock-runtime (Python, boto3)
-
import boto3
import json
client = boto3.client("bedrock-runtime", region_name="us-east-1")
response = client.invoke_model(
modelId="anthropic.claude-sonnet-5",
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 (AWS CLI)
-
Utilisez la AWS CLI pour invoquer le modèle :
aws bedrock-runtime invoke-model \
--model-id anthropic.claude-sonnet-5 \
--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
- bedrock-runtime (curl)
-
Vous pouvez appeler bedrock-runtime directement avec curl en signant la demande avec AWS SIGv4. L'exemple ci-dessous utilise l'--aws-sigv4indicateur intégré de curl (disponible dans curl 7.75.0 et versions ultérieures) :
curl -X POST \
"https://bedrock-runtime.us-east-1.amazonaws.com/model/anthropic.claude-sonnet-5/invoke" \
-H "Content-Type: application/json" \
--aws-sigv4 "aws:amz:us-east-1:bedrock" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
-d '{
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}'
Si vous utilisez des informations d'identification temporaires de AWS STS (par exemple, un rôle supposé), transmettez également le jeton de session en l'ajoutant -H "X-Amz-Security-Token: $AWS_SESSION_TOKEN" à la demande. Dans la plupart des cas d'utilisation, nous recommandons les AWS SDK ou la CLI, qui gèrent automatiquement la signature des demandes et l'actualisation des informations d'identification.
- bedrock-runtime (curl, API key)
-
Vous pouvez également appeler bedrock-runtime avec une clé d'API Amazon Bedrock en utilisant l' Anthropic-native /anthropic/v1/messagesitinéraire, comme bedrock-mantle suit :
curl -X POST https://bedrock-runtime.us-east-1.amazonaws.com/anthropic/v1/messages \
-H "x-api-key: $AWS_BEARER_TOKEN_BEDROCK" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "us.anthropic.claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}'
- 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-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
}'
Diffusez les réponses
Pour recevoir les jetons de réponse de manière incrémentielle au fur et à mesure de leur génération, choisissez l'onglet correspondant à votre méthode préférée, puis procédez comme suit :
- bedrock-runtime (Python, Anthropic SDK)
-
from anthropic import Anthropic
from aws_bedrock_token_generator import provide_token
token = provide_token(region="us-east-1")
client = Anthropic(
base_url="https://bedrock-runtime.us-east-1.amazonaws.com/anthropic",
api_key=token,
)
with client.messages.stream(
model="global.anthropic.claude-sonnet-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Write a short poem about cloud computing."}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
- bedrock-runtime (Python, boto3)
-
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-5",
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="")
- bedrock-runtime (curl, API key)
-
curl -X POST https://bedrock-runtime.us-east-1.amazonaws.com/anthropic/v1/messages \
-H "x-api-key: $AWS_BEARER_TOKEN_BEDROCK" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "us.anthropic.claude-sonnet-5",
"max_tokens": 1024,
"stream": true,
"messages": [
{"role": "user", "content": "Write a short poem about cloud computing."}
]
}'
- 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-5",
"max_tokens": 1024,
"stream": true,
"messages": [
{"role": "user", "content": "Write a short poem about cloud computing."}
]
}'
Fonctionnalités prises en charge
Outre les sections Pensée étendue, Pensée adaptative, Sorties structurées, Compaction, Crédit de secours pour les demandes refusées (version bêta) et messages Mid-conversation système ci-dessus, l'API Messages prend en charge les fonctionnalités suivantes avec les modèles Claude :
-
Invitations système : définissez le comportement du modèle à l'aide d'un system paramètre.
-
Multi-turn conversations — Passez des assistant messages user en alternance.
-
Utilisation de l'outil : définissez les outils que le modèle peut appeler. Consultez Utilisation d’un outil pour compléter une réponse au modèle Amazon Bedrock.
-
Vision — Envoyez des images dans le content tableau à côté du texte.
-
Mise en cache rapide : mettez en cache le contexte fréquemment utilisé pour réduire la latence et les coûts.
Pour la référence complète des champs de requête et de réponse de l'API Messages, consultezDemande et réponse.
Comptez les jetons
Pour compter le nombre de jetons d'entrée qu'une demande consommerait avant de l'envoyer pour inférence, utilisez le count_tokens chemin anthropique sur le bedrock-mantle point de terminaison. Il s'agit du seul chemin de comptage de jetons pris en charge pour les modèles Claude qui ne sont pas disponibles bedrock-runtime avec un Region-specific point de terminaison, y compris les modèles Claude qui se lancent uniquement avec l'inférence interrégionale (CRIS). Pour plus de détails et un exemple, reportez-vous à la section Comptez les jetons à l'aide du point de terminaison du manteau rocheux.