Uma plataforma open source completa para criar e implantar modelos de machine learning, com APIs para Python e C++.
facebookresearch/faiss
Biblioteca C++ com bindings para Python que permite fazer busca por similaridade e clustering eficientes de vetores densos, com aceleração opcional por GPU.
- Estrelas
- 41,171
- Forks
- 4,561
- Issues abertas
- 352
- Último commit
- há 10 horas
O que é?
Faiss é uma biblioteca para busca por similaridade e clustering de vetores densos. Ela oferece índices para buscar em conjuntos de vetores que vão de pequenas coleções a conjuntos grandes demais para caber na RAM. As comparações usam distância L2 ou produto escalar, e a similaridade de cosseno é compatível por meio de vetores normalizados.
Os tipos de índice fazem concessões entre velocidade de busca, qualidade dos resultados, memória por vetor e tempo de treinamento ou inserção. Representações compactadas, como vetores binários e códigos de quantização, dispensam o armazenamento dos vetores originais e permitem escalar para bilhões de vetores em um único servidor. Estruturas baseadas em grafos, como HNSW e NSG, adicionam um índice sobre os vetores brutos para acelerar as consultas.
A biblioteca é escrita em C++ e oferece wrappers para Python e numpy. As implementações para GPU aceitam entradas de CPU ou GPU, oferecem suporte a configurações com uma ou várias GPUs e podem substituir índices de CPU, como IndexFlatL2: basta trocá-los por GpuIndexFlatL2. A compilação requer CMake e uma implementação de BLAS.
Recursos principais
- 01Busca exata e aproximada por vizinhos mais próximos em vetores densos, com métricas L2 ou de produto escalar.
- 02Índices compactados baseados em vetores binários e códigos de quantização, capazes de escalar para coleções muito grandes.
- 03Índices baseados em grafos, como HNSW e NSG, para buscas aproximadas mais rápidas.
- 04Implementações opcionais para GPU que substituem diretamente os índices de CPU.
- 05Wrappers para Python com suporte a numpy, além do núcleo em C++.
Casos de uso
- Criar busca semântica ou recuperação de informações usando vetores de embeddings.
- Consultar vizinhos mais próximos em coleções grandes demais para caber na memória, usando índices compactados.
- Agrupar grandes conjuntos de vetores com k-means acelerado por GPU.
Início rápido
- 1
Instale pelo Anaconda o pacote faiss-cpu pré-compilado para Python
- 2
Leia o tutorial de introdução na wiki do projeto
Antes de usar
- A aceleração por GPU requer hardware compatível com NVIDIA CUDA ou AMD ROCm.
- Para compilar a partir do código-fonte, é necessário ter cmake e uma implementação de BLAS; consulte INSTALL.md.
Tópicos
Perguntas frequentes
- O que é faiss?
- Biblioteca C++ com bindings para Python que permite fazer busca por similaridade e clustering eficientes de vetores densos, com aceleração opcional por GPU. Faiss é uma biblioteca para busca por similaridade e clustering de vetores densos. Ela oferece índices para buscar em conjuntos de vetores que vão de pequenas coleções a conjuntos grandes demais para caber na RAM. As comparações usam distância L2 ou produto escalar, e a similaridade de cosseno é compatível por meio de vetores normalizados.
- faiss é gratuito? Qual é a licença?
- faiss é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- faiss ainda é mantido?
- Manutenção ativa. O último commit de faiss foi em 20 de out. de 2026.
- Para que posso usar faiss?
- Criar busca semântica ou recuperação de informações usando vetores de embeddings. Consultar vizinhos mais próximos em coleções grandes demais para caber na memória, usando índices compactados. Agrupar grandes conjuntos de vetores com k-means acelerado por GPU.
- Como instalar faiss?
- Instale pelo Anaconda o pacote faiss-cpu pré-compilado para Python Leia o tutorial de introdução na wiki do projeto
- Onde consigo faiss?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/facebookresearch/faiss
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
O Qdrant é um mecanismo de busca por similaridade vetorial e banco de dados vetorial baseado em Rust, com filtragem por payload, voltado a busca semântica e recomendações.
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.
Terminal desktop nativo em C++20 para pesquisa financeira, com interface Qt6, analytics em Python integrado, agentes de IA e mais de 100 conectores de dados de mercado.
Toolkit open source em Rust para registrar, visualizar, consultar e transmitir dados multimodais de robótica e sensores ao longo do tempo.
Uma camada de memória para agentes e apps de IA que armazena e recupera contexto de usuários, sessões e agentes entre conversas.