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

✍️ OpenClawRadar📅 Publicado: March 20, 2026🔗 Source
Pesquisa semântica local para conversas de IA com fastembed e LanceDB
Ad

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.
Ad

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

Ad

👀 See Also

Gerenciando Múltiplas Tarefas de Agentes de IA com Quadros Kanban
Tools

Gerenciando Múltiplas Tarefas de Agentes de IA com Quadros Kanban

Um desenvolvedor compartilha sua experiência executando múltiplos agentes de IA Claude em abas de terminal e identifica três desafios principais no fluxo de trabalho: falta de visibilidade do progresso, perda de contexto ao alternar entre tarefas e interrupções por limite de taxa. Sua solução envolve tratar tarefas de IA como itens de trabalho em um quadro Kanban.

OpenClawRadar
Codiff v0.1.0: Um Visualizador de Diff Local para Revisões de Código Geradas por LLM
Tools

Codiff v0.1.0: Um Visualizador de Diff Local para Revisões de Código Geradas por LLM

Codiff v0.1.0 é um aplicativo de desktop rápido e minimalista para revisar diferenças Git locais, com modo de walkthrough com LLM e comentários em linha que podem ser copiados como Markdown.

OpenClawRadar
Habilidades de Código Claude para Estruturação Automatizada de Projetos
Tools

Habilidades de Código Claude para Estruturação Automatizada de Projetos

Um desenvolvedor criou habilidades Claude Code que automatizam a configuração inicial de projetos full-stack com comandos para React, Next.js, APIs Node.js e monorepos Turborepo. As habilidades buscam as dependências mais recentes, suportam mais de 50 integrações e são licenciadas sob MIT.

OpenClawRadar
Plugin Claude Code Yoink Substitui Dependências de Biblioteca para Reduzir Riscos na Cadeia de Suprimentos
Tools

Plugin Claude Code Yoink Substitui Dependências de Biblioteca para Reduzir Riscos na Cadeia de Suprimentos

Yoink é um plugin do Claude Code que remove dependências complexas reimplementando apenas as funções necessárias, usando um fluxo de trabalho de três etapas com os comandos /setup, /curate-tests e /decompose. Atualmente suporta Python, com suporte para TypeScript e Rust em desenvolvimento.

OpenClawRadar