Recuperação tradicional (BM25, TF-IDF) compara palavras-chave da consulta com palavras-chave dos documentos, ponderadas por frequência e importância. É rápida, interpretável e excelente para correspondências exatas. Recuperação semântica codifica consultas e documentos como embeddings e encontra vizinhos mais próximos no espaço vetorial. Lida com paráfrases e similaridade conceitual, mas pode perder correspondências exatas de palavras-chave. Recuperação híbrida combina ambas, tipicamente usando reciprocal rank fusion para mesclar resultados.
Para RAG, documentos precisam ser divididos em chunks antes do embedding. O tamanho do chunk é uma decisão crítica de design: muito pequeno e você perde contexto, muito grande e você dilui informação relevante com ruído. Estratégias comuns incluem chunks de tamanho fixo com sobreposição, divisão por sentenças, divisão por parágrafos e divisão recursiva que respeita a estrutura do documento (cabeçalhos, seções). A abordagem ideal depende dos seus documentos e consultas.
Um padrão comum: recupere um conjunto amplo de candidatos (digamos 50) usando recuperação rápida, depois reranqueie-os usando um modelo mais preciso (mas mais lento). Rerankers cross-encoder (como Cohere Rerank ou BGE-Reranker) processam pares consulta-documento juntos, produzindo scores de relevância mais precisos do que similaridade de embedding sozinha. Esse pipeline de dois estágios equilibra velocidade (recuperação inicial rápida) com precisão (reranking preciso dos melhores candidatos).