From 856802a5703df1c7e4c0e035a1f4859545f69a73 Mon Sep 17 00:00:00 2001 From: HYC <11385689+he-yingchuan@user.noreply.gitee.com> Date: Fri, 29 Jul 2022 01:39:13 +0000 Subject: [PATCH] update zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md. Signed-off-by: he-yingchuan <1639512223@qq.com> --- .../subsys-aiframework-devguide-plugin.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md index 598a744eb0..d082cc359f 100644 --- a/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md +++ b/zh-cn/device-dev/subsystems/subsys-aiframework-devguide-plugin.md @@ -13,12 +13,12 @@ AI引擎框架规定了一套算法插件接入规范,各插件需实现规定 | -------- | -------- | -------- | | const long long GetVersion() const; | **作用**:获取插件版本信息。
**返回值**:版本号(long long) | - | | const char \*GetInferMode() const; | **作用**:获取算法推理类型。
**返回值**:"SYNC" or "ASYNC"; | - | -| int SyncProcess(IRequest \*request,
IResponse \*&response); | **作用**:执行插件同步算法。
**返回值**:0为成功,其他返回值失败。 | **request**(NOT NULL):用于向算法插件传递请求内容;引擎服务端与插件的数据通道;
**response**(NOT NULL):作为出参用于接收算法插件发回的同步算法执行结果,引擎服务端与插件的数据通道; | -| int AsyncProcess(IRequest \*request,
IPluginAlgorithmCallback \*callback); | **作用**:执行异步算法。
**返回值**:0为成功,其他返回值失败。 | **request**(NOT NULL):用于向算法插件传递请求内容;引擎服务端与插件的数据通道。
**callback**(NOT NULL):算法插件异步执行结果通过此回调返回引擎服务端; | -| int Prepare(long long transactionId,
const DataInfo &inputInfo, DataInfo
&outputInfo); | **作用**:加载算法插件。
**返回值**:0为成功,其他返回值失败。 | **transactionId**(NOT NULL):事务ID,用于标记客户端+会话信息;
**inputInfo**(可为NULL):加载算法插件传入的一些信息;
**outputInfo**(可为NULL):调用加载接口时的出参,返回相关执行结果; | -| int Release(bool isFullUnload, long long
transactionId, const DataInfo &inputInfo); | **作用**:卸载相关算法插件。
**返回值**:0为成功,其他返回值失败。 | **isFullUnload**(NOT NULL):表示此插件是否只剩一个client调用,否则不能直接卸载插件,需等最后一个client来进行卸载;
**transactionId**(NOT NULL):事务ID,用于标记客户端+会话信息;
**inputInfo**(可为NULL):卸载算法插件传入的一些信息; | -| int SetOption(int optionType, const
DataInfo &inputInfo); | **作用**:设置配置项,可将一些算法的拓展信息通过此接口传入插件。
**返回值**:0为成功,其他返回值失败。 | **optionType** (NOT NULL):算法配置项,算法插件可根据需要利用此状态位;
**inputInfo**(可为NULL):插件可根据需要通过此入参设置算法参数信息; | -| int GetOption(int optionType, const
DataInfo &inputInfo, DataInfo
&outputInfo); | **作用**:给定特定的optionType和inputInfo,获取其对应的配置项信息。
**返回值**:0为成功,其他返回值失败。 | **optionType**(NOT NULL):所获取配置项信息的对应算法状态位;
**inputInfo**(可为NULL):所获取配置项信息的对应算法参数信息;
**outputInfo**(可为NULL):所要获取的配置项信息返回结果; | +| int SyncProcess(IRequest \*request,
IResponse \*&response); | **作用**:执行插件同步算法。
**返回值**:0为成功,其他返回值为失败。 | **request**(NOT NULL):用于向算法插件传递请求内容;引擎服务端与插件的数据通道。
**response**(NOT NULL):作为出参用于接收算法插件发回的同步算法执行结果,引擎服务端与插件的数据通道。 | +| int AsyncProcess(IRequest \*request,
IPluginAlgorithmCallback \*callback); | **作用**:执行异步算法。
**返回值**:0为成功,其他返回值为失败。 | **request**(NOT NULL):用于向算法插件传递请求内容;引擎服务端与插件的数据通道。
**callback**(NOT NULL):算法插件异步执行结果通过此回调返回引擎服务端。 | +| int Prepare(long long transactionId,
const DataInfo &inputInfo, DataInfo
&outputInfo); | **作用**:加载算法插件。
**返回值**:0为成功,其他返回值为失败。 | **transactionId**(NOT NULL):事务ID,用于标记客户端+会话信息。
**inputInfo**(可为NULL):加载算法插件传入的一些信息。
**outputInfo**(可为NULL):调用加载接口时的出参,返回相关执行结果。 | +| int Release(bool isFullUnload, long long
transactionId, const DataInfo &inputInfo); | **作用**:卸载相关算法插件。
**返回值**:0为成功,其他返回值为失败。 | **isFullUnload**(NOT NULL):表示此插件是否只剩一个client调用,否则不能直接卸载插件,需等最后一个client来进行卸载。
**transactionId**(NOT NULL):事务ID,用于标记客户端+会话信息。
**inputInfo**(可为NULL):卸载算法插件传入的一些信息。 | +| int SetOption(int optionType, const
DataInfo &inputInfo); | **作用**:设置配置项,可将一些算法的拓展信息通过此接口传入插件。
**返回值**:0为成功,其他返回值为失败。 | **optionType** (NOT NULL):算法配置项,算法插件可根据需要利用此状态位。
**inputInfo**(可为NULL):插件可根据需要通过此入参设置算法参数信息。 | +| int GetOption(int optionType, const
DataInfo &inputInfo, DataInfo
&outputInfo); | **作用**:给定特定的optionType和inputInfo,获取其对应的配置项信息。
**返回值**:0为成功,其他返回值为失败。 | **optionType**(NOT NULL):所获取配置项信息的对应算法状态位。
**inputInfo**(可为NULL):所获取配置项信息的对应算法参数信息。
**outputInfo**(可为NULL):所要获取的配置项信息返回结果。 | 算法插件类接口:Prepare、SyncProcess、AsyncProcess、Release、SetOption、GetOption分别于客户端接口AieClientPrepare、AieClientSyncProcess、AieClientAsyncProcess、AieClientRelease、AieClientSetOption、AieClientGetOption一一对应;GetInferMode接口用于返回算法执行类型——同步或异步。 @@ -31,10 +31,10 @@ AI引擎框架规定了一套算法插件接入规范,各插件需实现规定 | 接口名 | 接口说明 | 参数要求 | | -------- | -------- | -------- | -| void OnEvent(PluginEvent event,
IResponse \*response); | 作用:插件通过此回调返回异步算法执行结果。 | **event**:算法执行结果枚举,‘ON_PLUGIN_SUCCEED’或 ‘ON_PLUGIN_FAIL’(成功或者失败);
**response**:算法执行结果封装; | +| void OnEvent(PluginEvent event,
IResponse \*response); | 作用:插件通过此回调返回异步算法执行结果。 | **event**:算法执行结果枚举,‘ON_PLUGIN_SUCCEED’或 ‘ON_PLUGIN_FAIL’(成功或者失败)。
**response**:算法执行结果封装。 | -Request、Response是ai引擎服务端与算法插件进行通信的对象。Request封装了调用方的请求、输入数据等,而插件主要通过Response将运算之后的结果返回给AI引擎服务端。 +Request、Response是AI引擎服务端与算法插件进行通信的对象。Request封装了调用方的请求、输入数据等,而插件主要通过Response将运算之后的结果返回给AI引擎服务端。 Request类的属性如下表所示。 @@ -46,7 +46,7 @@ Request类的属性如下表所示。 | -------- | -------- | -------- | | innerSequenceId_ | 类型:long long
作用:暂未启用。 | 0 | | requestId_ | 类型:int
作用:标识请求序列,用于绑定返回运算结果。 | 0 | -| operationId_ | 类型:int
作用:目前暂未启用。 | 0 | +| operationId_ | 类型:int
作用:暂未启用。 | 0 | | transactionId_ | 类型:long long
作用:事务ID,唯一标识clientId+sessionId。 | 0 | | algoPluginType_ | 类型:int
作用:引擎框架根据插件加载顺序分配的算法类型的ID。 | 0 | | msg_ | 类型:DataInfo
作用:存放调用算法接口的输入数据。 | .data = nullptr
.length = 0 | -- GitLab