Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Inferencia mediante la API de mensajes antrópicos
La API de Anthropic Messages proporciona acceso nativo a los modelos de Claude mediante el formato de solicitud y respuesta de Anthropic. Puedes usar la API de mensajes tanto en los terminales como en bedrock-runtime los bedrock-mantle terminales. Para las aplicaciones nuevas, recomendamos el bedrock-runtime punto final.
| Punto de conexión |
URL base |
Caso de uso |
bedrock-runtime |
https://bedrock-runtime.{region}.amazonaws.com/anthropic |
Recomendado para aplicaciones nuevas. Utiliza integraciones de AWS SDK, autenticación de IAM y registro de invocaciones. |
bedrock-mantle |
https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages |
Admite la autenticación de claves de API de Amazon Bedrock y. Espacios de trabajo () Anthropic-compatible |
Regiones admitidas
La API de mensajes está disponible en los bedrock-runtime terminales de todas las regiones en las que están disponibles los modelos Claude. Para obtener más información, consulte Disponibilidad regional por modelos. En el bedrock-mantle punto final, está disponible en todas las regiones compatibles bedrock-mantle (consulteRegiones y puntos finales compatibles).
Requisitos previos
Antes de usar la API de mensajes, asegúrate de tener lo siguiente:
-
Acceso a modelos: solicite el acceso a los modelos Claude en la consola de Amazon Bedrock. Consulte Solicitar acceso a los modelos.
-
Autenticación: depende del punto final:
-
bedrock-runtime— Utilice las credenciales de AWS SigV4 a través del AWS SDK (boto3, etc.), una clave de API de Amazon Bedrock (consulteClaves de API) o un token Bedrock Bearer de corta duración generado a partir de las credenciales de la biblioteca aws-bedrock-token-generator. AWS https://pypi.org/project/aws-bedrock-token-generator/
-
bedrock-mantle— Utilice una clave de API de Amazon Bedrock (consulte) o credenciales de SigV4. Claves de API AWS
-
Encabezado de versión antrópica: todas las solicitudes requieren una versión de API:
-
bedrock-runtime: Se establece "anthropic_version": "bedrock-2023-05-31" en el cuerpo de la solicitud al llamarInvokeModel. El Anthropic SDK agrega el encabezado requerido automáticamente cuando se usabase_url=https://bedrock-runtime.{region}.amazonaws.com/anthropic.
-
bedrock-mantle: Se establece anthropic-version: 2023-06-01 como encabezado HTTP.
Solicitud básica
Para enviar un mensaje básico a una modelo de Claude, elija la pestaña correspondiente al método que prefiera y, a continuación, siga los pasos:
- bedrock-runtime (Python, Anthropic SDK)
-
Usa el Anthropic SDK según la /anthropic ruta del bedrock-runtime punto final con un token de portador de Bedrock a corto plazo generado por 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)
-
AWS Usa la CLI para invocar el modelo:
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)
-
Puedes llamar bedrock-runtime directamente con curl firmando la solicitud con AWS SIGv4. El siguiente ejemplo usa el --aws-sigv4 indicador integrado de curl (disponible en curl 7.75.0 y versiones posteriores):
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 utilizas credenciales temporales de AWS STS (por ejemplo, un rol asumido), añade -H "X-Amz-Security-Token: $AWS_SESSION_TOKEN" también el token de sesión a la solicitud. Para la mayoría de los casos de uso, recomendamos los AWS SDK o la CLI, que gestionan automáticamente la firma de las solicitudes y la actualización de las credenciales.
- bedrock-runtime (curl, API key)
-
También puede llamar bedrock-runtime con una clave de API de Amazon Bedrock utilizando la Anthropic-native /anthropic/v1/messages ruta, del mismo modo: bedrock-mantle
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."}
]
}'
Transmite las respuestas
Para recibir los tokens de respuesta de forma incremental a medida que se generan, elige la pestaña correspondiente al método que prefieras y, a continuación, sigue estos pasos:
- 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."}
]
}'
Características admitidas
Además de las secciones anteriores sobre pensamiento extendido, pensamiento adaptativo, resultados estructurados, compactación, crédito alternativo por solicitudes rechazadas (beta) y mensajes Mid-conversation del sistema, la API de mensajes admite las siguientes funciones en los modelos Claude:
-
Indicaciones del sistema: establece el comportamiento del modelo con un parámetro. system
-
Multi-turn conversaciones: alternancia de pases user y assistant mensajes.
-
Uso de herramientas: defina las herramientas a las que puede recurrir el modelo. Consulte Uso de una herramienta para completar una respuesta modelo de Amazon Bedrock.
-
Visión: envíe imágenes de la content matriz junto con texto.
-
Almacenamiento en caché rápido: almacene en caché el contexto de uso frecuente para reducir la latencia y el costo.
Para ver la referencia completa de los campos de solicitud y respuesta de la API de Mensajes, consultaSolicitud y respuesta.
Cuenta los tokens
Para contar la cantidad de tokens de entrada que consumiría una solicitud antes de enviarla para su inferencia, utilice la count_tokens ruta antrópica del bedrock-mantle punto final. Esta es la única ruta de recuento de fichas compatible con los modelos Claude que no están disponibles bedrock-runtime con un Region-specific punto final, incluidos los modelos Claude que se lanzan únicamente con inferencia interregional (CRIS). Para obtener información detallada y un ejemplo, consulte Cuenta los tokens usando el punto final bedrock-mantle.