Plataforma open source integral para crear e implementar modelos de machine learning, con API para Python y C++.
facebookresearch/faiss
Biblioteca de C++ con bindings para Python para buscar similitudes y agrupar vectores densos de forma eficiente, con aceleración opcional mediante GPU.
- Estrellas
- 41,171
- Forks
- 4,561
- Issues abiertos
- 352
- Último commit
- hace 9 horas
¿Qué es?
Faiss es una biblioteca para buscar similitudes y agrupar vectores densos. Ofrece índices para buscar en conjuntos de vectores que van desde colecciones pequeñas hasta otras demasiado grandes para caber en la RAM. Las comparaciones usan la distancia L2 o el producto punto; también se admite la similitud coseno mediante vectores normalizados.
Los tipos de índice ofrecen distintos compromisos entre la velocidad de búsqueda, la calidad de los resultados, la memoria por vector y el tiempo de entrenamiento o inserción. Las representaciones comprimidas, como los vectores binarios y los códigos de cuantización, evitan almacenar los vectores originales y permiten escalar a miles de millones de vectores en un solo servidor. Las estructuras basadas en grafos, como HNSW y NSG, añaden un índice sobre los vectores sin procesar para acelerar las consultas.
La biblioteca está escrita en C++ y cuenta con wrappers para Python y numpy. Las implementaciones para GPU aceptan datos de entrada en CPU o GPU, admiten configuraciones con una o varias GPU y pueden sustituir a índices de CPU como IndexFlatL2: basta con reemplazarlos por GpuIndexFlatL2. Para compilarla se necesitan CMake y una implementación de BLAS.
Funciones clave
- 01Búsqueda exacta y aproximada de vecinos más cercanos en vectores densos, con métricas L2 o de producto punto.
- 02Índices comprimidos basados en vectores binarios y códigos de cuantización, escalables a colecciones muy grandes.
- 03Índices basados en grafos, como HNSW y NSG, para acelerar la búsqueda aproximada.
- 04Implementaciones opcionales para GPU que sustituyen directamente a los índices de CPU.
- 05Wrappers para Python con compatibilidad con numpy, junto con el núcleo en C++.
Casos de uso
- Crear búsquedas semánticas o sistemas de recuperación sobre vectores de embeddings.
- Buscar vecinos más cercanos en colecciones demasiado grandes para caber en memoria mediante índices comprimidos.
- Agrupar grandes conjuntos de vectores con k-means acelerado por GPU.
Inicio rápido
- 1
Instala desde Anaconda el paquete faiss-cpu precompilado para Python
- 2
Lee el tutorial de inicio en la wiki del proyecto
Antes de usarlo
- La aceleración por GPU requiere hardware compatible con NVIDIA CUDA o AMD ROCm.
- Para compilar desde el código fuente se necesitan cmake y una implementación de BLAS; consulta INSTALL.md.
Temas
Preguntas frecuentes
- ¿Qué es faiss?
- Biblioteca de C++ con bindings para Python para buscar similitudes y agrupar vectores densos de forma eficiente, con aceleración opcional mediante GPU. Faiss es una biblioteca para buscar similitudes y agrupar vectores densos. Ofrece índices para buscar en conjuntos de vectores que van desde colecciones pequeñas hasta otras demasiado grandes para caber en la RAM. Las comparaciones usan la distancia L2 o el producto punto; también se admite la similitud coseno mediante vectores normalizados.
- ¿faiss es gratuito? ¿Qué licencia tiene?
- faiss es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿faiss sigue mantenido?
- Mantenimiento activo. El último commit de faiss fue el 20 oct 2026.
- ¿Para qué puedo usar faiss?
- Crear búsquedas semánticas o sistemas de recuperación sobre vectores de embeddings. Buscar vecinos más cercanos en colecciones demasiado grandes para caber en memoria mediante índices comprimidos. Agrupar grandes conjuntos de vectores con k-means acelerado por GPU.
- ¿Cómo se instala faiss?
- Instala desde Anaconda el paquete faiss-cpu precompilado para Python Lee el tutorial de inicio en la wiki del proyecto
- ¿Dónde consigo faiss?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/facebookresearch/faiss
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Qdrant es un motor de búsqueda de similitud vectorial y una base de datos vectorial basado en Rust, con filtros por payload, para búsquedas semánticas y recomendaciones.
Curso online gratuito y de código abierto de 10 semanas sobre cómo crear aplicaciones con LLM usando RAG, búsqueda vectorial, agentes, evaluación y monitoreo.
Terminal de escritorio nativa en C++20 para investigación financiera, con interfaz Qt6, analítica con Python integrado, agentes de IA y más de 100 conectores de datos de mercado.
Kit de herramientas de código abierto en Rust para registrar, visualizar, consultar y transmitir datos multimodales de robótica y sensores a lo largo del tiempo.
Una capa de memoria para agentes y aplicaciones de IA que guarda y recupera el contexto de usuarios, sesiones y agentes entre conversaciones.