View a markdown version of this page

Monitora l'invocazione del modello utilizzando CloudWatch Logs e Amazon S3 - 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à.

Monitora l'invocazione del modello utilizzando CloudWatch Logs e Amazon S3

Puoi utilizzare la registrazione delle chiamate dei modelli per raccogliere registri di chiamata, dati di input del modello e dati di output del modello per tutte le chiamate Account AWS utilizzate in Amazon Bedrock in una regione.

Con la registrazione delle chiamate, puoi raccogliere tutti i dati delle richieste, i dati di risposta e i metadati associati alle chiamate supportate eseguite nel tuo account in una regione. La registrazione di log può essere configurata per fornire le risorse di destinazione in cui verranno pubblicati i dati di log. Le destinazioni supportate includono Amazon CloudWatch Logs e Amazon Simple Storage Service (Amazon S3). Sono supportate solo le destinazioni dello stesso account e della stessa Regione.

Per impostazione predefinita, la registrazione di log delle invocazioni dei modelli è disabilitata. Dopo aver abilitato la registrazione di log delle invocazioni dei modelli, i log vengono archiviati fino all’eliminazione della configurazione della registrazione di log.

Le seguenti operazioni possono registrare i log delle invocazioni dei modelli.

Nota

La registrazione delle chiamate del modello è supportata solo per le chiamate effettuate tramite l'endpoint. bedrock-runtime Ciò include le API OpenAI-compatible Responses e Chat Completions su quell'endpoint. Le chiamate effettuate tramite altri endpoint, ad esempio le stesse API attivebedrock-mantle, non vengono attualmente acquisite dalla registrazione delle chiamate.

Quando utilizzi l’API Converse, viene eseguita la registrazione di log di tutti i dati di immagine o documento che trasmetti in Amazon S3 (se hai abilitato la consegna e la registrazione di log delle immagini in Amazon S3).

Prima di poter abilitare la registrazione delle chiamate, devi configurare una destinazione Amazon S3 o Logs. CloudWatch Puoi abilitare la registrazione di log delle invocazioni tramite la console o l'API.

Configurazione di una destinazione Amazon S3

Nota

Quando si utilizza Amazon S3 come destinazione di registrazione, il bucket deve trovarsi nello stesso Account AWS e Regione AWS in cui si crea la configurazione di registrazione delle chiamate del modello.

