Personalizar a ingestão para uma fonte de dados - Amazon Bedrock

Personalizar a ingestão para uma fonte de dados

Você pode personalizar a ingestão de vetores ao conectar uma fonte de dados no Console de gerenciamento da AWS ou modificando o valor do campo vectorIngestionConfiguration ao enviar uma solicitação CreateDataSource.

Selecione um tópico para saber como incluir configurações para personalizar a ingestão ao se conectar a uma fonte de dados:

Escolher a ferramenta a ser usada para análise

É possível personalizar a forma como os documentos em suas fontes de dados são analisados. Para saber mais sobre as opções de análise de dados nas Bases de Conhecimento do Amazon Bedrock, consulte Opções de análise para a fonte de dados.

Atenção

Não será possível analisar a estratégia após a conexão da fonte de dados. Para usar uma estratégia de análise diferente, você pode adicionar uma nova fonte de dados.

É possível adicionar um local do S3 para armazenar dados multimodais (como imagens, figuras, gráficos e tabelas) depois de criar uma base de conhecimento. Se você quiser incluir dados multimodais e usar um analisador compatível, deverá criar outra base de conhecimento.

As etapas envolvidas na escolha de uma estratégia de análise dependem de você estar usando o Console de gerenciamento da AWS ou a API do Amazon Bedrock e do método de análise escolhido. Se você escolher um método de análise que aceite dados multimodais, deverá especificar um URI do S3 no qual armazenar os dados multimodais extraídos dos documentos. Esses dados podem ser exibidos na consulta à base de conhecimento.

  • No Console de gerenciamento da AWS, faça o seguinte:

    1. Selecione a estratégia de análise ao se conectar a uma fonte de dados enquanto estiver configurando uma base de conhecimento ou adicionando uma nova fonte de dados à base de conhecimento existente.

    2. (Se você escolher a Automação de Dados do Amazon Bedrock ou um modelo de base como estratégia de análise) Especifique um URI do S3 no qual armazenar os dados multimodais extraídos dos documentos na seção Destino de armazenamento multimoda ao selecionar um modelo de incorporação e configurar o armazenamento de vetores. Também é possível usar uma chave gerenciada pelo cliente para criptografar dados do S3 nesta etapa.

  • Na API do Amazon Bedrock, faça o seguinte:

    1. (Se você planeja usar a Automação de Dados do Amazon Bedrock ou um modelo de base como estratégia de análise) Inclua SupplementalDataStorageLocation na configuração de VectorKnowledgeBaseConfiguration de uma solicitação CreateKnowledgeBase.

    2. Inclua ParsingConfiguration no campo parsingConfiguration de VectorIngestionConfiguration na solicitação CreateDataSource.

      nota

      Se você omitir essa configuração, as Bases de Conhecimento do Amazon Bedrock usarão o analisador padrão do Amazon Bedrock.

Para obter mais detalhes sobre como especificar uma estratégia de análise na API, expanda a seção que corresponde à estratégia de análise que você deseja usar:

Para usar o analisador padrão, não inclua um campo parsingConfiguration na VectorIngestionConfiguration.

Para usar o analisador da Automação de Dados do Amazon Bedrock, especifique BEDROCK_DATA_AUTOMATION no campo parsingStrategy de ParsingConfiguration e inclua BedrockDataAutomationConfiguration no campo bedrockDataAutomationConfiguration, conforme o seguinte formato:

{ "parsingStrategy": "BEDROCK_DATA_AUTOMATION", "bedrockDataAutomationConfiguration": { "parsingModality": "string" } }

Para usar um modelo de base como analisador, especifique o BEDROCK_FOUNDATION_MODEL no campo parsingStrategy de ParsingConfiguration e inclua BedrockFoundationModelConfiguration no campo bedrockFoundationModelConfiguration, conforme o seguinte formato:

{ "parsingStrategy": "BEDROCK_FOUNDATION_MODEL", "bedrockFoundationModelConfiguration": { "modelArn": "string", "parsingModality": "string", "parsingPrompt": { "parsingPromptText": "string" } } }

