Gleam.br Wiki

GBR: ADR-0002 Córtex Semântico com Compressão Extrema (DuckDB + TurboQuant) | Wiki

Documentação de engenharia e especificações técnicas da Gleam-BR.

GBR: ADR-0002 Córtex Semântico com Compressão Extrema (DuckDB + TurboQuant)

  • *Status:* Aceito
  • *Data:* 2026-05-01

*Contexto:*

Para viabilizar a Busca Semântica e o RAG (Retrieval-Augmented Generation) diretamente na Borda (Edge Computing) sem consumir gigabytes de memória RAM com KV Caches ou vetores densos (Float32), a arquitetura necessitava de uma compressão agressiva com perda mínima de fidelidade angular. Bancos de dados vetoriais tradicionais baseados em PostgreSQL (pgvector) possuem um footprint I/O incompatível com a distribuição de uma CLI autônoma.

*Decisão:*

  1. *Armazenamento Analítico Local:* Adoção do DuckDB embarcado através do Ator OTP gbr_graph, garantindo acesso analítico de alto desempenho sem necessidade de servidor de banco de dados externo.
  2. *Quantização Híbrida (Rust NIF):* O pipeline de vetorização submete os tensores gerados pelo modelo all-MiniLM-L6-v2 a um NIF Rust (semantic_nif) que implementa a matemática do *TurboQuant. Os vetores são comprimidos em duas matrizes: - *Fase 1 (1-bit QJL - Quantized Johnson-Lindenstrauss): Cada dimensão é colapsada no seu sinal (+1/-1), reduzindo os vetores para meros 48 bytes (384 bits). - Fase 2 (3-bit PolarQuant): Mapeamento angular discreto resultando em 144 bytes por vetor para re-ranking.
  3. *Mecânica de Busca no Hardware:* O DuckDB armazena o vetor QJL utilizando o seu tipo nativo BIT. A busca utiliza Locality-Sensitive Hashing (LSH), onde a similaridade de cosseno é aproximada ordenando a Distância de Hamming através de operações bitwise executadas diretamente no hardware via instruções POPCNT ($DH(a, b) = \sum |ai - b_i|$).

*Consequências:*

  • *Positivas:* Redução de quase 90% na ocupação de memória vetorial. Buscas em escala de milissegundos mesmo em bases documentais massivas rodando localmente no terminal do usuário. Isolamento total contra Segfaults de C++ via limites do padrão OTP.
  • *Negativas/Riscos:* A quantização introduz uma margem matemática de erro na similaridade perfeita. O projection_seed deve ser mantido estritamente imutável na base; uma alteração de seed corromperia o espaço vetorial, obrigando a reindexação global do catálogo .duckdb.