Repolode
RyanCodrai

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

    Instale o pacote Python do PyPI

    pip install turbovec
  2. 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