Personalización de la ingesta de un origen de datos
Puede personalizar la ingesta de vectores al conectar un origen de datos en la Consola de administración de AWS o modificando el valor del campo vectorIngestionConfiguration al enviar una solicitud CreateDataSource.
Seleccione un tema para obtener información acerca de cómo incluir configuraciones para personalizar la ingesta al conectarse a un origen de datos:
Temas
Selección de la herramienta que se utilizará para el análisis
Puede personalizar la forma en que se analizan los documentos en sus datos. Para obtener más información sobre las opciones de análisis de datos en Bases de conocimiento de Amazon Bedrock, consulte Opciones de análisis del origen de datos.
aviso
No puede cambiar la configuración de análisis después de conectarse al origen de datos. Para usar una estrategia de análisis diferente, puede añadir un nuevo origen de datos.
No puede añadir una ubicación de S3 para almacenar datos multimodales (incluidas imágenes, figuras, gráficos y tablas) después de haber creado una base de conocimiento. Si desea incluir datos multimodales y usar un analizador que los admita, debe crear una base de conocimiento nueva.
Los pasos necesarios para elegir una estrategia de análisis dependen de si utiliza la Consola de administración de AWS o la API de Amazon Bedrock y del método de análisis que elija. Si elige un método de análisis que admite datos multimodales, debe especificar un URI de S3 en el que almacenar los datos multimodales extraídos de sus documentos. Estos datos se pueden devolver en una consulta a la base de conocimiento.
-
En Consola de administración de AWS, haga lo siguiente:
-
Seleccione la estrategia de análisis cuando se conecte a un origen de datos mientras configura una base de conocimiento o cuando añada un nuevo origen de datos a su base de conocimiento existente.
-
(Si elige Automatización de Datos de Amazon Bedrock o un modelo fundacional como estrategia de análisis) Especifique un URI de S3 en el que almacenar los datos multimodales extraídos de sus documentos en la sección Destino de almacenamiento multimodal cuando seleccione un modelo de incrustaciones y configure su almacén de vectores. Si lo desea, también puede utilizar una clave administrada por el cliente para cifrar sus datos de S3 en este paso.
-
-
En la API de Amazon Bedrock, haga lo siguiente:
-
(Si piensa utilizar Automatización de Datos de Amazon Bedrock o un modelo fundacional como estrategia de análisis) Incluya un valor de SupplementalDataStorageLocation en VectorKnowledgeBaseConfiguration de una solicitud CreateKnowledgeBase.
-
Incluya un valor de ParsingConfiguration en el campo
parsingConfigurationde VectorIngestionConfiguration de la solicitud CreateDataSource.nota
Si omite esta configuración, Bases de conocimiento de Amazon Bedrock utilizará el analizador predeterminado de Amazon Bedrock.
-
Para obtener más información sobre cómo especificar una estrategia de análisis en la API, amplíe la sección correspondiente a la estrategia de análisis que desee utilizar:
Para usar el analizador predeterminado, no incluya ningún campo parsingConfiguration dentro de VectorIngestionConfiguration.
Para utilizar el analizador de Automatización de Datos de Amazon Bedrock, especifique BEDROCK_DATA_AUTOMATION en el campo parsingStrategy ParsingConfiguration e incluya un valor de BedrockDataAutomationConfiguration en el campo bedrockDataAutomationConfiguration, con el siguiente formato:
{ "parsingStrategy": "BEDROCK_DATA_AUTOMATION", "bedrockDataAutomationConfiguration": { "parsingModality": "string" } }
Para utilizar un modelo fundacional como analizador, especifique BEDROCK_FOUNDATION_MODEL en el campo parsingStrategy de ParsingConfiguration e incluya un valor de BedrockFoundationModelConfiguration en el campo bedrockFoundationModelConfiguration, con el siguiente formato:
{ "parsingStrategy": "BEDROCK_FOUNDATION_MODEL", "bedrockFoundationModelConfiguration": { "modelArn": "string", "parsingModality": "string", "parsingPrompt": { "parsingPromptText": "string" } } }
Selección de una estrategia de fragmentación
Puede personalizar la forma en que se fragmentan los documentos de sus datos para su almacenamiento y recuperación. Para obtener más información sobre las opciones de fragmentación de datos en Bases de conocimiento de Amazon Bedrock, consulte Funcionamiento de la fragmentación de contenido para las bases de conocimiento.
aviso
No puede cambiar la configuración de fragmentación después de conectarse al origen de datos.
En la Consola de administración de AWS deberá elegir la estrategia de fragmentación al conectarse a un origen de datos. Con la API de Amazon Bedrock, incluye un valor de ChunkingConfiguration en el campo chunkingConfiguration de VectorIngestionConfiguration.
nota
Si omite esta configuración, Amazon Bedrock divide el contenido en fragmentos de aproximadamente 300 tokens, preservando los límites de las oraciones.
Amplíe la sección correspondiente a la estrategia de análisis que desea utilizar:
Para tratar cada documento del origen de datos como un fragmento de origen único, especifique NONE en el campo chunkingStrategy de ChunkingConfiguration, como en el siguiente formato:
{ "chunkingStrategy": "NONE" }
Para dividir cada documento del origen de datos en fragmentos de aproximadamente el mismo tamaño, especifique FIXED_SIZE en el campo chunkingStrategy de ChunkingConfiguration e incluya un valor de FixedSizeChunkingConfiguration en el campo fixedSizeChunkingConfiguration, como en el siguiente formato:
{ "chunkingStrategy": "FIXED_SIZE", "fixedSizeChunkingConfiguration": { "maxTokens": number, "overlapPercentage": number } }
Para dividir cada documento del origen de datos en dos niveles, donde la segunda capa contenga fragmentos más pequeños obtenidos de la primera capa, especifique HIERARCHICAL en el campo chunkingStrategy de ChunkingConfiguration e incluya el campo hierarchicalChunkingConfiguration, como en el siguiente formato:
{ "chunkingStrategy": "HIERARCHICAL", "hierarchicalChunkingConfiguration": { "levelConfigurations": [{ "maxTokens": number }], "overlapTokens": number } }
Para dividir cada documento del origen de datos en fragmentos que prioricen el significado semántico sobre la estructura sintáctica, especifique SEMANTIC en el campo chunkingStrategy de ChunkingConfiguration e incluya el campo semanticChunkingConfiguration, como en el siguiente formato:
{ "chunkingStrategy": "SEMANTIC", "semanticChunkingConfiguration": { "breakpointPercentileThreshold": number, "bufferSize": number, "maxTokens": number } }
Uso de una función de Lambda durante la ingesta
Puede posprocesar la forma en que se escriben los fragmentos de origen de sus datos en el almacén de vectores con una función de Lambda de las siguientes maneras:
-
Incluya una lógica de fragmentación para proporcionar una estrategia de fragmentación personalizada.
-
Incluya la lógica para especificar los metadatos de nivel de fragmento.
Para obtener información acerca de cómo escribir una función de Lambda personalizada para ingesta, consulte Uso de una función de Lambda de transformación personalizada para definir cómo se ingieren los datos. En la Consola de administración de AWS, la función de Lambda se elige al conectarse a un origen de datos. Con la API de Amazon Bedrock, debe incluir un valor de CustomTransformationConfiguration en el campo CustomTransformationConfiguration de VectorIngestionConfiguration y especificar el ARN de la función de Lambda, con el siguiente formato:
{ "transformations": [{ "transformationFunction": { "transformationLambdaConfiguration": { "lambdaArn": "string" } }, "stepToApply": "POST_CHUNKING" }], "intermediateStorage": { "s3Location": { "uri": "string" } } }
También debe especificar la ubicación de S3 en la que se almacenará la salida después de aplicar la función de Lambda.
Puede incluir el campo chunkingConfiguration para aplicar la función de Lambda después de aplicar una de las opciones de fragmentación que ofrece Amazon Bedrock.