Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Supervise las bases de conocimiento mediante CloudWatch registros
Amazon Bedrock admite un sistema de supervisión que lo ayuda a comprender la ejecución de cualquier trabajo de ingesta de datos para sus bases de conocimientos. En las siguientes secciones se explica cómo habilitar y configurar el sistema de registro para las bases de conocimiento de Amazon Bedrock mediante la CloudWatch API AWS Management Console y la API. Con este sistema de registro obtendrá mayor visibilidad sobre la ingesta de datos de los recursos de su base de conocimientos.
Registro de bases de conocimientos mediante la consola
Para activar el registro de una base de conocimientos de Amazon Bedrock mediante la AWS Management Console:
-
Cree una base de conocimientos: utilice Amazon Bedrock AWS Management Console para crear una nueva base de conocimientos.
-
Añada una opción de entrega de registros: después de crear la base de conocimientos, edite o actualice su base de conocimientos para añadir una opción de entrega de registros.
Configure los detalles de la entrega de registros: introduzca los detalles de la entrega de registros, incluidos:
-
Destino del registro ( CloudWatch Logs, Amazon S3 o Amazon Data Firehose)
-
(Si utiliza CloudWatch Logs como destino del registro) Nombre del grupo de registros
-
(Si utiliza Amazon S3 como destino del registro) El nombre del bucket
-
(Si utiliza Amazon Data Firehose como destino del registro) El flujo de Firehose
-
-
Incluya los permisos de acceso: el usuario que ha iniciado sesión en la consola debe tener los permisos necesarios para escribir los registros recopilados en el destino elegido.
El siguiente ejemplo de política de IAM se puede adjuntar al usuario que ha iniciado sesión en la consola para conceder los permisos necesarios al utilizar 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:*" ] }] }
-
Confirme el estado de entrega: compruebe que el estado de entrega del registro sea “Entrega activa” en la consola.
Registro de bases de conocimiento mediante la API CloudWatch
Para habilitar el registro en una base de conocimiento de Amazon Bedrock mediante la CloudWatch API:
-
Obtenga el ARN de su base de conocimientos: tras crear una base de conocimientos mediante la API de Amazon Bedrock o la consola de Amazon Bedrock, obtenga el nombre del recurso de Amazon de la base de conocimientos. Puedes obtener el nombre del recurso de Amazon llamando a la GetKnowledgeBaseAPI. El nombre de un recurso de Amazon de una base de conocimiento sigue este formato:
arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge-base-id
-
Llamada
PutDeliverySource
: usa la PutDeliverySourceAPI proporcionada por Amazon CloudWatch para crear una fuente de entrega para la base de conocimientos. Pase el nombre del recurso de Amazon de la base de conocimientos como elresourceArn
.logType
especificaAPPLICATION_LOGS
como el tipo de registros que se recopila.APPLICATION_LOGS
realiza un seguimiento del estado actual de los archivos durante un trabajo de ingesta.{ "logType": "APPLICATION_LOGS", "name": "my-knowledge-base-delivery-source", "resourceArn": "arn:aws:bedrock:your-region:your-account-id:knowledge-base/knowledge_base_id" }
-
Llamada
PutDeliveryDestination
: usa la PutDeliveryDestinationAPI proporcionada por Amazon CloudWatch para configurar dónde se almacenarán los registros. Puede elegir CloudWatch Logs, Amazon S3 o Amazon Data Firehose como destino para almacenar los registros. Debe especificar el nombre del recurso de Amazon de una de las opciones de destino en las que se almacenarán sus registros. EloutputFormat
de los registros puede ser uno de estos:json
,plain
,w3c
,raw
oparquet
. A continuación, se incluye un ejemplo de cómo configurar los registros para que se almacenen en un bucket de Amazon S3 y en formato JSON.{ "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::bucket-name" }, "name": "string", "outputFormat": "json", "tags": { "key" : "value" } }
Tenga en cuenta que si entrega registros entre cuentas, debe usar la
PutDeliveryDestinationPolicy
API para asignar una política AWS Identity and Access Management (de IAM) a la cuenta de destino. La política de IAM permite la entrega de una cuenta a otra. -
Llamada
CreateDelivery
: usa la llamada a la CreateDeliveryAPI para vincular la fuente de entrega al destino que creaste en los pasos anteriores. Esta operación de la API asocia el origen de la entrega con el destino final.{ "deliveryDestinationArn": "string", "deliverySourceName": "string", "tags": { "string" : "string" } }
nota
Si quieres usar AWS CloudFormation, puedes usar lo siguiente:
El ResourceArn
es el KnowledgeBaseARN
y el LogType
admitido debe ser APPLICATION_LOGS
.
Tipos de registro admitidos
Las bases de conocimientos de Amazon Bedrock admiten los siguientes tipos de registro:
-
APPLICATION_LOGS
: registros que rastrean el estado actual de un archivo específico durante un trabajo de ingesta de datos.
Permisos y límites de usuario
Para habilitar el registro en una base de conocimientos de Amazon Bedrock, se requieren los siguientes permisos para la cuenta de usuario que ha iniciado sesión en la consola:
-
bedrock:AllowVendedLogDeliveryForResource
: necesario para permitir la entrega de los registros del recurso de la base de conocimientos.Puede ver un ejemplo de política de permisos o roles de IAM con todos los permisos necesarios para su destino de registro específico. Consulte los permisos de registros vendidos para los distintos destinos de entrega y siga el ejemplo de la política de roles o permisos de IAM para su destino de registro, incluida la posibilidad de actualizar su recurso de destino de registro específico (ya sea Logs, CloudWatch Amazon S3 o Amazon Data Firehose).
También puedes comprobar si hay algún límite de cuota para realizar llamadas a la API relacionadas con la entrega de CloudWatch registros en la documentación sobre las cuotas del servicio de registros. CloudWatch Los límites de cuota establecen un número máximo de veces que puede llamar a una API o crear un recurso. Si supera un límite, se producirá un error ServiceQuotaExceededException
.
Ejemplos de registros de bases de conocimientos
Existen registros en el nivel de ingesta de datos y registros en el nivel de recursos para las bases de conocimientos de Amazon Bedrock.
A continuación, se incluye un ejemplo de un registro de trabajo de ingesta de datos.
{ "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" }
A continuación, se muestra un ejemplo de un registro de nivel de recurso.
{ "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" }
El status
para el recurso puede ser uno de los siguientes:
-
SCHEDULED_FOR_INGESTION
,SCHEDULED_FOR_DELETION
,SCHEDULED_FOR_UPDATE
oSCHEDULED_FOR_METADATA_UPDATE
: estos valores de estado indican que el recurso está programado para ser procesado después de calcular la diferencia entre el estado actual de la base de conocimientos y los cambios realizados en el origen de datos. -
RESOURCE_IGNORED
: este valor de estado indica que se ha ignorado el recurso en el procesamiento y el motivo se detalla en la propiedadstatus_reasons
. -
EMBEDDING_STARTED
yEMBEDDING_COMPLETED
: estos valores de estado indican cuándo se ha iniciado y completado la incrustación vectorial de un recurso. -
INDEXING_STARTED
yINDEXING_COMPLETED
: estos valores de estado indican cuándo se ha iniciado y completado la indexación de un recurso. -
DELETION_STARTED
yDELETION_COMPLETED
: estos valores de estado indican cuándo se ha iniciado y completado la eliminación de un recurso. -
METADATA_UPDATE_STARTED
yMETADATA_UPDATE_COMPLETED
: estos valores de estado indican cuándo se ha iniciado y completado la actualización de metadatos de un recurso. -
EMBEDDING_FAILED
,INDEXING_FAILED
,DELETION_FAILED
yMETADATA_UPDATE_FAILED
: estos valores de estado indican que se ha producido un error en el procesamiento de un recurso y los motivos se detallan en la propiedadstatus_reasons
. -
INDEXED
,DELETED
,PARTIALLY_INDEXED
,METADATA_PARTIALLY_INDEXED
yFAILED
: una vez finalizado el procesamiento de un documento, se publica un registro con el estado final del documento y el resumen del procesamiento dentro de la propiedadchunk_statistics
.
Ejemplos de consultas habituales para depurar los registros de la base de conocimientos
Puede interactuar con los registros realizando consultas. Por ejemplo, puede consultar todos los documentos con el estado del evento RESOURCE_IGNORED
durante la ingesta de documentos o datos.
A continuación, se muestran algunas consultas habituales que se pueden utilizar para depurar los registros generados con CloudWatch Logs Insights:
-
Consulta de todos los registros generados para un documento de S3 específico:
filter event.document_location.s3_location.uri = "s3://<bucketName>/<objectKey>"
-
Consulta de todos los documentos ignorados durante el trabajo de ingesta de datos:
filter event.status = "RESOURCE_IGNORED"
-
Consulta de todas las excepciones que se han producido al incrustar documentos de forma vectorial:
filter event.status = "EMBEDDING_FAILED"
-
Consulta de todas las excepciones que se han producido al indexar documentos en la base de datos vectorial:
filter event.status = "INDEXING_FAILED"
-
Consulta de todas las excepciones que se han producido al eliminar documentos de la base de datos vectorial:
filter event.status = "DELETION_FAILED"
-
Consulta de todas las excepciones que se han producido al actualizar los metadatos del documento de la base de datos vectorial:
filter event.status = "DELETION_FAILED"
-
Consulta de todas las excepciones que se han producido al ejecutar un trabajo de ingesta de datos:
filter level = "ERROR" or level = "WARN"