View a markdown version of this page

Inferenz mithilfe der Anthropic Messages API - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Inferenz mithilfe der Anthropic Messages API

Die Anthropic Messages API bietet systemeigenen Zugriff auf Claude-Modelle mithilfe des Anthropic-Anfrage- und Antwortformats. Sie können die Messages-API sowohl auf den Endpunkten als auch auf den Endpunkten bedrock-runtime verwenden. bedrock-mantle Für neue Anwendungen empfehlen wir den bedrock-runtime Endpunkt.

Endpunkt Basis-URL Anwendungsfall
bedrock-runtime https://bedrock-runtime.{region}.amazonaws.com/anthropic Für neue Anwendungen empfohlen. Verwendet AWS SDK-Integrationen, IAM-Authentifizierung und Aufrufprotokollierung.
bedrock-mantle https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages Unterstützt die Amazon Bedrock API-Schlüsselauthentifizierung und. Arbeitsbereiche () Anthropic-compatible

Unterstützte Regionen

Die Nachrichten-API ist auf dem bedrock-runtime Endpunkt in allen Regionen verfügbar, in denen Claude-Modelle verfügbar sind. Details dazu finden Sie unter Regionale Verfügbarkeit nach Modellen. Auf dem bedrock-mantle Endpunkt ist sie in allen Regionen verfügbar, die Unterstützung bieten bedrock-mantle (sieheUnterstützte Regionen und Endpunkte).

Voraussetzungen

Bevor Sie die Nachrichten-API verwenden, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Modellzugriff — Fordern Sie in der Amazon Bedrock-Konsole Zugriff auf Claude-Modelle an. Siehe Zugang zu Modellen anfordern.

  • Authentifizierung — Hängt vom Endpunkt ab:

    • bedrock-runtime— Verwenden Sie AWS SigV4-Anmeldeinformationen über das AWS SDK (boto3 usw.), einen Amazon Bedrock-API-Schlüssel (sieheAPI-Schlüssel) oder ein kurzfristiges Bedrock-Bearer-Token, das aus AWS Anmeldeinformationen mit der aws-bedrock-token-generator-Bibliothek generiert wurde. https://pypi.org/project/aws-bedrock-token-generator/

    • bedrock-mantle— Verwenden Sie einen Amazon Bedrock-API-Schlüssel (siehe) oder SigV4-Anmeldeinformationen. API-Schlüssel AWS

  • Anthropischer Versionsheader — Für alle Anfragen ist eine API-Version erforderlich:

    • bedrock-runtime: Wird beim Aufrufen "anthropic_version": "bedrock-2023-05-31" InvokeModel im Anfragetext festgelegt. Das Anthropic SDK fügt den erforderlichen Header bei Verwendung automatisch hinzubase_url=https://bedrock-runtime.{region}.amazonaws.com/anthropic.

    • bedrock-mantle: anthropic-version: 2023-06-01 Als HTTP-Header festgelegt.

Grundlegende Anfrage

Um eine einfache Nachricht an ein Claude-Modell zu senden, wählen Sie den Tab für Ihre bevorzugte Methode und folgen Sie dann den Schritten:

bedrock-runtime (Python, Anthropic SDK)

Verwenden Sie das Anthropic SDK gegen die /anthropic Route des bedrock-runtime Endpunkts mit einem kurzfristigen Bedrock-Bearer-Token, das von aws-bedrock-token-generator generiert wurde:

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 Verwenden Sie die CLI, um das Modell aufzurufen:

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)

Sie können bedrock-runtime direkt mit curl anrufen, indem Sie die Anfrage mit AWS SigV4 signieren. Das folgende Beispiel verwendet das eingebaute --aws-sigv4 Flag von Curl (verfügbar in Curl 7.75.0 und höher):

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

Wenn Sie temporäre Anmeldeinformationen von AWS STS verwenden (z. B. eine angenommene Rolle), übergeben Sie auch das Sitzungstoken, indem Sie es der Anfrage hinzufügen-H "X-Amz-Security-Token: $AWS_SESSION_TOKEN". Für die meisten Anwendungsfälle empfehlen wir die AWS SDKs oder die CLI, die das Signieren von Anfragen und das Aktualisieren der Anmeldeinformationen automatisch verarbeiten.

bedrock-runtime (curl, API key)

Sie können auch bedrock-runtime mit einem Amazon Bedrock-API-Schlüssel über die Anthropic-native /anthropic/v1/messages Route anrufen, genau wie folgt: 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."} ] }'

Antworten streamen

Um Antwort-Token bei der Generierung schrittweise zu erhalten, wählen Sie den Tab für Ihre bevorzugte Methode und folgen Sie dann den Schritten:

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

Unterstützte Features

Zusätzlich zu den obigen Abschnitten Erweitertes Denken, Adaptives Denken, Strukturierte Ausgaben, Komprimierung, Fallback-Gutschrift für abgelehnte Anfragen (Beta) und Mid-conversation Systemnachrichten unterstützt die Nachrichten-API bei Claude-Modellen die folgenden Funktionen:

  • Systemaufforderungen — Legen Sie das Modellverhalten mit einem Parameter fest. system

  • Multi-turn Konversationen — Geben Sie user abwechselnd assistant Nachrichten weiter.

  • Verwendung von Werkzeugen — Definieren Sie Werkzeuge, die das Modell aufrufen kann. Siehe Verwenden eines Tools, um eine Amazon-Bedrock-Modellantwort zu vervollständigen.

  • Vision — Senden Sie Bilder im content Array zusammen mit Text.

  • Prompt-Caching — Häufig verwendeter Kontext wird zwischengespeichert, um Latenz und Kosten zu reduzieren.

Die vollständige Referenz zum Anforderungs- und Antwortfeld der Nachrichten-API finden Sie unterAnforderung und Antwort.

Zähle die Tokens

Um die Anzahl der Eingabe-Token zu zählen, die eine Anfrage verbrauchen würde, bevor sie zur Inferenz gesendet wird, verwenden Sie den anthropischen count_tokens Pfad auf dem bedrock-mantle Endpunkt. Dies ist der einzige Pfad zur Tokenzählung, der für Claude-Modelle unterstützt wird, die auf einem Region-specific Endpunkt nicht verfügbar sind, einschließlich Claude-Modellen, die nur bedrock-runtime mit regionsübergreifender Inferenz (CRIS) gestartet werden. Einzelheiten und ein Beispiel finden Sie unter Zählen Sie die Token mithilfe des Bedrock-Mantle-Endpunkts.