Faiss 安装及用法
Faiss的安装可以通过Python的pip包管理器直接进行。确保你的系统已经安装了numpy和pybind11,然后使用以下命令安装Faiss:
pip install faiss-cpu # For CPU version
或者,如果你的机器支持GPU,你也可以安装支持GPU的版本:
pip install faiss-gpu # For GPU version
一旦Faiss被安装,你就可以在Python程序中导入它并使用了。下面是一个简单的使用样例,演示如何使用Faiss进行向量搜索:
import numpy as np
import faiss
# 初始化数据. 假设我们有d维的向量,每个向量的长度为D
d = 128 # 数据的维度
nb = 100000 # 数据库大小
np.random.seed(1234) # 固定随机种子
xb = np.random.random((nb, d)).astype('float32') # 随机生成索引向量
xq = np.random.random((1, d)).astype('float32') # 随机生成查询向量
# 构建索引
index = faiss.IndexFlatL2(d) # 使用L2距离构建索引
print(index.is_trained)
# 添加向量到索引中
index.add(xb)
print(index.ntotal)
# 搜索最近邻
k = 4 # 我们想要返回最近邻的个数
D, I = index.search(xq, k) # 执行搜索
print(I) # 最近邻的标识符
print(D) # 最近邻的L2距离
上述代码首先生成了一些随机向量用于索引和查询,然后使用L2距离构建了一个Faiss索引,接着将向量添加到索引中,最后执行最近邻搜索并返回结果。
要注意的是,Faiss的功能远不止于此。