A arquitetura completa por trás do Nyeera.
Hardware, sistema operacional, motor de inferência, orquestração de RAG e as linguagens que sustentam cada camada — tudo em um só lugar, com o repositório aberto para inspeção.
A máquina que estava abandonada
O único componente adicionado foi o SSD. O objetivo do estudo era medir o que essa configuração específica consegue sustentar.
Camadas de software escolhidas por peso, não por moda
Cada componente foi avaliado pelo que consome em repouso e sob carga. Onde havia escolha entre "mais completo" e "mais leve", o mais leve venceu por padrão.
Linux, distribuição minimalista
Instalação enxuta, sem ambiente gráfico obrigatório, reduzindo o consumo de RAM ocioso do próprio sistema antes mesmo do pipeline iniciar.
llama.cpp (via bindings Python)
Runtime em C/C++ especializado em inferência de LLMs quantizados em CPU, sem dependência de CUDA ou drivers de GPU.
Índice local (FAISS / Chroma)
Armazenamento e busca por similaridade rodando embarcados no processo, sem servidor de banco de dados externo.
API local em FastAPI
Serviço HTTP leve expondo o pipeline de RAG, permitindo integrar o modelo a outras aplicações sem reescrever a lógica de inferência.
Da requisição HTTP ao token gerado
A pilha em camadas, de cima para baixo — da interface que o usuário toca até o hardware que efetivamente executa o modelo.
Páginas HTML/CSS/JS — como esta — para documentação, demonstração e consumo direto do serviço.
Endpoints de consulta e ingestão de documentos, com validação de entrada e streaming de resposta.
Chunking, roteamento de consultas, montagem de prompt com contexto recuperado e chamada ao motor de inferência.
Modelo de embedding compacto para converter documentos e consultas em vetores comparáveis.
Armazenamento local dos vetores com recuperação aproximada de vizinhos mais próximos.
Carregamento e execução do LLM em formato GGUF, com controle explícito de threads de CPU.
Ubuntu Server. 7.0.0-29-generic #29-Ubuntu
CPU Intel Core i5-3210M (dual-core, 4 threads). Memória RAM 16GB PC3-12800 DDR3. GPU Integrada Intel HD Graphics 4000 (não utilizada). Storage: SATA HD 5400-rpm.
| Tecnologia | Categoria | Papel no projeto |
|---|---|---|
| Python 3.x | Linguagem principal | Orquestração do pipeline, API e scripts de indexação. |
| C / C++ | Linguagem de baixo nível | Núcleo do motor de inferência (llama.cpp), crítico para desempenho em CPU. |
| llama.cpp | Motor de inferência | Executa o LLM quantizado (GGUF) sem depender de GPU. |
| LangChain / LlamaIndex | Orquestração de RAG | Encadeia recuperação de contexto e geração de resposta. |
| sentence-transformers | Embeddings | Gera os vetores usados na busca por similaridade. |
| FAISS / Chroma | Banco vetorial | Indexação e busca local dos vetores de contexto. |
| FastAPI + Uvicorn | API | Expõe o pipeline como serviço HTTP local. |
| HTML / CSS / JavaScript | Frontend | Interface de documentação e demonstração do projeto. |
O repositório está aberto para inspeção
Todo o pipeline — scripts de indexação, configuração do motor de inferência e a API — está versionado publicamente.
github.com/elmironeto/nyeera/
Estudo de caso e implementação de referência para RAG local em hardware restrito: sem GPU dedicada, 16GB de RAM, CPU legada.
Uma arquitetura pensada para ser auditada, não só demonstrada.
Cada camada deste stack existe por um motivo de custo — de memória, de latência ou de dependência de rede. O código no repositório é a prova disso.