Direkt zum Inhalt

Wie überprüfe ich die Anzahl der Token, wenn ich ein Modell in Amazon Bedrock aufrufe?

Lesedauer: 3 Minute
0

Ich möchte die Anzahl der Eingabe- und Ausgabetoken überprüfen, wenn ich ein Modell in Amazon Bedrock aufrufe.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Verwende eine der folgenden Methoden, um die Token-Anzahl zu überprüfen. 

Verwenden eines Amazon Bedrock-Playgrounds

Informationen zum Verwenden eines Playgrounds zum Überprüfen der Eingabe- und Ausgabetoken beim Aufrufen des Modells findest du unter Generieren von Antworten in der Konsole mithilfe von Playgrounds.

Überprüfung der Modellaufrufprotokolle

Voraussetzung: Du musst ein Ziel erstellen, an das deine Protokolle gesendet werden sollen. Du kannst Amazon Simple Storage Service (Amazon S3) verwenden, um einen S3-Bucket einzurichten, oder Amazon CloudWatch Logs, um eine Protokollgruppe einzurichten. Wenn du einen S3-Bucket verwendest, füge dem Bucket eine Bucket-Richtlinie hinzu, die die Richtlinienanweisung aus Schritt 2 unter Amazon S3-Ziel einrichten enthält. Wenn du eine Protokollgruppe verwendest, erstelle eine AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Rolle, die die Vertrauensbeziehung und die Richtlinienanweisung aus Schritt 2 unter Ein CloudWatch Logs-Ziel einrichten enthält.

Gehe wie folgt vor, um die Protokolle zu überprüfen:

  1. Verwende die CloudWatch-Konsole oder -API, um die Protokollierung für alle Modellaufrufe zu aktivieren.
  2. Sieh dir in den Protokollen die Anzahl der inputTokens und outputTokens für jeden Modellaufruf an.

Beispielprotokoll:

{
    "schemaType": "ModelInvocationLog",
    "schemaVersion": "1.0",
    "timestamp": "2025-03-31T21:34:03Z",
    "accountId": "123456789",
    "identity": {
        "arn": "arn:aws:sts::123456789:role/MyRole"
    },
    "region": "us-east-1",
    "requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
    "operation": "ConverseStream",
    "modelId": "amazon.nova-pro-v1:0",
    "input": {
        "inputContentType": "application/json",
        "inputBodyJson": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "text": "Good morning."
                        }
                    ]
                }
            ],
            "inferenceConfig": {
                "maxTokens": 512,
                "temperature": 0.7,
                "topP": 0.9,
                "stopSequences": []
            },
            "additionalModelRequestFields": {}
        },
        "inputTokenCount": 3,
        "cacheReadInputTokenCount": 0,
        "cacheWriteInputTokenCount": 0
    },
    "output": {
        "outputContentType": "application/json",
        "outputBodyJson": {
            "output": {
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "text": "Good morning! How can I assist you today? Whether you have questions, need information, or just want to chat, feel free to ask."
                        }
                    ]
                }
            },
            "stopReason": "end_turn",
            "metrics": {
                "latencyMs": 454
            },
            "usage": {
                "inputTokens": 3,
                "outputTokens": 29,
                "totalTokens": 32
            }
        },
        "outputTokenCount": 29
    }
}

Überprüfen der Antwort der Converse-Operation

Verwende die AWS CLI, um eine Antwort von der Converse-API-Operation zu erhalten.

Führe den folgenden bedrock-runtime-Befehl mit dem Befehl converse aus:

aws bedrock-runtime converse \
    --region your-region\
    --model-id amazon.nova-pro-v1:0 \
    --messages '{"role": "user", "content": [{"text": "Hello"}]}'

Hinweis: Mit dem vorherigen Befehl wird die Token-Anzahl für das amazon.nova-pro-v1:0-Modell abgerufen. Ersetze your-region durch deine AWS-Region, model-id durch deine Modell-ID und text durch deine eigene Nachricht.

Beispielantwort:

{
    "output": {
        "message": {
            "role": "assistant",
            "content": [
                {
                    "text": "Hello! It's nice to have you here. I'm here to help with whatever you might need. Whether you have a question, need assistance with a topic, or just want to chat, feel free to ask. What can I assist you with today?"
                }
            ]
        }
    },
    "stopReason": "end_turn",
    "usage": {
        "inputTokens": 1,
        "outputTokens": 54,
        "totalTokens": 55
    },
    "metrics": {
        "latencyMs": 852
    }
}
AWS OFFICIALAktualisiert vor 6 Monaten