端到端开源机器学习平台,提供 Python 和 C++ 接口,用于构建和部署 ML 模型。
facebookresearch/faiss
一个基于 C++、提供 Python 接口的稠密向量相似度搜索与聚类库,可选 GPU 加速。
- Star
- 41,171
- Fork
- 4,561
- 未关闭 Issue
- 352
- 最近提交
- 11小时前
这是什么?
Faiss 是一个用于稠密向量相似度搜索和聚类的库。它提供多种索引类型,可以处理从小规模到超出内存容量的大规模向量集合。比较方式支持 L2 距离和内积,通过对向量归一化也可用于余弦相似度计算。
不同索引在搜索速度、结果精度、每个向量的内存占用以及训练和添加耗时之间各有取舍。基于二进制向量和量化编码的压缩方法无需保留原始向量,可在单台服务器内存中支持数十亿级向量。HNSW、NSG 等基于图的结构则在原始向量之上构建索引,以提升查询效率。
库主体使用 C++ 实现,并提供 Python 与 numpy 封装。GPU 版本可接收 CPU 或 GPU 内存中的输入,支持单卡和多卡,例如将 IndexFlatL2 替换为 GpuIndexFlatL2 即可使用。编译需要 CMake 以及一个 BLAS 实现。
核心功能
- 01基于 L2 距离或内积的稠密向量精确与近似最近邻搜索。
- 02基于二进制向量和量化编码的压缩索引,可扩展到超大规模集合。
- 03提供 HNSW、NSG 等基于图的索引,用于加速近似搜索。
- 04可选的 GPU 实现,可直接替换 CPU 索引使用。
- 05提供 Python 接口并支持 numpy,同时保留 C++ 核心。
适用场景
- 为嵌入向量构建语义搜索或检索系统。
- 在内存放不下的大规模向量集合上使用压缩索引进行最近邻查询。
- 利用 GPU 加速对大规模向量进行 k-means 聚类。
快速上手
- 1
从 Anaconda 安装预编译的 Python 版 faiss-cpu 包
- 2
阅读项目 wiki 上的入门教程
使用前须知
- GPU 加速需要 NVIDIA CUDA 或 AMD ROCm 硬件。
- 从源码构建需要 cmake 和 BLAS 实现,详见 INSTALL.md。
标签
常见问题
- faiss 是什么?
- 一个基于 C++、提供 Python 接口的稠密向量相似度搜索与聚类库,可选 GPU 加速。 Faiss 是一个用于稠密向量相似度搜索和聚类的库。它提供多种索引类型,可以处理从小规模到超出内存容量的大规模向量集合。比较方式支持 L2 距离和内积,通过对向量归一化也可用于余弦相似度计算。
- faiss 可以免费使用吗?用的什么许可证?
- faiss 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- faiss 还在维护吗?
- 活跃维护中。faiss 最近一次提交是在 2026年10月20日。
- faiss 适合用来做什么?
- 为嵌入向量构建语义搜索或检索系统。 在内存放不下的大规模向量集合上使用压缩索引进行最近邻查询。 利用 GPU 加速对大规模向量进行 k-means 聚类。
- faiss 怎么安装和运行?
- 从 Anaconda 安装预编译的 Python 版 faiss-cpu 包 阅读项目 wiki 上的入门教程
- 在哪里获取 faiss?
- 源代码和安装说明在 GitHub 上:https://github.com/facebookresearch/faiss
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
20.1万8万C++Apache-2.0更新于 6小时前
Qdrant 是用 Rust 编写的向量相似度搜索引擎和向量数据库,支持带条件过滤的语义搜索与推荐。
3.5万2765RustApache-2.0更新于 6小时前
一门免费开源的 10 周在线课程,讲解如何构建 RAG、向量搜索、智能体等 LLM 应用。
74931391Jupyter Notebook无许可证更新于 5天前
纯 C/C++ 实现的 LLM 推理引擎,可在本地或云端运行大语言模型与视觉语言模型,支持多种硬件后端。
13.2万2.5万C++MIT更新于 6小时前
为 AI 智能体和应用提供长期记忆层,跨会话保存并检索用户与上下文信息。
6.8万7965PythonApache-2.0更新于 13小时前
面向 AI 智能体的记忆系统,支持存储、检索与反思记忆,让智能体随时间学习而非仅回放对话历史。
5.2万6178PythonMIT更新于 2小时前