运行问答机器人引擎
运行问答机器人引擎
Answer Bot是一个强大的偏转机制,它使用机器学习来建议帮助中心的文章来响应用户的查询。统一SDK可以使用引擎自动转移客户查询。如果转移不成功,统一SDK可以切换到由其他产品引擎驱动的另一个联系人选项,例如支持引擎.
回答机器人引擎是如何工作的
回答机器人一次最多提供三篇文章来回应用户的查询。
文章屏幕打开几秒钟后,系统会询问用户该文章是否解决了他们的问题。
如果用户返回消息屏幕时没有将问题标记为已解决或未解决,则会在消息屏幕上再次提示相同的问题。
当用户表示他们的问题还没有解决时,答案机器人会提供其他可用的替代联系选项,比如支持.如果没有其他引擎已包括,回答机器人不提供任何其他联系选项。
通过支持引擎创建的任何票证,从回答机器人移交将包含回答机器人对话的完整记录。
启动Answer Bot引擎
注意:一定要添加统一SDK依赖,初始化SDK,识别您的用户.
的实例AnswerBotEngine
:
引擎answerbotenengine = answerbotenengine . Engine ();
让引擎自己运转
要启动答疑机器人引擎,请传递您的AnswerBotEngine
类的构造器的实例MessagingActivity
如下:
MessagingActivity.builder ()
.withEngines (answerBotEngine)
,告诉(上下文);
引擎与其他引擎一起运行
将问答机器人引擎与支持引擎和闲谈,聊天,获取两个引擎的实例,并将它们包含在MessagingActivity
建造者:
引擎answerbotenengine = answerbotenengine . Engine ();
Engine supportenengine = supportenengine . Engine ();
引擎chatEngine = chatEngine . Engine ();
MessagingActivity.builder ()
.withEngines(answerboengine, chatEngine, supportEngine)
,告诉(上下文);
请注意answerBotEngine
对象放置之前还有其他的引擎吗?这一点很重要,因为统一SDK将启动列表中的第一个引擎,任何后续引擎都将被视为潜在的联系选项。回答机器人可以移交给支持和聊天,但没有其他引擎可以移交给回答机器人。这意味着answerBotEngine
必须放在列表的首位,否则它将永远不会启动。
使用Answer Bot API提供程序
如果统一SDK UI不适合你的Answer Bot用例,你可以使用Answer Bot SDK的API提供程序来代替,并构建你自己的UI。
添加提供者构件
要使用API提供程序,请更新您的build.gradle
使用Answer Bot提供程序构件:
api集团:“com.亚博zendesk”,模块:“answerbot-providers”,版本:“3.1.0”
的依赖项消息传递
和answerbot
如果您不使用这些组件。
使用AnswerBotProvider
Answer Bot的功能是通过AnswerBotProvider
接口。的实例AnswerBotProvider
使用AnswerBot
单例模式:
AnswerBotProvider提供者=AnswerBot.实例.answerBotProvider();
获取建议文章
要获取用户查询的建议文章,请调用getDeflectionForQuery
:
提供者。getDeflectionForQuery("my query", new 亚博ZendeskCallback
() { @Override
public void onSuccess(DeflectionResponse) {
long deflectionId = deflectionresponse . get挠度().getId();
String interactionAccessToken = deflectionResponse.getInteractionAccessToken();
List
articles = deflectionResponse.getDeflectionArticles(); //用冠词做点什么
}
@Override
public void onError(ErrorResponse) {
//处理错误
}
});
一定要保持deflectionId
和interactionAccessToken
值,以便您可以解决或拒绝建议的条目。
解决建议
当建议文章解决了用户的问题时,将查询标记为已解决:
long articleId = article.getId();
provider.resolveWithArticle (deflectionId
article.getId (),
interactionAccessToken,
new 亚博ZendeskCallback
() { @Override
public void onSuccess(void aVoid) {
//处理成功
}
@Override
public void onError(ErrorResponse) {
//处理错误
}
});
拒绝建议
当最终用户指出建议的文章没有解决他们的查询时,拒绝该文章。拒绝电话也需要一个RejectionReason
参数:
provider.rejectWithArticle (deflectionId
article.getId (),
interactionAccessToken,
RejectionReason。NOT_RELATED,
new 亚博ZendeskCallback
() { @Override
public void onSuccess(void aVoid) {
//处理成功
}
@Override
public void onError(ErrorResponse) {
//处理错误
}
});