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.
Überwachen der Tokennutzung, indem die Token vor der Ausführung der Inferenz gezählt werden
Wenn Sie die Modellinferenz ausführen, trägt die Anzahl der Token, die Sie in der Eingabe senden, zu den Kosten der Anforderung und zum Kontingent der Token bei, die Sie pro Minute und pro Tag nutzen können. Die CountTokensAPI hilft Ihnen dabei, die Token-Nutzung abzuschätzen, bevor Sie Anfragen an Foundation-Modelle senden, indem sie die Token-Anzahl zurückgibt, die verwendet würde, wenn dieselbe Eingabe in einer Inferenzanforderung an das Modell gesendet würde.
Anmerkung
Für die Verwendung der CountTokensAPI fallen keine Gebühren an.
Die Tokenzählung ist modellspezifisch, da verschiedene Modelle unterschiedliche Tokenisierungsstrategien verwenden. Die von diesem Vorgang zurückgegebene Tokenanzahl entspricht der Tokenanzahl, für die eine Gebühr berechnet würde, wenn dieselbe Eingabe an das Modell zum Ausführen der Inferenz gesendet würde.
Sie können die API CountTokens für Folgendes verwenden:
-
Abschätzen der Kosten vor dem Senden von Inferenzanforderungen.
-
Optimieren der Prompts, sodass sie innerhalb der Tokengrenzwerte liegen.
-
Planen der Tokennutzung in Ihren Anwendungen.
Themen
Unterstützte Modelle und Regionen für die Tokenzählung
Die folgende Tabelle zeigt die Unterstützung des Foundation-Modells für die Tokenzählung:
| Anbieter | Modell | Modell-ID | Unterstützung von Modellen für einzelne Regionen |
|---|---|---|---|
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |
us-west-2 |
| Anthropic | Claude 3.5 Sonett | anthropic.claude-3-5-sonnet-20240620-v1:0 |
ap-northeast-1 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-west-2 |
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |
ap-southeast-2 us-west-2 |
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v1:0 |
eu-west-2 |
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 | |
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |
Zählen der Token in einer Anforderung
Um die Anzahl der Eingabe-Token in einer Inferenzanforderung zu zählen, senden Sie eine CountTokensAnfrage mit einem Amazon Bedrock-Laufzeitendpunkt. Geben Sie das Modell im Header und die Eingabe, für die Token gezählt werden sollen, im body Feld an. Der Wert des body Felds hängt davon ab, ob Sie Eingabe-Token für eine InvokeModeloder eine Converse-Anfrage zählen:
-
Bei der Anforderung
InvokeModelist dasbody-Format eine Zeichenfolge, die ein JSON-Objekt darstellt, dessen Format von dem von Ihnen angegebenen Modell abhängt. -
Bei der Anforderung
Converseist dasbody-Format ein JSON-Objekt, das die in der Konversation enthaltenen Promptsmessagesundsystemangibt.
Ausprobieren eines Beispiels
Anhand der Beispiele in diesem Abschnitt können Sie Token für die Anforderung InvokeModel und Converse mit Anthropic Claude 3 Haiku zählen.
Voraussetzungen
-
Sie haben es heruntergeladen AWS SDK für Python (Boto3) und Ihre Konfiguration ist so eingerichtet, dass Ihre Anmeldeinformationen und die AWS Standardregion automatisch erkannt werden.
-
Ihre IAM-Identität hat Berechtigungen für die folgenden Aktionen (weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Bedrock):
-
bedrock: CountTokens — Ermöglicht die Verwendung von.
CountTokens -
bedrock: InvokeModel — Erlaubt die Verwendung von und.
InvokeModelConverseSollte mindestens auf denarn:${Partition}:bedrock:${Region}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0beschränkt sein.
-
Führen Sie den folgenden Python-Code aus, um das Zählen von Tokens für eine InvokeModelAnfrage auszuprobieren:
import boto3 import json bedrock_runtime = boto3.client("bedrock-runtime") input_to_count = json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 500, "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }) response = bedrock_runtime.count_tokens( modelId="anthropic.claude-3-5-haiku-20241022-v1:0", input={ "invokeModel": { "body": input_to_count } } ) print(response["inputTokens"])
Führen Sie den folgenden Python-Code aus, um die Tokenzählung für die Anforderung Converse-Anfrage auszuprobieren:
import boto3 import json bedrock_runtime = boto3.client("bedrock-runtime") input_to_count = { "messages": [ { "role": "user", "content": [ { "text": "What is the capital of France?" } ] }, { "role": "assistant", "content": [ { "text": "The capital of France is Paris." } ] }, { "role": "user", "content": [ { "text": "What is its population?" } ] } ], "system": [ { "text": "You're an expert in geography." } ] } response = bedrock_runtime.count_tokens( modelId="anthropic.claude-3-5-haiku-20241022-v1:0", input={ "converse": input_to_count } ) print(response["inputTokens"])