Escolher uma estratégia de fragmentação

Você pode personalizar a forma como os documentos em sua fontes de dados são agrupados para armazenamento e recuperação. Para saber mais sobre as opções para fragmentar dados nas Bases de Conhecimento do Amazon Bedrock, consulte Como a fragmentação de conteúdo funciona para bases de conhecimento.

Atenção

Não será possível alterar a estratégia de fragmentação após a conexão da fonte de dados.

No Console de gerenciamento da AWS, você escolhe a estratégia de fragmentação ao estabelecer conexão com uma fonte de dados. Com a API Amazon Bedrock, você inclui uma ChunkingConfiguration no campo chunkingConfiguration da VectorIngestionConfiguration.

nota

Se você omitir essa configuração, o Amazon Bedrock dividirá o conteúdo em fragmentos de aproximadamente 300 tokens, preservando os limites das frases.

Expanda a seção que corresponde à estratégia de análise que você deseja usar:

Para tratar cada documento em sua fonte de dados como um único fragmento de origem, especifique NONE no campo chunkingStrategy de ChunkingConfiguration, conforme o seguinte formato:

{ "chunkingStrategy": "NONE" }

Para dividir cada documento em sua fonte de dados em partes com aproximadamente o mesmo tamanho, especifique FIXED_SIZE no campo chunkingStrategy de ChunkingConfiguration e inclua FixedSizeChunkingConfiguration no campo fixedSizeChunkingConfiguration, conforme o seguinte formato:

{ "chunkingStrategy": "FIXED_SIZE", "fixedSizeChunkingConfiguration": { "maxTokens": number, "overlapPercentage": number } }

Para dividir cada documento em sua fonte de dados em dois níveis, em que a segunda camada contém partes menores derivadas da primeira camada, especifique HIERARCHICAL no campo chunkingStrategy de ChunkingConfiguration e inclua o campo hierarchicalChunkingConfiguration, conforme o seguinte formato:

{ "chunkingStrategy": "HIERARCHICAL", "hierarchicalChunkingConfiguration": { "levelConfigurations": [{ "maxTokens": number }], "overlapTokens": number } }

Para dividir cada documento em sua fonte de dados em partes que priorizam o significado semântico à estrutura sintática, especifique SEMANTIC no campo chunkingStrategy de ChunkingConfiguration e inclua o campo semanticChunkingConfiguration, conforme o seguinte formato:

{ "chunkingStrategy": "SEMANTIC", "semanticChunkingConfiguration": { "breakpointPercentileThreshold": number, "bufferSize": number, "maxTokens": number } }

Usar uma função do Lambda durante a ingestão

É possível pós-processar como os fragmentos de origem dos dados são gravados no armazenamento de vetores com uma função do Lambda das seguintes maneiras:

  • Inclua a lógica de fragmentação para fornecer uma estratégia de fragmentação personalizada.

  • Inclua lógica para especificar metadados em nível de fragmento.

Para saber como criar uma função do Lambda personalizada para ingestão, consulte Usar uma função do Lambda de transformação personalizada para definir como os dados são ingeridos. No Console de gerenciamento da AWS, escolha a função do Lambda ao se conectar a uma fonte de dados. Com a API do Amazon Bedrock, você inclui CustomTransformationConfiguration no campo CustomTransformationConfiguration de VectorIngestionConfiguration e especifica o ARN do Lambda, conforme o seguinte formato:

{ "transformations": [{ "transformationFunction": { "transformationLambdaConfiguration": { "lambdaArn": "string" } }, "stepToApply": "POST_CHUNKING" }], "intermediateStorage": { "s3Location": { "uri": "string" } } }

Especifique também o local do S3 no qual armazenar a saída depois de aplicar a função do Lambda.

Você pode incluir o campo chunkingConfiguration para aplicar a função do Lambda depois de aplicar uma das opções de fragmentação que o Amazon Bedrock oferece.