网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
功能描述 | 接口原型 |
---|---|
助手类意图(同步接口) | ResponseResult getAssistantIntention(String requestData, int requestType) |
助手类意图(异步接口) | ResponseResult getAssistantIntention(final String requestData, final int requestType, final OnResultListener listener) |
初始化 | void init(Context context, OnResultListener listener, boolean isLoadModel) |
销毁接口 | void destroy(Context context) |
接口输入值说明
requestType表示请求类型,通过NluRequestType类定义了以下请求类型:
类型 | 说明 |
---|---|
static int | REQUEST_TYPE_LOCAL = 0 本地请求 |
requestData表示输入的文本信息,为JSON格式,如下:
参数名 | 是否必选 | 值类型 | 说明 |
---|---|---|---|
text | 是 | String | 待分析的文本,格式要求为“utf-8”,文本长度不超过50个字符。 |
category | 否 | String | 需要分析的意图类别,默认分析所有类别,多个类别用半角逗号隔开。例如,需要系统设置类和出行类,取值为“systemSetting,trip”。取值详情参见表1。 |
module | 否 | String | 用来指定具体分析哪些意图模块,默认分析所有模块,多个意图模块用半角逗号“,”隔开。例如分析订火车票和订机票意图,取值为“bookTrainTicket,bookAirTicket”。取值详情参见表1。 备注:分析时category与module取并集,如category为“systemSetting”,module为“bookTrainTicket”,将会分析系统设置类的所有意图、以及订火车票“bookTrainTicket”意图 。 |
callPkg | 否 | String | 调用者名称 |
callType | 否 | int | 调用者类型,取值如下: 0:普通应用(默认)1:快应用 |
callVersion | 否 | String | 调用者版本号 |
callState | 否 | int | 调用者状态,取值如下: -1:未知(默认)0:前台1:后台 |
- 0:普通应用(默认)
- 1:快应用
callVersion 否 String 调用者版本号 callState 否 int 调用者状态,取值如下:
- -1:未知(默认)
- 0:前台
- 1:后台
意图类别(category) | 包含意图 | 具体的意图模块(module) |
---|---|---|
trip | 订机票、订火车票、导航、查询地点 | bookTripTicket、bookAirTicket、queryTrain、navigation、queryPosition |
contact | 打电话 | call |
systemSetting | 打开4g、关闭4g、设置4g、打开wifi、关闭wifi等 | open4G、close4G、set4G、openWlan、closeWlan |
接口返回值说明
返回值为JSONObject字符串:
参数名 | 子参数 | 是否必选 | 值类型 | 说明 |
---|---|---|---|---|
code | - | 是 | int | 0:成功 1:系统正在初始化 2:参数错误 3:系统忙 4:系统异常 5:任务超时 6:其它错误 |
message | - | 是 | String | 异常信息 |
intentions | - | 否 | JSONArray | 意图列表,数组里的类型为JSONObject |
name | 否 | String | 意图名 | |
attributes | 否 | JSONArray | 意图对应的属性 |
开发步骤
在使用助手类意图识别API时,将实现助手类意图识别的相关的类添加至工程。
import ohos.ai.nlu.NluRequestType;
import ohos.ai.nlu.NluClient;
import ohos.ai.nlu.OnResultListener;
import ohos.ai.nlu.ResponseResult;
复制
使用NluClient静态类进行初始化,通过异步方式获取服务的连接。
- context:应用上下文信息,应为ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的实例或子类实例。
- listener:初始化结果的回调,可以传null。
- isLoadModel:是否加载模型,如果传true,则在初始化时加载模型;如果传false,则在初始化时不加载模型。
NluClient.getInstance().init(context, new OnResultListener(){
@Override
public void onResult(Integer result){
// 初始化成功回调,在服务初始化成功调用该函数
}
}, true);
复制
调用助手类意图识别接口。
/** Constructing input parameters for testing getAssistantIntention method. */
String requestData = “{“text”:“关闭wlan”}”;
/** Start analyzing intention based on assistant tool */
ResponseResult responseResult = NluClient.getInstance().getAssistantIntention(requestData, NluRequestType.REQUEST_TYPE_LOCAL);
复制
或者调用助手类意图识别的异步接口
NluClient.getInstance()
.getAssistantIntention(requestData, NluRequestType.REQUEST_TYPE_LOCAL, new OnResultListener() {
@Override
public void onResult(ResponseResult result) {
// 异步返回结果处理
}
});
复制
解绑服务
/** release resource*/
NluClient.getInstance().destroy(context);
最后,为了能让大家更好的去学习提升鸿蒙 (Harmony OS) 开发技术,小编连夜整理了一份30个G纯血版学习资料(含视频、电子书、学习文档等)以及一份在Github上持续爆火霸榜的《纯血版华为鸿蒙 (Harmony OS)开发手册》(共计890页),希望对大家有所帮助。
纯血版鸿蒙 HarmonyOS 4.0 视频学习资料
需要以上视频学习资料小伙伴
《纯血版华为鸿蒙 (Harmony OS)开发手册》
这份手册涵盖了当前鸿蒙 (Harmony OS) 开发技术必掌握的核心知识点
纯血版鸿蒙 (Harmony OS)开发手册部分精彩内容
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新