本节为您介绍如何使用Connection
对象的方法管理实例上的嬴图算法和自定义算法(EXTA)。
每个示例主要展示如何使用所列方法。点击完整示例查看完整代码示例。
嬴图算法
showAlgo()
获取安装在实例上的嬴图算法。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Algo]
:获取到的全部算法列表。
# 获取已安装的全部嬴图算法并打印首个返回的算法信息
algos = Conn.showAlgo()
print(algos[0].toJSON())
{"name": "lpa", "description": "label propagation algorithm", "version": "1.0.10", "result_opt": "27", "parameters": {"loop_num": "size_t,required", "node_label_property": "optional", "node_weight_property": "optional", "edge_weight_property": "optional", "k": "no more than k labels will be kept for each node", "ids": "labeled nodes, optional, all nodes(with non-NULL value) as labeled nodes if empty"}, "write_to_db_parameters": {"property": "set property name in db, only label with `max probability` will be write to db"}, "write_to_file_parameters": {"filename": "set file name"}}
installAlgo()
在实例上安装一个嬴图算法。
参数:
str
:算法安装包文件路径(.so)。str
:配置文件路径(.yml)。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 安装算法LPA,使用主节点以确保一致性,并打印错误代码
# 安装包`libplugin_lpa.so`和配置文件`lpa.yml`位于 algo 文件夹中,该文件夹与您执行的文件放在同一个目录下。
requestConfig = RequestConfig(useMaster=True)
response = Conn.installAlgo("algo/libplugin_lpa.so", "algo/lpa.yml", requestConfig)
print(response.status.code)
0
uninstallAlgo()
卸载实例中的嬴图算法。
参数:
str
:算法名称。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 卸载算法LPA并打印错误代码
requestConfig = RequestConfig()
response = Conn.uninstallAlgo("lpa")
print(response.status.code)
0
EXTA
showExta()
获取安装在实例上的全部EXTA。
参数:
RequestConfig
(可选):配置请求。
返回值:
List[Exta]
:获取到的全部EXTA列表。
# 获取已安装的全部EXTA并打印首个返回的算法信息
extas = Conn.showExta()
print(extas[0].toJSON())
{
"author": "wuchuang",
"detail": {
"base": {
"category": "ExtaExample",
"cn": {
"name": "page_rank",
"desc": null
},
"en": {
"name": "page_rank",
"desc": null
}
},
"other_param": {},
"param_form": {},
"write": {},
"return": {},
"media": {}
},
"name": "page_rank",
"version": "beta.4.4.41-b4.4.0-tv-ui"
}
installExta()
在实例上安装一个EXTA。
参数:
str
:EXTA安装包文件路径(.so)。str
:配置文件路径(.yml)。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 安装EXTA page_rank,使用主节点以确保一致性,并打印错误代码
# 安装包 libexta_page_rank.so 和配置文件 page_rank.yml 位于 exta 文件夹中,该文件夹与您执行的文件放在同一个目录下。
requestConfig = RequestConfig(useMaster=True)
response = Conn.installExta("exta/libexta_page_rank.so", "exta/page_rank.yml", requestConfig)
print(response.status.code)
0
uninstallExta()
卸载实例中的EXTA。
参数:
str
:EXTA名称。RequestConfig
(可选):配置请求。
返回值:
UltipaResponse
:请求的结果。
# 卸载EXTA page_rank并打印错误代码
response = Conn.uninstallExta("page_rank")
print(response.status.code)
0
完整示例
from ultipa import Connection, UltipaConfig
from ultipa.configuration.RequestConfig import RequestConfig
ultipaConfig = UltipaConfig()
# URI示例:ultipaConfig.hosts = ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
ultipaConfig.hosts = ["192.168.1.85:60061","192.168.1.87:60061","192.168.1.88:60061"]
ultipaConfig.username = "<username>"
ultipaConfig.password = "<password>"
Conn = Connection.NewConnection(defaultConfig=ultipaConfig)
# 配置连接
requestConfig = RequestConfig(useMaster=True)
# 安装LPA算法:安装包libplugin_lpa.so和配置文件lpa.yml被放置在当前项目目录下的algo文件夹中。
response = Conn.installAlgo("algo/libplugin_lpa.so", "algo/lpa.yml", requestConfig)
print(response.status.code)