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数据库中搜索数据。 如果使用了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:

EasyRetrievalDocArray.set_root_path(root_path: str)[source]

设置EasyRetrievalDocArray的根路径(root_path)以保存、删除和加载数据库。

当您完成初始化后,想要修改存储路径可以调用这个函数。

Parameters:

root_path (str) – 要设置的根路径(root_path).

Returns: