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:*
-
*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. -
*Quantização Híbrida (Rust NIF):* O pipeline de vetorização submete os tensores gerados pelo modelo
all-MiniLM-L6-v2a 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. -
*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çõesPOPCNT($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.