当用户在小程序内发起对话,你是在后台抓紧安排人工回复吗?由于等待回复时间过长,用户产生不满并弃用了你的小程序。
“秒回”是对话的基本要求,及时回复才能给到用户尊重和被重视感。然而,受人力成本的因素影响,专业客服往往需要1对N,在对话需求激增的情况下,回复并不高效。其实,用户发起对话,需求大概分为两种:服务和咨询。当用户只是要获取固定服务的渠道,可以通过AI机器人解答用户的问题。
然而目前的情况是,AI对话能力并不是每个小程序开发团队都能自行开发,所以微信AI团队推出了「微信对话开放平台」,向有对话或客服需求的个人、企业或组织开放微信的对话AI能力,帮助他们在小程序配置对话AI机器人。
「微信对话开放平台」能做什么?
「微信对话开放平台」是在微信智言与微信智聆两大技术支持下推出的,能够支持文字甚至语音进行AI对话。它既能帮助没有开发能力的开发者快速搭建客服机器人,又为有开发能力的第三方开发者提供API接口, 快速获取对话服务能力。
这些可接入的对话技能不仅包括预置的基础服务技能,如天气、新闻或百科等,还能自定义配置技能,让开发者能够根据场景定制对话或客服技能。
「微信对话开放平台」可应用的场景?
「微信对话开放平台」可应用于客服场景,通过发送指令以获取特定服务或信息,比如:
获取快递信息:在电商平台上,无需等待真人客服,用户只要在聊天界面上发送“快递”等相关文字,即可得知商品所寄的快递。
「微信对话开放平台」也可应用于非客服场景,承担社交功能,培养用户的情感依赖,比如:
解答今天吃什么:在餐饮平台上,通过机器人回答纠结吃什么的用户关于“吃什么”的问题,可以为他们提供建议,并适当地推荐对应的菜品。
如何使用「微信对话开放平台」?
01 创建机器人
① 登录微信对话开放平台配置机器人
登录微信对话开放平台(https://openai.weixin.qq.com),点击开始使用,创建机器人,按规定填写“机器人名称”,“机器人ID”和“验证码”。
② 创建机器人技能
可以创建自定义对话技能或者选择系统对话技能,进行调试和发布。
关于自定义技能,要根据自己的场景需求进行创建和配置,具体操作详见文档:
https://openai.weixin.qq.com/...
02 调用微信对话开放平台小程序插件
微信对话开放平台小程序插件,提供两种调用方式,一种是有UI组件式调用,另一种是无UI功能接口调用。
① 添加插件
登录小程序,在“设置-第三方服务-插件管理”处搜索并添加 openaiwidget 插件
② 插件配置
在小程序 app.json 中配置, 小程序插件id是 wx8c631f7e9f2465e1 , 当前稳定版本是1.0.1
{
"pages": [
"pages/index/index"
],
"plugins": {
"chatbot": {
"version": "1.0.1",
"provider": "wx8c631f7e9f2465e1"
}
},
"requiredBackgroundModes": [
"audio"
],
"sitemapLocation": "sitemap.json"
}
当使用有UI版本时,需要额外使用WechatSI组件, 只使用接口不使用UI时,使用上面的配置就可以了
{
"pages": [
"pages/index/index",
"pages/newsPage/newsPage",
"pages/common/common"
],
"plugins": {
"myPlugin": {
"version": "dev",
"provider": "wx8c631f7e9f2465e1"
},
"WechatSI": {
"version": "0.3.1",
"provider": "wx069ba97219f66d99"
}
},
"requiredBackgroundModes": ["audio"],
"sitemapLocation": "sitemap.json"
}
③ 获取获得插件所需appid
在微信对话开放平台上,进入“设置-服务接入”获得对应的小程序ID
④ 无UI, 直接调用插件接口
• 组件初始化
var plugin = requirePlugin("chatbot");
App({
onLaunch: function() {
console.log(plugin, "+++");
plugin.init({
appid: "P5Ot9PHJDechCYqDFAW1AiK6OtG3Ja", //小程序示例账户,仅供学习和参考
success: () => {},
fail: error => {}
});
}
});
• 发送query
plugin.send({
query: "你好",
success: res => {
console.log(res);
},
fail: error => {}
});
• 返回结果
{
"ans_node_id": 6666,
"ans_node_name": "天气服务",
"answer": "北京今天小雨,温度18到29度,当前温度27度,空气质量轻度污染,今天有雨,略微偏热,注意衣物变化。",
"answer_open": 1,
"answer_type": "text",
"article": "",
"bid_stat": {
"curr_time": "20190826-16:34:56",
"err_msg": "",
"latest_time": "20190826-16:34:56",
"latest_valid": true,
"up_ret": 0
},
"confidence": 1,
"create_time": "1566810973035",
"dialog_status": "COMPLETE",
"from_user_name": "o9U-85tEZToQxIF8ht6o-KkagxO0",
"intent_confirm_status": "",
"list_options": false,
"msg": [
{
"ans_node_id": 6666,
"ans_node_name": "天气服务",
"article": "",
"confidence": 1,
"content": "北京今天小雨,温度18到29度,当前温度27度,空气质量轻度污染,今天有雨,略微偏热,注意衣物变化。",
"debug_info": "",
"list_options": false,
"msg_type": "text",
"resp_title": "天气服务",
"status": "CONTEXT_FAQ"
}
],
"ret": 0,
"skill_id": "",
"skill_type": "",
"slot_info": [
{
"date": "{\"type\":\"DT_ORI\",\"date_ori\":\"今天\",\"date\":\"2019-08-26\",\"date_lunar\":\"2019-08-26\",\"week\":\"1\",\"slot_content_type\":\"2\",\"modify_times\":\"0\"}"
},
{
"from_loc": "{\"type\":\"LOC_CHINA_CITY\",\"country\":\"中国\",\"city\":\"北京\",\"city_simple\":\"北京\",\"loc_ori\":\"北京\",\"slot_content_type\":\"2\",\"modify_times\":\"1\"}"
}
],
"slots_info": [
{
"confirm_status": "NONE",
"end": 0,
"entity_type": "",
"norm": "2019-08-26",
"norm_detail": "",
"slot_name": "date",
"slot_value": "{\"type\":\"DT_ORI\",\"date_ori\":\"今天\",\"date\":\"2019-08-26\",\"date_lunar\":\"2019-08-26\",\"week\":\"1\",\"slot_content_type\":\"2\",\"modify_times\":\"0\"}",
"start": 0
},
{
"confirm_status": "NONE",
"end": 6,
"entity_type": "LOC_CHINA_CITY",
"norm": "{\"type\":\"LOC_CHINA_CITY\",\"country\":\"中国\",\"city\":\"北京\",\"city_simple\":\"北京\",\"loc_ori\":\"北京\"}",
"norm_detail": "",
"slot_name": "from_loc",
"slot_value": "{\"type\":\"LOC_CHINA_CITY\",\"country\":\"中国\",\"city\":\"北京\",\"city_simple\":\"北京\",\"loc_ori\":\"北京\",\"slot_content_type\":\"2\",\"modify_times\":\"1\"}",
"start": 0
}
],
"status": "CONTEXT_FAQ",
"title": "天气服务",
"to_user_name": "10808"
}
⑤ 有UI,直接使用标记组件,无需接口调用
• 组件初始化
var plugin = requirePlugin("chatbot");
App({
onLaunch: function() {
console.log(plugin, "+++");
plugin.init({
appid: "P5Ot9PHJDechCYqDFAW1AiK6OtG3Ja", //小程序示例账户,仅供学习和参考
success: () => {},
fail: error => {}
});
}
});
• 在组件内进行配置
在页面的配置json内进行配置,比如 pages/index/index.json
{
"usingComponents": {
"chat": "plugin://chatbot/chat"
}
}
• 使用组件
<view>
<chat bind:backHome="goBackHome" />
</view>
// goBackHome回调 返回上一级页面
goBackHome: function () {
wx.navigateBack({
delta: 1
})
}
• 每次返回结构后,触发 queryCallback
<view>
<chat bind:queryCallback="getQueryCallback" bind:backHome="goBackHome" />
</view>
// getQueryCallback回调 返回query与结果
getQueryCallback: function (e) {
var listData = this.data.listData
listData.push(e.detail)
if (listData.length === 10) {
wx.navigateTo({
url: '../newsPage/newsPage',
})
}
},
// goBackHome回调 返回上一级页面
goBackHome: function () {
wx.navigateBack({
delta: 1
})
}
• 初始化配置项
plugin.init({
...options
appid: "PWj9xdSdGU3PPnqUUrTf7uGgQ9Jvn7",
success: () => {},
fail: error => {}
guideList: ["您好"]
});
options 说明:
小程序接入具体操作详见文档:
https://mp.weixin.qq.com/wxop...
扫码体验:微信对话开放平台小程序插件 应用示例
P.S.我们最近新建了个WeGeek技术交流群,欢迎小程序开发同好者进群交流,调戏勾搭群里的云开发大神~扫码添加Wegeek小助手即可获取进群方式。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。