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

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.

Conexión a Amazon S3 para la base de conocimientos de Amazon Bedrock

Amazon S3 es un servicio de almacenamiento de objetos que almacena datos como objetos dentro de buckets. Puede conectarse a su bucket de Amazon S3 para su base de conocimientos de Amazon Bedrock mediante la consola de AWS administración de Amazon Bedrock o la CreateDataSourceAPI(consulte Amazon Bedrock compatible SDKs y). AWS CLI

Puede cargar un lote pequeño de archivos a un bucket de Amazon S3 mediante la consola Amazon S3 oAPI. También puede usarlo AWS DataSyncpara cargar varios archivos a S3 de forma continua y transferir archivos de forma programada desde una ubicación local, perimetral, otra nube o AWS almacenamiento.

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

  • Filtros de inclusión o exclusión de contenido

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

Requisitos previos

En Amazon S3, asegúrese de:

  • Anote el bucket de Amazon S3URI, el nombre del recurso de Amazon (ARN) y el ID de AWS cuenta del propietario del bucket. Puede encontrar el URI y 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 conocimientos de Amazon Bedrock. Debe disponer de permiso para acceder al bucket.

En su AWS cuenta, 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 información sobre los permisos necesarios para que esta fuente de datos se añada a su IAM función en la base de conocimientos, consulte Permisos para acceder a las fuentes de datos.

nota

Si usa la consola, puede crear automáticamente el IAM rol con todos los permisos necesarios 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 la fuente de datos de Amazon S3 y si desea incluirlos en las incrustaciones al indexar la fuente de datos en el almacén vectorial. Por ejemplo, puede crear un archivo con el siguiente formato, asignarle un nombre example.metadata.json y subirlo a 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 incluir o excluir el rastreo de determinado contenido. Por ejemplo, puede especificar un patrón de prefix/regular expression pattern to skip crawling any file that contains “private” in the file name. You could also specify an inclusion prefix/regular expresión de exclusión para incluir determinadas entidades o tipos de contenido. Si especifica un filtro de inclusión y exclusión y ambos coinciden con un documento, el filtro de exclusión tiene prioridad y el documento no se rastrea.

Un ejemplo de patrón de filtro para incluir solo PDF archivos: «.*\\ .pdf»

El conector de la fuente de datos rastrea el contenido nuevo, modificado y eliminado cada vez que la fuente de datos se sincroniza con la base de conocimientos. Amazon Bedrock puede usar el mecanismo de la fuente 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 la fuente de datos con la base de conocimientos, usa StartIngestionJobAPIo selecciona tu base de conocimientos en la consola y selecciona Sincronizar en la sección de información general de la fuente 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
Para conectar un bucket de Amazon S3 a su base de conocimientos
  1. Siga los pasos que se indican en Cree una base de conocimientos en Amazon Bedrock Knowledge Bases y elija Amazon S3 como fuente de datos.

  2. Proporcione un nombre para la fuente de datos.

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

  4. (Opcional) Si el bucket de Amazon S3 está cifrado con una KMS clave, inclúyala. 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 de análisis y fragmentación del contenido, puede personalizar la forma de analizar y fragmentar los datos. Consulta los siguientes recursos para obtener más información sobre estas personalizaciones:

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

    • KMSclave para el almacenamiento de datos transitorios. — Puede cifrar los datos transitorios y, al mismo tiempo, convertirlos en incrustaciones con la clave predeterminada o con su propia clave. Clave administrada de AWS 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 fuente de datos que están almacenadas en el almacén de vectores de forma predeterminada o optar por conservar los datos del almacén de vectores.

  7. Siga eligiendo un modelo de incrustaciones y un almacén de vectores. Para ver los pasos restantes, regrese al paso Cree una base de conocimientos en Amazon Bedrock Knowledge Bases y continúe desde allí después de conectar la fuente 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. La fuente de datos se configura API con AWS CLI o con soporteSDK, como Python. Después de llamar CreateKnowledgeBase, llama CreateDataSourcepara crear su fuente de datos con la información de conexióndataSourceConfiguration.

Para obtener más información sobre las personalizaciones que puede aplicar a la ingesta mediante la inclusión del vectorIngestionConfiguration campo opcional, consulte. Personalice la ingesta de una fuente de datos

AWS Command Line Interface

aws bedrock 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": [ ".*\\.pdf" ] }, "type": "S3" }