Aprendizagem pessoal com IA
e orientação prática

AI Engineering Academy: 2.4 Técnicas de fragmentação de dados para sistemas de geração aumentada de recuperação (RAG)

breve

A fragmentação de dados é uma etapa fundamental dos sistemas RAG (Retrieval Augmented Generation). Ele divide documentos grandes em partes menores e gerenciáveis para indexação, recuperação e processamento eficientes. Este LEIAME fornece RAG Visão geral dos vários métodos de chunking disponíveis no pipeline.

https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_Data_Ingestion


 

Importância do chunking no RAG

A fragmentação eficaz é essencial para o sistema RAG porque pode:

  1. Melhorar a precisão da recuperação criando unidades de informação coerentes e autônomas.
  2. Aumento da eficiência da geração de incorporação e da pesquisa de similaridade.
  3. Permite uma seleção de contexto mais precisa ao gerar respostas.
  4. Ajude a gerenciar modelos de linguagem e sistemas incorporados de Token Limitações.

 

Método de fragmentação

Implementamos seis métodos diferentes de chunking, cada um com diferentes vantagens e cenários de uso:

  1. RecursiveCharacterTextSplitter
  2. TokenTextSplitter
  3. KamradtSemanticChunker
  4. KamradtModifiedChunker
  5. ClusterSemanticChunker
  6. LLMSemanticChunker

 

fragmentação

1. RecursiveCharacterTextSplitter

2. TokenTextSplitter

3. KamradtSemanticChunker

4. KamradtModifiedChunker

5. clusterSemanticChunker

6. LLMSemanticChunker

 

Descrição do método

  1. RecursiveCharacterTextSplitterDivisão de texto: divide o texto com base em uma hierarquia de delimitadores, priorizando pontos de interrupção naturais no documento.
  2. TokenTextSplitterDivisão de texto: divide o texto em blocos de um número fixo de tokens, garantindo que a divisão ocorra nos limites dos tokens.
  3. KamradtSemanticChunkerUse a incorporação de janelas deslizantes para identificar descontinuidades semânticas e segmentar o texto adequadamente.
  4. KamradtModifiedChunkerKamradtSemanticChunker: uma versão aprimorada do KamradtSemanticChunker que usa a pesquisa de bissecção para encontrar o limite ideal para a segmentação.
  5. ClusterSemanticChunkerDivisão do texto em partes, cálculo dos embeddings e uso de programação dinâmica para criar partes ideais com base na similaridade semântica.
  6. LLMSemanticChunkerUse a modelagem de linguagem para identificar pontos de segmentação apropriados no texto.

Uso

Para usar esses métodos de fragmentação em seu processo RAG:

  1. através de (uma lacuna) chunkers para importar os chunkers necessários.
  2. Inicialize o agrupador com os parâmetros apropriados (por exemplo, tamanho máximo do agrupamento, sobreposição).
  3. Passe seu documento para o fragmentador para obter resultados de fragmentação.

Exemplo:

from chunkers import RecursiveCharacterTextSplitter
chunker = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = chunker.split_text(seu_documento)

Como escolher um método de fragmentação

A escolha do método de fragmentação depende de seu caso de uso específico:

  • Para a divisão simples de texto, você pode usar o RecursiveCharacterTextSplitter ou o TokenTextSplitter.
  • Se a segmentação com reconhecimento semântico for necessária, considere o KamradtSemanticChunker ou o KamradtModifiedChunker.
  • Para obter um chunking semântico mais avançado, use o ClusterSemanticChunker ou o LLMSemanticChunker.

Fatores a serem considerados ao selecionar um método:

  • Estrutura do documento e tipos de conteúdo
  • Tamanho do bloco e sobreposição necessários
  • Recursos de computação disponíveis
  • Requisitos específicos do sistema de recuperação (por exemplo, baseado em vetores ou em palavras-chave)

É possível experimentar diferentes métodos e encontrar o que melhor se adapta às suas necessidades de documentação e recuperação.

Integração com sistemas RAG

Depois de concluir o chunking, geralmente são executadas as seguintes etapas:

  1. Gerar embeddings para cada pedaço (para sistemas de recuperação baseados em vetores).
  2. Indexar esses blocos no sistema de recuperação selecionado (por exemplo, banco de dados vetorial, índice invertido).
  3. Ao responder a uma consulta, use os blocos de índice na etapa de recuperação.

 

Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " AI Engineering Academy: 2.4 Técnicas de fragmentação de dados para sistemas de geração aumentada de recuperação (RAG)

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil