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 Sie Ihre Token-Nutzung, indem Sie Token zählen, bevor Sie die Inferenz ausführen
Wenn Sie die Modellinferenz ausführen, trägt die Anzahl der Token, die Sie in der Eingabe senden, zu den Kosten der Anfrage und zum Kontingent der Token bei, die Sie pro Minute und pro Tag verwenden 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 Token-Zählung ist modellspezifisch, da verschiedene Modelle unterschiedliche Tokenisierungsstrategien verwenden. Die von diesem Vorgang zurückgegebene Tokenanzahl entspricht der Tokenanzahl, die berechnet würde, wenn dieselbe Eingabe an das Modell gesendet würde, um die Inferenz auszuführen.
Sie können die CountTokens
API verwenden, um Folgendes zu tun:
-
Schätzen Sie die Kosten ab, bevor Sie Inferenzanfragen senden.
-
Optimieren Sie die Eingabeaufforderungen, sodass sie innerhalb der Token-Grenzen liegen.
-
Planen Sie die Token-Nutzung in Ihren Anwendungen ein.
Themen
Unterstützte Modelle und Regionen für das Zählen von Token
Die Count Tokens API wird in den folgenden Regionen unterstützt (weitere Informationen zu den in Amazon Bedrock unterstützten Regionen finden Sie unter Amazon Bedrock Endpoints and Quotas):
-
USA Ost (Nord-Virginia)
-
USA Ost (Ohio)
-
USA West (Oregon)
-
Asien-Pazifik (Tokio)
-
Asia Pacific (Mumbai)
-
Asien-Pazifik (Singapur)
-
Asien-Pazifik (Sydney)
-
Europa (Frankfurt)
-
Europa (Zürich)
-
Europa (Irland)
-
Europa (London)
-
Südamerika (São Paulo)
Die Count Tokens API wird für die folgenden Foundation-Modelle unterstützt (Informationen darüber, welche Regionen die einzelnen Modelle unterstützen, finden Sie unter): Unterstützte Basismodelle in Amazon Bedrock
-
Anthropic Claude 3.5 Haiku
-
Anthropic Claude 3.5 Sonnet v2
-
Anthropic Claude 3.5 Sonnet
-
Anthropic Claude 3.7 Sonnet
-
Anthropic Claude Opus 4
-
Anthropic Claude Sonnet 4
Zählen Sie die Token in einer Anfrage
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 einer
InvokeModel
Anfragebody
ist das Format von eine Zeichenfolge, die ein JSON-Objekt darstellt, dessen Format von dem von Ihnen angegebenen Modell abhängt. -
Bei einer
Converse
Anfragebody
ist das Format von ein JSON-Objekt, das die in dermessages
Konversation enthaltenensystem
Eingabeaufforderungen angibt.
Versuchen Sie es mit einem Beispiel
Anhand der Beispiele in diesem Abschnitt können Sie Tokens für eine InvokeModel
Converse
AND-Anforderung mit Anthropic Claude 3 Haiku zählen.
Voraussetzungen
-
Sie haben 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 Aktion, Ressourcen und Bedingungsschlüssel für Amazon Bedrock):
-
bedrock: CountTokens — Ermöglicht die Verwendung von.
CountTokens
-
bedrock: InvokeModel — Erlaubt die Verwendung von und.
InvokeModel
Converse
Sollte mindestens auf denarn:${Partition}:bedrock:${Region}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0
beschrä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 das Zählen von Tokens für eine 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"])