# 导入所需的库
import faiss
import numpy as np
# 创建一个包含1000个128维向量的随机数据集
d = 128 # 向量维度
nb = 1000 # 数据集大小
np.random.seed(1234) # 设置随机种子以确保结果可复现
database = np.random.random((nb, d)).astype('float32') # 随机生成数据集
# 构建索引
index = faiss.IndexFlatL2(d) # 使用L2距离度量创建一个平铺索引
index.add(database) # 将数据添加到索引中
# 查询
nq = 5 # 查询数量
queries = np.random.random((nq, d)).astype('float32') # 随机生成查询向量
k = 4 # 返回最近的4个邻居
distances, indices = index.search(queries, k) # 执行搜索
# 输出结果
print("Distances:\n", distances)
print("Indices:\n", indices)
faiss
和 numpy
库。float32
类型,这是 Faiss 所要求的数据类型。IndexFlatL2
创建一个平铺索引,该索引使用 L2 距离(欧几里得距离)来衡量相似性。然后将数据集添加到索引中。search
方法返回两个数组:一个是与查询点的距离,另一个是对应数据集中向量的索引。这个示例展示了如何使用 Faiss 进行简单的近似最近邻搜索。
上一篇:python for excel
下一篇:python中assert
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站