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 le knowledge base utilizzando CloudWatch i log
Amazon Bedrock supporta un sistema di monitoraggio per aiutarti a comprendere l'esecuzione di qualsiasi processo di inserimento di dati per le tue knowledge base. Le seguenti sezioni spiegano come abilitare e configurare il sistema di registrazione per le knowledge base di Amazon Bedrock utilizzando entrambi i AWS Management Console e. CloudWatch API È possibile ottenere visibilità sull'acquisizione dei dati delle risorse della Knowledge Base con questo sistema di registrazione.
Registrazione delle knowledge base tramite la console
Per abilitare la registrazione per una knowledge base Amazon Bedrock utilizzando AWS Management Console:
-
Crea una knowledge base: usa il AWS Management Console per Amazon Bedrock per creare una nuova base di conoscenze.
-
Aggiungi un'opzione di consegna dei log: dopo aver creato la knowledge base, modifica o aggiorna la knowledge base per aggiungere un'opzione di consegna dei log.
Configura i dettagli di consegna dei log: inserisci i dettagli per la consegna dei log, tra cui:
-
Destinazione di registrazione ( CloudWatch Logs, Amazon S3, Amazon Data Firehose)
-
(Se si utilizza CloudWatch Logs come destinazione di registrazione) Nome del gruppo di log
-
(Se si utilizza Amazon S3 come destinazione di registrazione) Nome del bucket
-
(Se si utilizza Amazon Data Firehose come destinazione di registrazione) Firehose stream
-
-
Includi le autorizzazioni di accesso: l'utente che ha effettuato l'accesso alla console deve disporre delle autorizzazioni necessarie per scrivere i log raccolti nella destinazione scelta.
La seguente IAM politica di esempio può essere allegata all'utente che ha effettuato l'accesso alla console per concedere le autorizzazioni necessarie quando si utilizza Logs CloudWatch
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "logs:CreateDelivery", "Resource": [ "arn:aws:logs:your-region:your-account-id:delivery-source:*", "arn:aws:logs:your-region:your-account-id:delivery:*", "arn:aws:logs:your-region:your-account-id:delivery-destination:*" ] }] }
-
Conferma lo stato di consegna: verifica che lo stato di consegna dei log sia «Consegna attiva» nella console.
Registrazione delle basi di conoscenza mediante CloudWatch API
Per abilitare la registrazione per una knowledge base Amazon Bedrock utilizzando: CloudWatch API
-
Ottieni la ARN tua knowledge base: dopo aver creato una knowledge base utilizzando Amazon Bedrock API o la console Amazon Bedrock, ottieni il nome della risorsa Amazon della knowledge base. Puoi ottenere l'Amazon Resource Name chiamando GetKnowledgeBaseAPI. Una knowledge base Amazon Resource Name segue questo formato:
arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge-base-id
-
Chiamata
PutDeliverySource
: utilizza il PutDeliverySourceAPIservizio fornito da Amazon CloudWatch per creare una fonte di distribuzione per la knowledge base. Passa la knowledge base Amazon Resource Name comeresourceArn
.logType
specificaAPPLICATION_LOGS
come tipo di log che vengono raccolti.APPLICATION_LOGS
tiene traccia dello stato corrente dei file durante un processo di importazione.{ "logType": "APPLICATION_LOGS", "name": "my-knowledge-base-delivery-source", "resourceArn": "arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge_base_id" }
-
Chiamata
PutDeliveryDestination
: utilizza il PutDeliveryDestinationAPIservizio fornito da Amazon CloudWatch per configurare dove verranno archiviati i log. Puoi scegliere CloudWatch Logs, Amazon S3 o Amazon Data Firehose come destinazione per l'archiviazione dei log. Devi specificare il nome Amazon Resource di una delle opzioni di destinazione in cui verranno archiviati i log. Puoi scegliere tra ioutputFormat
log uno dei seguenti:json
,,,plain
w3c
,raw
.parquet
Di seguito è riportato un esempio di configurazione dei log da archiviare in un bucket Amazon S3 e in formato. JSON{ "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::bucket-name" }, "name": "string", "outputFormat": "json", "tags": { "key" : "value" } }
Tieni presente che se stai distribuendo log su più account, devi utilizzare il per assegnare un
PutDeliveryDestinationPolicy
API AWS Identity and Access Management (IAM) politica per l'account di destinazione. La IAM politica consente la consegna da un account a un altro account. -
Chiamata
CreateDelivery
: utilizza la CreateDeliveryAPIchiamata per collegare la fonte di consegna alla destinazione creata nei passaggi precedenti. Questa API operazione associa la fonte di consegna alla destinazione finale.{ "deliveryDestinationArn": "string", "deliverySourceName": "string", "tags": { "string" : "string" } }
Nota
Se si desidera utilizzare AWS CloudFormation, puoi usare quanto segue:
Il ResourceArn
KnowledgeBaseARN
è e LogType
deve essere APPLICATION_LOGS
il tipo di registro supportato.
Tipi di log supportati
Le knowledge base di Amazon Bedrock supportano i seguenti tipi di log:
-
APPLICATION_LOGS
: log che tengono traccia dello stato corrente di un file specifico durante un processo di inserimento dei dati.
Autorizzazioni e limiti degli utenti
Per abilitare la registrazione per una knowledge base Amazon Bedrock, sono necessarie le seguenti autorizzazioni per l'account utente connesso alla console:
-
bedrock:AllowVendedLogDeliveryForResource
— Necessario per consentire la consegna dei log per la risorsa della knowledge base.È possibile visualizzare un esempio di politica di IAM ruolo/autorizzazioni con tutte le autorizzazioni richieste per la destinazione di registrazione specifica. Consulta le autorizzazioni dei log di Vending per diverse destinazioni di consegna e segui l'esempio di politica di IAM ruolo/autorizzazione per la tua destinazione di registrazione, inclusa l'autorizzazione degli aggiornamenti alla tua risorsa di destinazione di registrazione specifica (che si tratti di Logs, Amazon CloudWatch S3 o Amazon Data Firehose).
Puoi anche verificare se esistono limiti di quota per effettuare chiamate relative alla consegna dei log nella documentazione relativa alle quote del servizio Logs. CloudWatch API CloudWatch I limiti di quota stabiliscono il numero massimo di volte in cui è possibile chiamare o creare una risorsa. API Se superi un limite, verrà generato un ServiceQuotaExceededException
errore.
Esempi di log della Knowledge Base
Esistono log dei livelli di acquisizione dei dati e registri dei livelli di risorse per le knowledge base di Amazon Bedrock.
Di seguito è riportato un esempio di log del processo di inserimento dati.
{ "event_timestamp": 1718683433639, "event": { "ingestion_job_id": "<IngestionJobId>", "data_source_id": "<IngestionJobId>", "ingestion_job_status": "INGESTION_JOB_STARTED" | "COMPLETE" | "FAILED" | "CRAWLING_COMPLETED" "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>", "resource_statistics": { "number_of_resources_updated": int, "number_of_resources_ingested": int, "number_of_resources_scheduled_for_update": int, "number_of_resources_scheduled_for_ingestion": int, "number_of_resources_scheduled_for_metadata_update": int, "number_of_resources_deleted": int, "number_of_resources_with_metadata_updated": int, "number_of_resources_failed": int, "number_of_resources_scheduled_for_deletion": int } }, "event_version": "1.0", "event_type": "StartIngestionJob.StatusChanged", "level": "INFO" }
Di seguito è riportato un esempio di registro a livello di risorse.
{ "event_timestamp": 1718677342332, "event": { "ingestion_job_id": "<IngestionJobId>", "data_source_id": "<IngestionJobId>", "knowledge_base_arn": "arn:aws:bedrock:<region>:<accountId>:knowledge-base/<KnowledgeBaseId>", "document_location": { "type": "S3", "s3_location": { "uri": "s3:/<BucketName>/<ObjectKey>" } }, "status": "<ResourceStatus>" "status_reasons": String[], "chunk_statistics": { "ignored": int, "created": int, "deleted": int, "metadata_updated": int, "failed_to_create": int, "failed_to_delete": int, "failed_to_update_metadata": int }, }, "event_version": "1.0", "event_type": "StartIngestionJob.ResourceStatusChanged", "level": "INFO" | "WARN" | "ERROR" }
Il status
formato per la risorsa può essere uno dei seguenti:
-
SCHEDULED_FOR_INGESTION
,SCHEDULED_FOR_DELETION
,SCHEDULED_FOR_UPDATE
,SCHEDULED_FOR_METADATA_UPDATE
: Questi valori di stato indicano che l'elaborazione della risorsa è programmata dopo aver calcolato la differenza tra lo stato corrente della knowledge base e le modifiche apportate all'origine dati. -
RESOURCE_IGNORED
: Questo valore di stato indica che la risorsa è stata ignorata per l'elaborazione e il motivo è dettagliato all'internostatus_reasons
della proprietà. -
EMBEDDING_STARTED
eEMBEDDING_COMPLETED
: questi valori di stato indicano quando l'incorporamento vettoriale per una risorsa è iniziato e completato. -
INDEXING_STARTED
eINDEXING_COMPLETED
: questi valori di stato indicano quando l'indicizzazione di una risorsa è iniziata e completata. -
DELETION_STARTED
eDELETION_COMPLETED
: questi valori di stato indicano quando l'eliminazione di una risorsa è iniziata e completata. -
METADATA_UPDATE_STARTED
eMETADATA_UPDATE_COMPLETED
: questi valori di stato indicano quando l'aggiornamento dei metadati per una risorsa è iniziato e completato. -
EMBEDDING_FAILED
,INDEXING_FAILED
DELETION_FAILED
, eMETADATA_UPDATE_FAILED
: Questi valori di stato indicano che l'elaborazione di una risorsa non è riuscita e i motivi sono descritti in dettaglio all'interno dellastatus_reasons
proprietà. -
INDEXED
,DELETED
,PARTIALLY_INDEXED
,METADATA_PARTIALLY_INDEXED
,FAILED
: Una volta completata l'elaborazione di un documento, viene pubblicato un registro con lo stato finale del documento e il riepilogo dell'elaborazione all'interno dellachunk_statistics
proprietà.
Esempi di interrogazioni comuni per il debug dei log della knowledge base
È possibile interagire con i log utilizzando le interrogazioni. Ad esempio, è possibile eseguire una query per tutti i documenti con lo stato dell'evento RESOURCE_IGNORED
durante l'ingestione di documenti o dati.
Di seguito sono riportate alcune query comuni che possono essere utilizzate per eseguire il debug dei log generati utilizzando Logs Insights: CloudWatch
-
Interrogazione per tutti i log generati per uno specifico documento S3.
filter event.document_location.s3_location.uri = "s3://<bucketName>/<objectKey>"
-
Query per tutti i documenti ignorati durante il processo di inserimento dei dati.
filter event.status = "RESOURCE_IGNORED"
-
Interrogazione per tutte le eccezioni che si sono verificate durante l'incorporamento vettoriale dei documenti.
filter event.status = "EMBEDDING_FAILED"
-
Interrogazione per tutte le eccezioni che si sono verificate durante l'indicizzazione dei documenti nel database vettoriale.
filter event.status = "INDEXING_FAILED"
-
Interroga tutte le eccezioni che si sono verificate durante l'eliminazione dei documenti dal database vettoriale.
filter event.status = "DELETION_FAILED"
-
Interroga tutte le eccezioni che si sono verificate durante l'aggiornamento dei metadati del documento nel database vettoriale.
filter event.status = "DELETION_FAILED"
-
Interrogazione per tutte le eccezioni che si sono verificate durante l'esecuzione di un processo di inserimento dati.
filter level = "ERROR" or level = "WARN"