10
当用户在小程序内发起对话,你是在后台抓紧安排人工回复吗?

由于等待回复时间过长,用户产生不满并弃用了你的小程序。

“秒回”是对话的基本要求,及时回复才能给到用户尊重和被重视感。然而,受人力成本的因素影响,专业客服往往需要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小助手即可获取进群方式。
在这里插入图片描述


微信极客WeGeek
283 声望64 粉丝