Filtragem por metadados em RAG (Metadata Filtering)
Técnica de busca combinada em bancos de dados vetoriais (Self-Querying Retriever). Permite combinar a busca semântica por significado com filtros rigorosos do banco de dados baseados em metadados: data de publicação, autor do documento, nível de acesso, idioma ou departamento da empresa.
1. Visão geral do conceito e propósito
Imagine uma grande biblioteca onde todos os livros estão empilhados em uma montanha gigante no meio da sala. Você se aproxima e diz: "Encontre para mim as normas de segurança do trabalho". O bibliotecário encontra um folheto... mas descobre-se que é um folheto de 1978! Embora, por conteúdo, ele seja perfeitamente adequado ao tema "segurança do trabalho", suas regras estão obsoletas há meio século.
A busca vetorial pura sofre exatamente dessa cegueira: ela avalia apenas a similaridade semântica das palavras, ignorando completamente a data, o autor ou o status do documento.
Para corrigir isso, utiliza-se a Filtragem por Metadados (Metadata Filtering).
Analogia prática: é como os filtros em um site de e-commerce: você busca por "tênis" (busca semântica), mas marca as opções: "apenas tamanho 42", "cor preta" e "desconto acima de 20%" (metadados).
2. Como funciona a busca bifásica com filtragem
┌─────────────────────────────────────────────────────────────┐
│ ESQUEMA DE FILTRAGEM METADADOS │
├─────────────────────────────────────────────────────────────┤
│ 👤 CONSULTA HUMANA: │
│ «Quais são as novas instruções para entregadores │
│ publicadas em 2026?» │
├─────────────────────────────────────────────────────────────┤
│ 🧠 O LLM DIVIDE AUTOMATICAMENTE A CONSULTA EM DUAS PARTES: │
│ 1. Vetor semântico: «instruções obrigações entrega» │
│ 2. Filtro SQL rígido: │
│ `WHERE year == 2026 AND category == 'logistics'` │
├─────────────────────────────────────────────────────────────┤
│ 🗄️ BANCO DE DADOS VETORIAL (Qdrant / Pinecone): │
│ - Elimina instantaneamente 95% dos documentos antigos │
│ de outros anos │
│ - Busca os vetores semânticos mais próximos nos │
│ 5% restantes │
├─────────────────────────────────────────────────────────────┤
│ 🎯 RESULTADO: Apenas as instruções atuais de 2026! │
└─────────────────────────────────────────────────────────────┘
3. Os 4 principais campos de metadados que salvarão seu projeto
- Data de criação / atualização (
updated_at): priorize sempre regulamentos recentes sobre arquivos antigos. - Nível de permissão de acesso (
role_allowed): proteção contra estagiários verem, nas respostas do bot, arquivos marcados comostrictly_confidential. - Status da versão (
status: 'active' | 'archived'): exclusão de rascunhos e projetos desatualizados. - Idioma do documento (
lang: 'uk' | 'en'): evita a mistura caótica de respostas em idiomas diferentes.
4. Conclusão prática
Vetores sem metadados representam apenas metade do sucesso. Sempre acompanhe cada chunk armazenado na base com um rico passaporte de metadados — isso transformará um gerador aleatório de citações em um sistema de negócios rigoroso e juridicamente confiável.
FAQ: Filtragem por metadados em RAG (Metadata Filtering)
Termos relacionados
Busca Vetorial vs. Ctrl+F (Dense vs Sparse)
Comparação entre duas abordagens de busca: a semântica baseada em redes neurais (Dense Retrieval) e a clássica por correspondência de palavras-chave (Sparse / BM25). Explica por que a busca vetorial pode falhar na pesquisa de códigos de produtos (SKUs) e como funciona a busca híbrida.
Conexão de bases de conhecimento (Google Drive, Notion, Confluence)
Tecnologia de integração de fontes corporativas de dados com modelos de linguagem usando conectores prontos (Connectors / ETL). Sincroniza automaticamente documentos atualizados do Google Drive, Notion, Confluence e Slack com a base vetorial, sem necessidade de upload manual de arquivos.
Bancos de Dados Vetoriais (Vector DBs & Busca ANN)
SGBDs especializados e extensões (Qdrant, pgvector, Milvus, Chroma, Turso), otimizados para armazenar milhões de vetores multidimensionais e realizar buscas aproximadas de vizinhos mais próximos (Approximate Nearest Neighbors) em alta velocidade.