外观
FAISS
Meta FAIR 的相似性搜索与向量聚类库(C++/Python):高效 ANN,不是带服务端与多租户的完整向量数据库。
它是做什么的
据官方文档(faiss.ai):FAISS(Facebook AI Similarity Search)用于稠密向量的高效相似性搜索与聚类,可处理内存放不下的大规模向量集,并含评测与调参辅助。核心是在内存中为向量集建 index,再对查询向量做近邻搜索(如 L2 最小、最大内积等);支持 Top-k、批查询、精度-速度权衡、范围检索、磁盘存放 index、二值向量、GPU 加速等。由 Meta 的 FAIR 团队主导开发,Python 完整封装,部分算法有 GPU 实现。
务必区分定位:FAISS 是库——你把它链进自己的进程/服务;它不提供开箱即用的 HTTP 向量库、过滤查询语言、多租户云控制台等「完整向量数据库」产品形态。RAG 系统里常见模式是:用 FAISS 做索引与检索内核,自己管存储、元数据与服务化;或改用 Chroma / Qdrant / Milvus 等带服务层的方案。
要点
- 开源库:算法与索引实现;Conda 安装
faiss-cpu/faiss-gpu(二者选一)。 - 部署形态:嵌入你的应用进程(库调用),不是独立「向量库服务」。
- 能力:IVF、PQ、HNSW 等多种索引;CPU/GPU;可权衡召回与速度/内存。
- 不做的事:完整 DB 语义(富过滤、复制、云 IAM 等)需自建或换产品。
- 典型场景:检索内核、论文/工业 ANN、自定义向量服务底层。
适合谁
- 要在自有服务里嵌入高性能 ANN,自己控制存储与 API
- 研究或定制索引参数,而不是先买托管向量库
- 原型可用更省事的 DB,但生产内核要极致可控时再下沉到 FAISS
官方入口
建议怎么用
用 Conda 装 CPU 或 GPU 包,按官方教程建 Index*、add、search 跑通。先明确向量维度与度量(L2 / IP),再选 IVF/HNSW/PQ 等。若需要元数据过滤、云托管与运维面,优先 Chroma、Qdrant、Milvus,而不是把 FAISS 误当成完整向量库产品。