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

Claude Code como Compilador: Uma Reestruturação Prática para o Desenvolvimento de IA
Uma postagem no Reddit argumenta que o Claude Code funciona como um compilador que traduz inglês para software funcional, traçando paralelos com avanços históricos da computação como o A-0 de Grace Hopper e o FORTRAN. O autor descreve a geração de 400 linhas em 6 arquivos a partir de uma descrição em inglês de 3 parágrafos, identificando dois problemas em 25 minutos.

O plugin cc-soul adiciona memória persistente e personas adaptativas ao OpenClaw.
O plugin cc-soul para OpenClaw oferece armazenamento de memória permanente entre sessões, 10 personas de troca automática e aprendizado com correções. A instalação requer apenas um comando, sem necessidade de configuração.

ClawHost Open-Source OpenClaw Implantação com Um Clique Atinge Mais de 200 Estrelas no GitHub
ClawHost, uma ferramenta de código aberto para instalação em um clique do OpenClaw com acesso e controle total do servidor, atingiu mais de 200 estrelas no GitHub. O projeto aborda problemas com wrappers comerciais instáveis, fornecendo uma solução gratuita e auto-hospedável.

Benchmark Flash-MOE no M5 Max: 12.99 tok/s com Qwen3.5-397B
Um benchmark do modelo Qwen3.5 de 397 bilhões de parâmetros executado localmente em um MacBook Pro M5 Max com 128GB de RAM alcançou 12,99 tokens por segundo usando quantização de 4 bits e cache-io-split 4, três vezes mais rápido que o benchmark original de 48GB.