easy_retrieval_docarray module¶
- EasyRetrievalDocArray.add(database_name: str, feature_dim: int = 1536)[source]¶
添加一个新的空EasyRetrievalDocArray数据库。
- Parameters:
database_name (str) – 新数据库的名称。
feature_dim (int) – 数据库中特征向量的大小。主要跟predictor相关。默认值为1536。
- Returns:
返回添加数据库的具体信息。
- EasyRetrievalDocArray.db_delete(database_name: str, group_id: str | None = None, intra_id: int | None = None, query_dict: Dict[str, dict] | None = None)[source]¶
从指定的EasyRetrievalDocArray数据库中删除数据。
- Parameters:
database_name (str) – 要删除数据的数据库名称。
group_id (Optional[str], 可选) – 要删除的数据的group_id。
intra_id (Optional[int], 可选) – 要删除的数据group下的intra_id。
query_dict (Optional[Dict[str, dict]], 可选) – 要使用的查询的词典。
- Returns:
返回已删除数据的uri、文本描述、组ID和内部ID信息。
- EasyRetrievalDocArray.db_get(database_name: str, group_id: str | None = None, intra_id: int | None = None, query_dict: Dict[str, dict] | None = None)[source]¶
从指定的EasyRetrievalDocArray数据库获取数据。
- Parameters:
database_name (str) – 要获取数据的数据库名称。
group_id (Optional[str], 可选) – 要获取的数据的group_id。
intra_id (Optional[int], 可选) – 要获取的数据group下的intra_id。
query_dict (Optional[Dict[str, dict]], 可选) – 要使用的查询的词典。
- Returns:
返回所获取数据的uri、文本描述、组ID和内部ID信息。
- EasyRetrievalDocArray.db_search(database_name: str, uri: str | List[str] = None, text: str | List[str] = None, base64imagestr: str | List[str] = None, embedding_attr: str | None = None, embedding: ArrayType | None = None, search_topk: int | None = 10, metric: str | None = 'cosine', device: str | None = None)[source]¶
从指定的EasyRetrievalDocArray数据库中搜索数据。 如果使用了embedding字段,则uri,text以及base64imagestr三个字段可以省略。 如果没使用embedding字段,则需要使用uri,text以及base64imagestr三个字段。 并可以选择在embedding_attr告知使用的字段。
- Parameters:
database_name (str) – 要搜索数据的数据库名称。
uri (Union[str, List[str]], 可选) – 要搜索的数据的URI。
text (Union[str, List[str]], 可选) – 要搜索的数据文本描述。
base64imagestr (Union[str, List[str]], 可选) – 要搜索的数据的base64image字符串。
embedding_attr (Optional[str], 可选) – 要搜索数据的类型。uri,text或者base64imagestr。
embedding (Optional[ArrayType], 可选) – 要搜索的数据的embedding。
search_topk (Optional[int], 可选) – 检索返回的记录数目。
metric (Optional[str], 可选) – 用于搜索的指标。 可选metric : ‘cosine’,’SquaredEuclidean’
device (Optional[str], 可选) – 用于搜索的设备。 可选device : cpu,gpu。
- Raises:
AssertionError – 如果输入参数[group_id/uri/text/base64imagestr] 个数不同或输入形式不是列表。
AssertionError – 如果未指定embedding_attr,并且输入参数 [uri,text,base64imagestr]三者都是空值。
AssertionError – 如果embedding_attr不在EMBEDDING_ATTR_LIST中。需要是三者之一。 [‘uri’, ‘text’, ‘base64imagestr’]
- Returns:
返回搜索得到数据的相似性分数、uri、文本描述、组ID和内部ID信息。
- EasyRetrievalDocArray.db_set(database_name: str, group_id: str | List[str], uri: str | List[str] | None = None, text: str | List[str] | None = None, base64imagestr: str | List[str] | None = None, embedding_attr: str | None = None, embedding: ArrayType | None = None, intra_id: int | List[int] | None = [0], query_dict: Dict[str, dict] | None = None, device: str | None = None)[source]¶
往指定的EasyRetrievalDocArray数据库中注册数据。
如果使用了embedding字段,则uri,text以及base64imagestr三个字段可以省略。
如果没使用embedding字段,则需要使用uri,text以及base64imagestr三个字段。 并可以选择在embedding_attr告知使用的字段。
(group_id,intra_id)组成了数据在数据库中的坐标信息。
- Parameters:
database_name (str) – 要注册进数据的数据库名称。
group_id (Union[str, List[str]]) – 要注册的数据的group_id。
uri (Optional[Union[str, List[str]]], 可选) – 要注册的数据的URI。
text (Optional[Union[str, List[str]]], 可选) – 要注册的数据文本描述。
base64imagestr (Optional[Union[str, List[str]]], 可选) – 要注册的数据的base64image字符串。
embedding_attr (Optional[str], 可选) – 要注册数据的类型。uri,text或者base64imagestr。
embedding (Optional[ArrayType], 可选) – 要注册的数据的embedding。
intra_id (Optional[Union[int, List[int]]], 可选) – 同一个group_id下的内部ID。
query_dict (Optional[Dict[str, dict]], 可选) – 要使用的查询的词典。
device (Optional[str], 可选) –
用于生成要注册的数据的embedding的设备。
可选device : cpu或者gpu。
- Raises:
AssertionError – 如果输入参数[group_id/uri/text/base64imagestr] 个数不同或输入形式不是列表。
AssertionError – 如果未指定embedding_attr,并且输入参数 [uri,text,base64imagestr]三者都是空值。
AssertionError – 如果embedding_attr不在EMBEDDING_ATTR_LIST中。需要是三者之一。 [‘uri’, ‘text’, ‘base64imagestr’]
- Returns:
返回注册数据的uri、文本描述、组ID和内部id信息。
- EasyRetrievalDocArray.delete(database_name: str)[source]¶
删除加载数据库中的指定数据库。如果root path是oss地址,也会删除 oss地址的数据库文件。
- Parameters:
database_name (str) – 要删除的数据库名称。
- Raises:
Exception – 如果root_path是oss地址,并且ENVOSSIO未能从root path中删除数据库文件。 即删除失败。
- Returns:
提示删除库不再存在。(database (database_name) is not exits.)
- EasyRetrievalDocArray.get(database_name: str)[source]¶
- EasyRetrievalDocArray.get(get_all: bool)
获取指定名称的EasyRetrievalDocArray数据库 或所有EasyRetrievalDocArray数据库。
- Parameters:
database_name (可选[str]) – 要获取的数据库的名称。
get_all (可选[bool]) – 指示是否返回所有数据库的标志。默认值为True。
- Returns:
返回获取到的数据库的具体信息。
- EasyRetrievalDocArray.load()[source]¶
从指定的路径加载EasyRetrievalDocArray数据库。
- Parameters:
path (可选[str]) – 加载EasyRetrievalDocArray数据库的路径。如果没有指定,将使用root_path。
- Returns:
返回加载的EasyRetrievalDocArray数据库信息。
- EasyRetrievalDocArray.save()[source]¶
将EasyRetrievalDocArray数据库保存到指定的路径。
- Parameters:
path (Optional[str]) – 保存EasyRetrievalDocArray数据库的路径。如果没有指定,将使用root_path。
- Returns:
返回成功保存的消息。
- EasyRetrievalDocArray.set_oss_config(oss_config: Dict[str, str] | None)[source]¶
为EasyRetrievalDocArray配置oss信息.
当您完成初始化后,想要修改oss配置信息可以调用这个函数。
- Parameters:
oss_config (Optional[Dict[str, str]]) – 包含OSS配置信息的dict。
- Returns:
无
- EasyRetrievalDocArray.set_predictor(predictor, preprocess: str = 'load_uri_image_to_tensor')[source]¶
为EasyRetrievalDocArray设置predictor,使其获得特征提取的能力。
这个函数默认会被调用。
- Parameters:
predictor – 要设置的predictor的名称。
可选的predictor – TorchFeatherExtractor,TorchFaceFeatherExtractor, imagetext_retrieval_en, imagetext_retrieval_cn, FeatureVectorizationPredictor
preprocess (str) – 要使用的预处理函数。针对输入数据是uri图片数据。 必须是DOCARRAY_PREPOCESS_LIST存在的选项 [‘load_uri_to_image_tensor’,’load_uri_to_base64str’]。
- Raises:
AssertionError – 如果preprocess不在DOCARRAY_PREPOCESS_LIST中。
[‘load_uri_to_image_tensor’,’load_uri_to_base64str’] –
- Returns:
无