Skip to main content

Filtragem por metadados em RAG (Metadata Filtering)

PARA AGENTES DE IAChatGPTClaude

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

  1. Data de criação / atualização (updated_at): priorize sempre regulamentos recentes sobre arquivos antigos.
  2. Nível de permissão de acesso (role_allowed): proteção contra estagiários verem, nas respostas do bot, arquivos marcados como strictly_confidential.
  3. Status da versão (status: 'active' | 'archived'): exclusão de rascunhos e projetos desatualizados.
  4. 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.

/ Perguntas FrequentesSchema.org FAQPage

FAQ: Filtragem por metadados em RAG (Metadata Filtering)

São os dados descritivos do arquivo que informam suas propriedades, e não o conteúdo em si. Por exemplo: `author: 'Contador-chefe'`, `year: 2026`, `department: 'Finance'`, `access_level: 'confidential'`.
/ Links internos
Todos os termos