Puoi configurare una destinazione S3 per la registrazione di log in Amazon Bedrock seguendo questi passaggi:

  1. Crea un bucket S3 in cui verranno recapitati i log.

  2. Aggiungi una policy del bucket come quella riportata di seguito (sostituisci i valori peraccountId,, e facoltativamente): region bucketName prefix

    Nota

    Una policy del bucket viene associata automaticamente al bucket per conto tuo quando configuri la registrazione di log con le autorizzazioni S3:GetBucketPolicy e S3:PutBucketPolicy.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonBedrockLogsWrite", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucketName/prefix/AWSLogs/123456789012/BedrockModelInvocationLogs/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }
  3. (Facoltativo) In caso di configurazione SSE-KMS sul bucket, aggiungi la seguente politica sulla chiave KMS:

    { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:region:accountId:*" } } }

Per ulteriori informazioni sulle SSE-KMS configurazioni S3, consulta Specificare la crittografia KMS. https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html

Nota

L'ACL del bucket deve essere disabilitata affinché la policy del bucket abbia effetto. Per ulteriori informazioni, consulta Disabilitare le ACL per tutti i nuovi bucket e applicare Object Ownership.

Imposta una destinazione per i log CloudWatch

Puoi configurare una destinazione Amazon CloudWatch Logs per l'accesso ad Amazon Bedrock con i seguenti passaggi:

  1. Crea un gruppo di CloudWatch log in cui verranno pubblicati i log.

  2. Crea un ruolo IAM con le seguenti autorizzazioni per CloudWatch i log.

    Entità attendibile:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:*" } } } ] }

    Policy del ruolo:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:logGroupName:log-stream:aws/bedrock/modelinvocations" } ] }

Per ulteriori informazioni sulla configurazione di SSE for CloudWatch Logs, consulta Crittografa i dati di log in CloudWatch Logs usando. AWS Key Management Service

Registrazione di log delle invocazioni dei modelli tramite la console

Per abilitare la registrazione delle chiamate dei modelli

Accedi Console di gestione AWS con un'identità IAM che dispone delle autorizzazioni per utilizzare la console Amazon Bedrock. Quindi, apri la console Amazon Bedrock all'indirizzo. https://console.aws.amazon.com/bedrock

  1. Dal riquadro di navigazione a sinistra, seleziona Impostazioni.

  2. Nella pagina di registrazione delle chiamate del modello, seleziona Registrazione delle chiamate del modello. Verranno visualizzate impostazioni di configurazione aggiuntive per la registrazione.

  3. Seleziona le modalità delle richieste e delle risposte di dati che desideri pubblicare nei log. Puoi selezionare qualsiasi combinazione delle seguenti opzioni di output:

    • Testo

    • Immagine

    • Embedding

    • Video

    Nota

    I dati verranno registrati per tutti i modelli che supportano le modalità (sia come input che come output) scelte. Ad esempio, se si seleziona Image, l'invocazione del modello verrà registrata per tutti i modelli che supportano l'input di immagini, l'output di immagini o entrambi.

  4. Seleziona dove pubblicare i log:

    • Solo Amazon S3

    • CloudWatch Solo registri

    • Sia Amazon S3 che Logs CloudWatch

Destinazioni di registrazione

Le destinazioni Amazon S3 e CloudWatch Logs sono supportate per i log di richiamo e per i piccoli dati di input e output. Per dati di input e output di grandi dimensioni o per gli output di immagini binarie, è supportato solo Amazon S3. I seguenti dettagli riassumono il modo in cui i dati verranno rappresentati nella posizione di destinazione.

  • Destinazione S3: i file JSON compressi con Gzip, ciascuno contenente un batch di record del log delle invocazioni, vengono consegnati al bucket S3 specificato. Analogamente a un evento CloudWatch Logs, ogni record conterrà i metadati di chiamata e i corpi JSON di input e output con dimensioni fino a 100 KB. I dati binari o il testo JSON con dimensioni superiori a 100 KB verranno caricati come singoli oggetti nel bucket Amazon S3 specificato con il prefisso "data". I dati possono essere interrogati utilizzando Amazon S3 Select e Amazon Athena e possono essere catalogati per ETL utilizzando AWS Glue. I dati possono essere caricati nel OpenSearch servizio o elaborati da qualsiasi destinazione Amazon. EventBridge

  • CloudWatch Destinazione dei log: gli eventi del log di richiamo JSON vengono inviati a un gruppo di log specificato in Logs. CloudWatch L'evento di log contiene i metadati di invocazione e il testo JSON di input e output con dimensione massima di 100 KB. Se viene fornita una posizione Amazon S3 per la distribuzione di dati di grandi dimensioni, i dati binari o i corpi JSON di dimensioni superiori a 100 KB verranno invece caricati nel bucket Amazon S3 con il prefisso dati. i dati possono essere interrogati utilizzando CloudWatch Logs Insights e possono essere ulteriormente trasmessi a vari servizi in tempo reale utilizzando Logs. CloudWatch

Registrazione di log delle invocazioni dei modelli tramite l’API

La registrazione di log delle invocazioni dei modelli può essere configurata utilizzando le seguenti API:

Formato di immissione dei log

Ogni voce del registro delle chiamate è un oggetto JSON con la seguente struttura. Il formato è lo stesso sia per CloudWatch Logs che per le destinazioni Amazon S3.

{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-01-15T12:00:00Z", "accountId": "123456789012", "region": "us-east-1", "requestId": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx", "operation": "Converse", "modelId": "anthropic.claude-sonnet-4-20250514-v1:0", "identity": { "arn": "arn:aws:sts::123456789012:assumed-role/MyRole/session-name" }, "requestMetadata": { "team": "orchestrator", "environment": "production" }, "input": { "inputContentType": "application/json", "inputBodyJson": { }, "inputTokenCount": 25 }, "output": { "outputContentType": "application/json", "outputBodyJson": { }, "outputTokenCount": 150 } }

La tabella seguente descrive i campi di una voce di registro:

Campo Description
schemaType Tipo di record di registro. Sempre ModelInvocationLog.
schemaVersion La versione dello schema del registro.
timestamp L'ora in cui è stata effettuata la chiamata, in formato ISO 8601.
accountId L' Account AWS ID che ha effettuato l'invocazione.
region Il Regione AWS luogo in cui è stata effettuata l'invocazione.
requestId L'identificatore univoco della richiesta.
operation L'operazione API chiamata (ad esempio,Converse,InvokeModel).
modelId L'ID del modello o l'ID del profilo di inferenza utilizzato per l'invocazione.
identity.arn L'ARN AWS STS o IAM del principale che ha effettuato la richiesta, incluso il nome del ruolo e il nome della sessione o dell'utente. Acquisito automaticamente.
requestMetadata Un oggetto JSON opzionale composto da tag chiave-valore forniti dal chiamante. Presente solo quando il chiamante fornisce i metadati della richiesta. Per informazioni dettagliate, vedi Per-request etichettatura dei metadati.
input.inputBodyJson Il corpo della richiesta inviato al modello (fino a 100 KB). I corpi più grandi vengono archiviati come oggetti separati in Amazon S3.
input.inputTokenCount Il numero di token di input nella richiesta.
output.outputBodyJson Il corpo della risposta del modello (fino a 100 KB). I corpi più grandi vengono archiviati come oggetti separati in Amazon S3.
output.outputTokenCount Il numero di token di output nella risposta.
Nota

Ogni campo del record viene compilato automaticamente da Amazon Bedrock, con un'eccezione: requestMetadata è l'unico campo fornito dal chiamante. Per informazioni dettagliate, vedi Per-request etichettatura dei metadati.

Per suddividere l'utilizzo dei token da parte del responsabile IAM senza utilizzare i metadati della richiesta, raggruppa su. identity.arn La seguente query di CloudWatch Logs Insights elenca i chiamanti in base al totale dei token di input:

fields identity.arn as principal, input.inputTokenCount as inTokens, output.outputTokenCount as outTokens | stats sum(inTokens) as totalInput, sum(outTokens) as totalOutput, count() as calls by principal | sort totalInput desc
Nota

I dati binari (come le immagini) e i corpi JSON più grandi di 100 KB non sono inclusi in linea nella voce di registro. Vengono invece archiviati come oggetti separati nel bucket Amazon S3 con il prefisso dei dati e la voce di registro contiene un riferimento alla posizione di Amazon S3.