Pesquisa semântica local para conversas de IA com fastembed e LanceDB

Um desenvolvedor implementou um sistema de busca semântica local para histórico de conversas de IA, processando 368 mil mensagens sem dependências de nuvem ou chaves de API. O projeto usa fastembed com o modelo BAAI/bge-small-en-v1.5 para embeddings baseados em CPU e LanceDB como armazenamento vetorial que opera como um único diretório sem processo de servidor.
Stack Técnica
- Embeddings: fastembed com modelo BAAI/bge-small-en-v1.5 (384 dimensões)
- Armazenamento vetorial: LanceDB - diretório único, sem processo de servidor, amigável para anexos
- Ingestão: Coleta de transcrições de sessões JSONL (Claude Code, qualquer exportação de chat)
- Desempenho de embedding: ~500 documentos/segundo em CPU M4
Detalhes Principais de Implementação
O desenvolvedor aprendeu várias lições práticas durante a iteração de 4 meses:
- Embedding seletivo: Versões iniciais incorporavam todas as mensagens, o que reduzia a relação sinal-ruído. A implementação atual incorpora apenas mensagens de usuários e mensagens de assistentes com conteúdo substancial (ignorando respostas como "claro, aqui está esse código"), reduzindo a contagem de vetores em 60% enquanto melhora a qualidade da busca.
- Estratégia de fragmentação: Mudar de fragmentos de tamanho fixo para fragmentos por turno de conversa fez uma diferença enorme na relevância da recuperação. A escolha do modelo (testados nomic-embed-text, bge-large, all-MiniLM) mostrou diferenças marginais comparadas à abordagem de fragmentação.
- Vantagens do LanceDB: O desenvolvedor considerou o LanceDB "estupidamente subestimado para escala pessoal" - sem servidor, sem Docker, apenas um diretório com anexação instantânea de novos vetores, substituindo uma configuração pgvector superdimensionada.
- Fluxo de trabalho de re-embedding: O modelo bge-small-en-v1.5 com 384 dimensões é rápido o suficiente para reincorporar a cada hora como um trabalho cron. Uma reindexação completa de 117 mil vetores leva aproximadamente 4 minutos em hardware M2.
Métricas de Desempenho
- Total de mensagens ingeridas: 407 mil
- Vetores indexados: 87 mil
- Latência de busca (p50): 12ms em 117 mil vetores
- Tempo de reindexação completa: ~4 minutos (M2)
- Armazenamento: ~180MB em disco
- Chaves de API necessárias: 0
O projeto é de código aberto sob licença MIT e está disponível em github.com/mordechaipotash/brain-mcp. A instalação é via pipx install brain-mcp && brain-mcp setup.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

Cavernícola: Uma Habilidade de Código do Claude que Corta 75% dos Tokens Usando Fala Estilo Caverna
Caveman é uma habilidade do Claude Code que reduz o uso de tokens em aproximadamente 75% ao fazer o Claude responder em um estilo conciso, como um homem das cavernas, mantendo total precisão técnica. É instalado via npx ou pela loja de plugins do Claude.

Portão Piast: Proxy de API de Código Aberto para Anonimização de Dados de LLM
Piast Gate é um proxy de API de código aberto que anonimiza dados sensíveis antes de enviar solicitações para LLMs e restaura os dados originais nas respostas. O MVP atual suporta a API do Google Gemini, idioma polonês, execução local e pode anonimizar texto ou documentos do Word sem processamento por LLM.

Sentinel: Plataforma de Agentes Auto-Hospedada para Assinantes do Claude Code
Sentinel é uma plataforma de agentes gratuita e de código aberto que roda diretamente no seu token OAuth do Claude Code existente, sem sobrecarga de API. Oferece uma interface de operador limpa com automação de navegador em tempo real via VNC integrado e inclui recursos como controle de Git, logs de rastreamento de sessão e memória hierárquica estruturada.

Mesa Redonda de IA: Ferramenta para Comparar Mais de 200 Modelos de IA em Perguntas Estruturadas
AI Roundtable é uma ferramenta gratuita que permite aos usuários fazer perguntas com opções de resposta definidas, selecionar até 50 modelos de um pool de mais de 200 e obter respostas estruturadas em condições idênticas. Também inclui um recurso de debate onde os modelos podem ver o raciocínio uns dos outros e um modelo revisor que resume as transcrições.