View a markdown version of this page

Inferenza tramite l'API Anthropic Messages - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inferenza tramite l'API Anthropic Messages

L'API Anthropic Messages fornisce l'accesso nativo ai modelli Claude utilizzando il formato di richiesta e risposta Anthropic. Puoi utilizzare l'API Messages sia sugli endpoint che sugli endpoint. bedrock-runtime bedrock-mantle Per le nuove applicazioni, consigliamo l'bedrock-runtimeendpoint.

Endpoint URL di base Caso d'uso
bedrock-runtime https://bedrock-runtime.{region}.amazonaws.com/anthropic Consigliato per nuove applicazioni. Utilizza integrazioni AWS SDK, autenticazione IAM e registrazione delle chiamate.
bedrock-mantle https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages Supporta l'autenticazione con chiave API Amazon Bedrock e. Spazi di lavoro () Anthropic-compatible

Regioni supportate

L'API Messages è disponibile sull'bedrock-runtimeendpoint in tutte le regioni in cui sono disponibili i modelli Claude. Per informazioni dettagliate, vedi Disponibilità regionale per modelli. Sull'bedrock-mantleendpoint, è disponibile in tutte le regioni che supportano bedrock-mantle (vedi). Regioni ed endpoint supportati

Prerequisiti

Prima di utilizzare l'API Messages, assicurati di avere quanto segue:

  • Accesso ai modelli: richiedi l'accesso ai modelli Claude nella console Amazon Bedrock. Consulta Richiedi l'accesso ai modelli.

  • Autenticazione: dipende dall'endpoint:

    • bedrock-runtime— Usa le credenziali AWS Sigv4 tramite l' AWS SDK (boto3, ecc.), una chiave API Amazon Bedrock (vediChiavi API) o un token al portatore Bedrock a breve termine generato dalle credenziali con la libreria aws-bedrock-token-generator. AWS https://pypi.org/project/aws-bedrock-token-generator/

    • bedrock-mantle— Utilizza una chiave API Amazon Bedrock (vedi) o le credenziali SigV4. Chiavi API AWS

  • Intestazione della versione antropica: tutte le richieste richiedono una versione API:

    • bedrock-runtime: impostato "anthropic_version": "bedrock-2023-05-31" nel corpo della richiesta durante la chiamata. InvokeModel L'AnthropicSDK aggiunge automaticamente l'intestazione richiesta durante l'utilizzo. base_url=https://bedrock-runtime.{region}.amazonaws.com/anthropic

    • bedrock-mantle: impostato anthropic-version: 2023-06-01 come intestazione HTTP.

Richiesta di base

Per inviare un messaggio di base a un modello Claude, scegli la scheda corrispondente al tuo metodo preferito, quindi segui i passaggi:

bedrock-runtime (Python, Anthropic SDK)

Usa l'AnthropicSDK rispetto al /anthropic percorso dell'bedrock-runtimeendpoint con un token Bedrock bearer a breve termine generato da 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 per richiamare il modello:

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)

Puoi chiamare bedrock-runtime direttamente con curl firmando la richiesta con SIGv4. AWS L'esempio seguente utilizza il --aws-sigv4 flag integrato di curl (disponibile in curl 7.75.0 e versioni successive):

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."} ] }'
Nota

Se utilizzate credenziali temporanee di AWS STS (ad esempio, un ruolo presunto), passate anche il token di sessione aggiungendolo alla richiesta. -H "X-Amz-Security-Token: $AWS_SESSION_TOKEN" Per la maggior parte dei casi d'uso, consigliamo gli AWS SDK o la CLI, che gestiscono automaticamente la firma delle richieste e l'aggiornamento delle credenziali.

bedrock-runtime (curl, API key)

Puoi anche chiamare bedrock-runtime con una chiave API Amazon Bedrock utilizzando il Anthropic-native /anthropic/v1/messages percorso, proprio come: 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."} ] }'

Trasmetti le risposte

Per ricevere i token di risposta in modo incrementale man mano che vengono generati, scegli la scheda corrispondente al tuo metodo preferito, quindi segui i passaggi:

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."} ] }'

Funzionalità supportate

Oltre alle precedenti sezioni Extended thinking, Adaptive thinking, Structured outputs, Compaction, Fallback credit for refused request (beta) e Mid-conversation System messages, l'API Messages supporta le seguenti funzionalità con i modelli Claude:

  • Richieste di sistema: imposta il comportamento del modello con un parametro. system

  • Multi-turn conversazioni — Passa messaggi e alternanze. user assistant

  • Uso degli strumenti: definisci gli strumenti che il modello può chiamare. Consulta Utilizzo di uno strumento per completare una risposta al modello Amazon Bedrock.

  • Visione: invia immagini nell'contentarray insieme al testo.

  • Prompt caching: memorizza nella cache il contesto utilizzato di frequente per ridurre latenza e costi.

Per il riferimento completo al campo di richiesta e risposta dell'API Messages, consulta. Richiesta e risposta

Conta i token

Per contare il numero di token di input che una richiesta consumerebbe prima di inviarla per l'inferenza, usa il count_tokens percorso Anthropic sull'endpoint. bedrock-mantle Questo è l'unico percorso di conteggio dei token supportato per i modelli Claude che non sono disponibili su un Region-specific endpoint, inclusi i modelli Claude che vengono avviati solo bedrock-runtime con l'inferenza interregionale (CRIS). Per informazioni dettagliate e un esempio, consulta Conta i token usando l'endpoint bedrock-mantle.