昇腾社区首页
中文
注册
开发者
下载

类功能

功能描述

提供向量数据库。

函数原型

from mx_rag.storage.vectorstore import MindFAISS
MindFAISS(x_dim, devs, load_local_index, index_type, metric_type, auto_save)

输入参数说明

参数名

数据类型

可选/必选

说明

x_dim

int

必选

向量维度,取值范围为大于0,小于等于1024 * 1024。

devs

List[int]

必选

设备列表,当前仅支持设置一个设备。

load_local_index

str

必选

本地索引路径,路径长度不能超过1024,文件名长度不能超过255,不能为软链接且不允许存在".."路径不能在路径列表中: ["/etc", "/usr/bin", "/usr/lib", "/usr/lib64", "/sys/", "/dev/", "/sbin"]。

index_type

str

可选

向量检索类型,当前只支持FLAT,默认为FLAT

metric_type

str

可选

向量距离计算方式,支持IP,L2,COSINE,默认为L2

auto_save

bool

可选

是否自动保存索引,取值为“True”“False”,默认为“True”

“auto_save”设置为“False”,则MindFAISS不会自动保存向量到离线知识库,需要手动调用save_local()来保存向量数据库到离线知识库,否则程序退出后未保存的向量将丢失,有可能导致关系数据库和向量数据库的数据不一致,从而造成程序运行失败的问题。

调用示例

from mx_rag.storage.vectorstore import MindFAISS
import numpy as np
vector_store = MindFAISS.create(x_dim=1024,  devs=[0],
                                        load_local_index='/path/to/index')
vecs = np.random.randn(3, 1024)
vector_store.add([0, 1, 2], vecs)
vector_store.get_ntotal()
vector_store.get_all_ids()
vector_store.delete([1])
vector_store.get_all_ids()
vector_store.search(vecs[1:2, :].tolist())
vector_store.save_local()
vector_store.get_save_file()
vector_store.update([1], vecs[:1])