Conexión a Amazon S3 para la base de conocimiento - Amazon Bedrock

Conexión a Amazon S3 para la base de conocimiento

Amazon S3 es un servicio de almacenamiento de objetos que almacena datos como objetos dentro de buckets. Puede conectarse al bucket de Amazon S3 para su base de conocimientos de Amazon Bedrock mediante la Consola de administración de AWS de Amazon Bedrock o la API de CreateDataSource (consulte los SDK compatibles con Amazon Bedrock y AWS CLI).

Puede cargar un lote pequeño de archivos en un bucket de Amazon S3 con la consola o la API de Amazon S3. También puede usar AWS DataSync para cargar varios archivos a S3 de forma continua y transferir archivos de forma programada desde las instalaciones, la periferia, otra nube o el almacenamiento de AWS.

Actualmente, solo se admiten los buckets de S3 de uso general.

Existen límites en cuanto al número de archivos y MB por archivo que pueden rastrearse. Consulte Cuotas de las bases de conocimientos.

Características admitidas

  • Campos de metadatos del documento

  • Prefijos de inclusión

  • El contenido incremental se sincroniza para añadir, actualizar o eliminar contenido

Requisitos previos

En Amazon S3, asegúrese de:

  • Tomar nota del URI del bucket de Amazon S3, el nombre de recurso de Amazon (ARN) y el ID de la cuenta de AWS del propietario del bucket. Puede encontrar el URI y el ARN en la sección de propiedades de la consola de Amazon S3. Su bucket debe estar en la misma región que su base de conocimiento de Amazon Bedrock. Debe disponer de permiso para acceder al bucket.

En la cuenta de AWS, asegúrese de:

  • Incluir los permisos necesarios para conectarse al origen de datos en la política de roles y permisos de AWS Identity and Access Management (IAM) de su base de conocimientos. Para obtener más información sobre los permisos necesarios para que este origen de datos se añada a su rol de IAM en la base de conocimientos, consulte Permisos para acceder a los orígenes de datos.

nota

Si usa la consola, el rol de IAM con todos los permisos necesarios se puede crear como parte de los pasos para crear una base de conocimientos. Una vez que haya configurado el origen de datos y otras configuraciones, el rol de IAM con todos los permisos necesarios se aplicará a su base de conocimientos específica.

Configuración de la conexión

Para conectarse al bucket de Amazon S3, debe proporcionar la información de configuración necesaria para que Amazon Bedrock pueda acceder a sus datos y rastrearlos. También debe seguir los Requisitos previos.

En esta sección se incluye un ejemplo de configuración para este origen de datos.

Para obtener más información sobre los filtros de inclusión o exclusión, los campos de metadatos del documento, la sincronización incremental y su funcionamiento, seleccione lo siguiente:

Puede incluir un archivo independiente que especifique los campos o atributos de metadatos del documento para cada archivo de su origen de datos de Amazon S3 y si desea incluirlos en las incrustación al indexar el origen de datos en el almacén de vectores. Por ejemplo, puede crear un archivo con el siguiente formato, asignarle el nombre fileName.extension.metadata.json y cargarlo en su bucket de S3.

{ "metadataAttributes": { "company": { "value": { "type": "STRING", "stringValue": "BioPharm Innovations" }, "includeForEmbedding": true }, "created_date": { "value": { "type": "NUMBER", "numberValue": 20221205 }, "includeForEmbedding": true }, "author": { "value": { "type": "STRING", "stringValue": "Lisa Thompson" }, "includeForEmbedding": true }, "origin": { "value": { "type": "STRING", "stringValue": "Overview" }, "includeForEmbedding": true } } }

El archivo de metadatos debe usar el mismo nombre que el archivo de documento de origen asociado, con .metadata.json adjunto al final del nombre del archivo. El archivo de metadatos debe estar almacenado en la misma carpeta o ubicación que el archivo de origen en su bucket de Amazon S3. El archivo no debe superar el límite de 10 KB. Para obtener más información sobre los tipos de datos de atributo y campo y los operadores de filtrado admitidos que puede aplicar a los campos de metadatos, consulte Metadatos y filtrado.

