View a markdown version of this page

Inferenza utilizzando 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 utilizzando l'API Anthropic Messages

L'API Anthropic Messages fornisce l'accesso nativo ai modelli di 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 eSpazi 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 modello. 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 disporre di 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:

  • 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: Imposta 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 metodo che preferisci, quindi segui i passaggi:

Nota

La AWS CLI non fornisce un comando nativo per l'API bedrock-mantle Messages. Usa l'AnthropicSDK o un client HTTP come curl.

bedrock-runtime (Python, Anthropic SDK)

Usa l'AnthropicSDK sul /anthropic percorso dell'bedrock-runtimeendpoint con un token Bedrock bearer a breve termine generato da 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)

Usa la AWS 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 utilizzi credenziali temporanee di AWS STS (ad esempio, un ruolo assunto), passa 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 la Anthropic-native /anthropic/v1/messages route, proprio comebedrock-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 (Python, Anthropic SDK)

Installa l'AnthropicSDK e BEDROCK_API_KEY impostalo sulla tua chiave API Amazon Bedrock.

import os from anthropic import Anthropic client = Anthropic( base_url="https://bedrock-mantle.us-east-1.api.aws/anthropic", api_key=os.environ["BEDROCK_API_KEY"], ) response = client.messages.create( model="anthropic.claude-sonnet-5", max_tokens=1024, messages=[ {"role": "user", "content": "Explain quantum computing in one sentence."} ], ) print(response.content[0].text)
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 (Python, Anthropic SDK)
import os from anthropic import Anthropic client = Anthropic( base_url="https://bedrock-mantle.us-east-1.api.aws/anthropic", api_key=os.environ["BEDROCK_API_KEY"], ) with client.messages.stream( model="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-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 Output, Compaction, Fallback credit for Reflused Requests (beta) e Mid-conversation System messages, l'API Messages supporta le seguenti funzionalità con i modelli Claude:

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

  • Multi-turn conversazioni — Passa messaggi alternati. user assistant

  • Uso dell'utensile: definisce 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.

  • Memorizzazione rapida nella cache: 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 tra regioni (CRIS). Per informazioni dettagliate e un esempio, consulta Conta i token usando l'endpoint bedrock-mantle.