Biblioteca C++ com bindings para Python que permite fazer busca por similaridade e clustering eficientes de vetores densos, com aceleração opcional por GPU.
RyanCodrai/turbovec
Um índice vetorial em processo para Python e Rust que comprime embeddings para 2 ou 4 bits por dimensão com TurboQuant e faz buscas diretamente nos dados comprimidos.
Alternativa open source a:FAISS
- Estrelas
- 17,411
- Forks
- 1,488
- Issues abertas
- 23
- Último commit
- há 15 dias
O que é?
turbovec é uma biblioteca de índice vetorial para Python e Rust. Ela armazena cada embedding com 2 ou 4 bits por dimensão usando o método de quantização TurboQuant e realiza buscas pelos vizinhos mais próximos diretamente na representação comprimida, com kernels SIMD. Assim, o índice permanece na memória do processo, em vez de depender de um serviço separado.
O projeto é voltado a cargas de trabalho de recuperação, como pipelines de RAG, nas quais grandes conjuntos de embeddings exigiriam armazenamento em float32. É possível adicionar e remover vetores sem retreinamento, persistir alterações incrementalmente com uma chamada a sync que grava apenas o que mudou e usar a variante IdMapIndex, indexada por IDs uint64 definidos pelo usuário. A busca pode ser restringida a uma allowlist de IDs. Também há integrações drop-in para LangChain, LlamaIndex, Haystack e Agno.
O índice faz uma varredura por força bruta, em vez de usar um índice de grafo, então o custo das consultas cresce linearmente com o tamanho do corpus. A quantização tem perda, e o projeto documenta benchmarks comparativos com o FAISS usando embeddings da OpenAI e do GloVe.
Recursos principais
- 01Armazena vetores com 2 ou 4 bits por dimensão; com 4 bits, ocupa cerca de 7,8 vezes menos espaço que float32.
- 02Executa buscas otimizadas com SIMD diretamente nos códigos comprimidos, com APIs para Python e Rust.
- 03Adiciona e remove vetores sem etapa de treinamento nem reconstrução do índice.
- 04sync() incremental grava apenas os dados alterados e salva de forma atômica.
- 05Oferece indexação por ID e filtragem por allowlist durante a busca.
Casos de uso
- Criar um retriever local de RAG que mantém os embeddings na memória do processo.
- Pesquisar grandes coleções de embeddings em máquinas com pouca RAM.
- Adicionar um vector store a uma aplicação LangChain ou LlamaIndex sem executar um banco de dados separado.
- Fazer buscas semânticas offline ou com requisitos de privacidade, sem que os dados saiam do processo.
Início rápido
- 1
Instale o pacote Python do PyPI
pip install turbovec - 2
Crie e indexe vetores com TurboQuantIndex (consulte o exemplo no README)
Antes de usar
- Examina todos os vetores, portanto não é adequado para corpora muito grandes com requisitos rigorosos de latência.
- A quantização é com perdas, então os resultados são aproximados, e não resultados exatos em ponto flutuante.
Tópicos
Perguntas frequentes
- O que é turbovec?
- Um índice vetorial em processo para Python e Rust que comprime embeddings para 2 ou 4 bits por dimensão com TurboQuant e faz buscas diretamente nos dados comprimidos. turbovec é uma biblioteca de índice vetorial para Python e Rust. Ela armazena cada embedding com 2 ou 4 bits por dimensão usando o método de quantização TurboQuant e realiza buscas pelos vizinhos mais próximos diretamente na representação comprimida, com kernels SIMD. Assim, o índice permanece na memória do processo, em vez de depender de um serviço separado.
- turbovec é gratuito? Qual é a licença?
- turbovec é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- turbovec ainda é mantido?
- Manutenção ativa. O último commit de turbovec foi em 7 de out. de 2026.
- Para que posso usar turbovec?
- Criar um retriever local de RAG que mantém os embeddings na memória do processo. Pesquisar grandes coleções de embeddings em máquinas com pouca RAM. Adicionar um vector store a uma aplicação LangChain ou LlamaIndex sem executar um banco de dados separado. Fazer buscas semânticas offline ou com requisitos de privacidade, sem que os dados saiam do processo.
- Como instalar turbovec?
- Instale o pacote Python do PyPI: pip install turbovec Crie e indexe vetores com TurboQuantIndex (consulte o exemplo no README)
- Onde consigo turbovec?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/RyanCodrai/turbovec
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um toolkit local de índices vetoriais e RAG que reduz o armazenamento em cerca de 97% ao recalcular embeddings sob demanda, permitindo pesquisar dados pessoais no laptop.
Pipeline open source que transforma páginas da web e PDFs em capturas de tela e faz buscas visuais, preservando tabelas e gráficos para RAG.
Curso online gratuito e open source de 10 semanas sobre como criar aplicações com LLM, usando RAG, busca vetorial, agentes, avaliação e monitoramento.
Biblioteca oficial de cliente Python para o mecanismo de busca vetorial Qdrant, com acesso REST/gRPC síncrono e assíncrono e modo local em memória.
Projeto educacional passo a passo que implementa RAG do zero em JavaScript, usando LLMs locais e sem APIs na nuvem.