Puede especificar un prefijo de inclusión, que es un prefijo de ruta de Amazon S3, donde puede usar un archivo o una carpeta de S3 en lugar de todo el bucket para crear el conector de origen de datos de S3.

El conector del origen de datos rastrea el contenido nuevo, modificado y eliminado cada vez que el origen de datos se sincroniza con la base de conocimientos. Amazon Bedrock puede utilizar el mecanismo del origen de datos para realizar un seguimiento de los cambios en el contenido y rastrear el contenido modificado desde la última sincronización. Al sincronizar el origen de datos con la base de conocimientos por primera vez, todo el contenido se rastrea de forma predeterminada.

Para sincronizar el origen de datos con la base de conocimientos, utilice la API de StartIngestionJob o seleccione su base de conocimientos en la consola y seleccione Sincronizar en la sección de información general del origen de datos.

importante

Todos los datos que sincronice desde el origen de datos estarán disponibles para cualquier persona que tenga permisos bedrock:Retrieve para obtenerlos. Esto también puede incluir los datos con permisos de orígenes de datos controlados. Para obtener más información, consulte Permisos de la base de conocimientos.

Console
Cómo conectar un bucket de Amazon S3 a su base de conocimiento
  1. Siga los pasos que se indican en Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock y elija Amazon S3 como el origen de datos.

  2. Proporcione un nombre para el origen de datos.

  3. Especifique si el bucket de Amazon S3 está en su cuenta de AWS actual o en otra cuenta de AWS. Su bucket debe estar en la misma región que la base de conocimiento.

  4. (Opcional) Si el bucket de Amazon S3 está cifrado con una clave de KMS, incluya la clave. Para obtener más información, consulte Permisos para descifrar la clave AWS KMS de los orígenes de datos en Amazon S3.

  5. (Opcional) En la sección Análisis y fragmentación del contenido, puede personalizar la forma de analizar y fragmentar los datos. Para obtener más información sobre estas personalizaciones, consulte los siguientes recursos:

  6. En la sección Configuración avanzada, si lo desea, puede configurar lo siguiente:

    • Clave de KMS para el almacenamiento de datos transitorios: : puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la Clave administrada de AWS predeterminada o con su propia clave de KMS. Para obtener más información, consulte Cifrado del almacenamiento de datos transitorios durante la ingesta de datos.

    • Política de eliminación de datos: puede eliminar las incrustaciones vectoriales de su origen de datos que están almacenadas en el almacén de vectores de forma predeterminada u optar por conservar los datos del almacén de vectores.

  7. Continúe eligiendo un modelo de incrustación y un almacén de vectores. Para ver los pasos restantes, regrese a Creación de una base de conocimiento conectándola a un origen de datos de Bases de conocimiento de Amazon Bedrock y continúe desde allí después de conectar el origen de datos.

API

El siguiente es un ejemplo de una configuración para conectarse a Amazon S3 para la base de conocimientos de Amazon Bedrock. El origen de datos se configura mediante la API con la AWS CLI o un SDK compatible, como Python. Después de llamar a CreateKnowledgeBase, llame a CreateDataSource para crear el origen de datos con la información de conexión en dataSourceConfiguration.

Para obtener información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del campo vectorIngestionConfiguration opcional, consulte Personalización de la ingesta de un origen de datos.

AWS Command Line Interface

aws bedrock-agent create-data-source \ --name "S3-connector" \ --description "S3 data source connector for Amazon Bedrock to use content in S3" \ --knowledge-base-id "your-knowledge-base-id" \ --data-source-configuration file://s3-bedrock-connector-configuration.json \ --data-deletion-policy "DELETE" \ --vector-ingestion-configuration '{"chunkingConfiguration":{"chunkingStrategy":"FIXED_SIZE","fixedSizeChunkingConfiguration":{"maxTokens":100,"overlapPercentage":10}}}' s3-bedrock-connector-configuration.json { "s3Configuration": { "bucketArn": "arn:aws:s3:::bucket-name", "bucketOwnerAccountId": "000000000000", "inclusionPrefixes": [ "documents/" ] }, "type": "S3" }