← 返回 AI 开源导航

FAISS

向量数据库协议 MIT★ 41.2kC++

一、项目简介

FAISS 是 Meta 开源的高效向量检索库,专注于海量向量的相似度搜索与聚类。它提供 Flat、IVF、HNSW、PQ 等多种索引,支持 GPU 加速,是向量检索领域的「基础设施」,被大量上层系统(含很多向量数据库与 RAG 框架)作为底层内核使用。

二、核心特性

  • 索引丰富:Flat(精确)、IVF、HNSW、PQ 等按场景选择;
  • GPU 加速:支持单卡/多卡,检索极快;
  • 亿级规模:可处理超大规模向量集合;
  • 量化压缩:乘积量化大幅降低内存;
  • C++ / Python 双接口;
  • 高性能:底层高度优化,支持批量检索。

三、适用场景

  • 超大规模相似度检索与特征匹配;
  • 作为自研检索系统的内核;
  • 离线批量向量检索任务。

四、快速上手

pip install faiss-cpu        # 或 faiss-gpu
import faiss, numpy as np
index = faiss.IndexFlatL2(128)
index.add(np.random.random((1000, 128)).astype("float32"))
print(index.search(np.random.random((1,128)).astype("float32"), 3))

五、注意事项

  • 它是「库」不是「服务」,持久化、分布式、并发需自己实现;
  • 向量需自行归一化(L2/内积)以保证距离语义一致;
  • 生产环境建议封装为服务或改用向量数据库。