导语 | 9月21日,云+社区技术沙龙“小程序·云开发”北京站圆满落幕。本期沙龙腾讯云联合猫眼、即速应用、白鹭引擎等企业,将从小程序·云开发后台技术、云开发实时数据推送实践、云开发AI智能客服实践等方面揭秘云开发应用实践,带来更多技术实战分享。本文是高文飞老师关于即速应用对云开发价值的解读以及云开发AI智能客服方案实践的内容分享。
高文飞,即速应用后端负责人,2014年加入即速应用,负责过微页H5、即速应用、即速云开放平台、插件Docker微服务、OpenResty网关应用等设计与实现,目前主要负责即速应用基础架构设计与优化工作,多年互联网架构设计经验。
本文分三个部分:
第一部分即速应用简介
第二部分小程序云开发价值解读
第三部分AI智能客服云开发方案
第四部分未来展望
1.即速应用介绍
即速应用2014年成立于深圳,2016年首次推出小程序即速应用平台。即速应用首家同时支持微信、支付宝、百度、QQ、今日头条、抖音等六大平台的小程序开发制作服务平台,面向用户主要是普通没有开发能力的用户,没有开发资源又想做自己的小程序可以在我们平台通过拖拽的方式上传发布他们想要的小程序。目前帮助商家做了15万款小程序,拥有100万企业用户,覆盖260座城市,近一年有两轮融资。
即速应用是可视化的小程序开发工具,通过拖拽的方式快速生成一个小程序,现在有30多种小程序功能组件,支持6大平台,100多个行业解决方案,也有非常多个性化制作的模式,普通用户在我们的平台在不懂代码的情况下可以一键生成制作自己的小程序。
2.多种个性化制作模式
通过一些模板套用方便用户快速制作小程序,不仅是通过拖拽的方式。我们有各行各业的模板可以让用户选择,也有非常多的组件,比如说文本、图片、标题可以让用户像制作PPT一样的去制作自己的小程序。
3.高效后台管理
即速有自定义的后台,可以把自己想要的功能通过编辑的方式放到后台,也会有全方位的数据统计,包括全方位统计实时运营的数据,也可以构建用户多维度的画像,追踪用户在小程序端的行为。
4.即速应用核心功能
现在即速应用核心功能有电商预约、到店、资讯、外卖等等核心主要功能,也会有社会化的营销工具包括会员卡、拼团、秒杀、分销等等商家用的工具。
我们也做了开放平台,就是商家应用的开放平台,把所有商品、订单、优惠券、用户的接口开放给商家使用,这样方便他们对接自有系统,比如说ERP、收银系统。也做了类似微信插件的应用,可以把用户制作的小程序以分包的方式存在用户打包的小程序里面,这样可以集成其他开发者的功能插件。所以开放平台也是针对有开发能力的开发者,把他自己的功能也可以集成到即速应用小程序里面。
我们现在也有一些热门的插件是自己去开发的,后续很多功能是以插件的方式去实现,像智能客服就是以插件的方式去做。
1.小程序云开发核心能力
小程序云开发是微信团队和腾讯云联合开发的集成于小程序控制台的原生serverless云服务,有云函数、云存储、云数据库、云调用四大核心能力。通过云函数、云存储、云数据库、云调用可以减少服务器的成本,不用关心服务器怎么去跑的,直接使用就好了。只要去调用跑业务逻辑代码就可以,不需要关心服务器。云调用也是我们实现智能客服核心,可以通过免鉴权调用小程序开放接口的能力。
2.云开发推动下开发模式演进
在传统开发模式需要关心弹性伸缩、负载均衡等等很多运维配置项,云开发模式只需要关心数据库、文件存储、云函数就可以了。
3.云开发&即速应用
即速应用在云开发已经接入的模块,有智能客服、独立模板、功能插件(完全基于云开发)、定制模块。可以看到共同点就是如果要做云开发,还是一些独立功能才适合做,如果跟自身业务结合比较多的话目前来说还比较复杂,无法用云开发处理。如果业务逻辑比较独立的话,我们用云开发去做就非常简单,也节省了很多的开发工作量。
4.即速应用如何接入云开发
我们现在帮客户实现的这一套流程是基于微信开放平台权限集,就是开发管理与数据分析权限,能够把用户的小程序代码打包发布到微信后台,也可以实现微信登录、数据分析等等,这是即速应用代理发布小程序的实现逻辑。
5.即速应用SAAS服务云开发模式
(1)即速应用云开发管理权限集
这在微信开放平台是可以看到的,主要帮助用户小程序代管理云开发的资源,包括客户端开通云开发,上传配置、管理云函数等。当前这个还在内测阶段,我们的智能客服也是跟云开发合作的项目,所以我们提前试用了这个权限集,后续会很快开放出来。
云开发管理权限集有代开通、代部署、代管理的职能,可以帮助用户直接开通云开发,管理包括数据库、云函数、配置文件等等,也能够集成在PC端后台进行管理。普通用户如果想用云开发的话,我们可以帮他实现这整套云开发流程。这样做以后云开发对普通用户也是无感知的,他们不需要关心后台怎么运作,只需要点击部署就可以了。
(2)服务商和独立开发者的区别
服务商做可能会把云函数分为公有云函数和私有云函数。为了复用云函数,很多功能会使用云开发,但有些云函数比如日志记录是公共的,多个功能里都有这个云函数,不可能每次都进行上传部署,上传云函数就会先判断有没有部署公共部分,再判断有没有部署私有部分,已经部署的就不会再部署。主要是代码复用性。
还有一个就是需要批量更新代码,当功能更新时候需要把所有的云开发小程序批量更新代码,包括bug修复。云函数的代码也不是很大,一个用户现在更新大概就15秒左右,多任务处理的话应该半小时到1小时之间能跑完;
代码保护私有化,这是我在开发过程中的一些建议和想法,当然现在还没有去做。就是服务商上传的云函数和数据库不能被用户修改,因为我们针对使用的是小白用户,如果他上去改云函数,会导致这个功能直接崩溃。实际上他可以到微信开发的控制台去查看这个云函数,如果他把云函数的某一个点改了程序就会崩溃了。所以服务商在做云函数是希望它受到保护,不能修改;
私有化,我们每次上线都需要批量代码更新,现在用户量比较少只有几千几万的用户,到后面用户规模越来越大,如果还是这样批量更新服务器压力会比较大,我们希望服务商能有私有化的空间,能把云函数和数据库传到服务商的域里,可以授权用户去访问和使用,这样我们就不用再去批量更新代码了。
6.借力云开发,提供了更高效的小程序开发服务
它是低成本的,服务器、人力资源也会减少,效率也会更高;之前我们调很多接口都是通过各种授权、API,但是我们在云函数写几行代码就解决了,开发时间就没有那么长。免运维更稳定,不需要去处理服务器运维的问题。开放功能也更多,比如智能客服和智能图像,在云开发能够快速接入这些服务,这次的AI智能客服对接也是通过开放的API进行的。
1.腾讯智能对话平台TBP
现在具体讲智能客服云开发的方案,首先我们用的AI能力是腾讯云开放的叫做腾讯智能对话平台。它专注于“对话即服务”为愿景,全面开放腾讯对话系统核心技术,主要是提供机器人中间件能力,作为普通的开发者也能够使用AI机器人。
如果要实现AI机器人的话就要创建机器人,配置它的语义模型,然后再发布机器人,我们就可以在云开发直接调用机器人就可以了,非常简单方便。
首先我们要了解语义模型,它需要配置词典、配置意图、配置问答。“意图”就是用户与机器人进行对话交互背后的目的,是用户希望完成的事情;“词典”是用于意图中槽位的识别和填充;“问答”是预先设定好的问题答案,帮助机器人去识别。
重点是讲“意图”,就是理解用户的意图,想问什么,想做什么,想查什么。比如说用户文想问订单什么时候发货,机器人理解了用户的意思就告诉他什么时候发货。或者说用户想预约服务,机器人就请求API进行预约再告诉用户结果。或者是查订单、物流的情况,了解到这个意图就请求API告诉用户物流已经到了哪。这是AI需要识别的用户的意图。
2.AI智能客服需求功能设计
AI智能客服需求功能分为PC端和小程序端。PC端包括代开通云开发、代部署云函数、TBP设置、自动回复设置、关键词回复、数据统计。小程序端主要是云函数处理,代码就比较少主要是云函数,把客户消息转到AI机器人去处理,机器人处理不了再转到人工客服去处理。
3.一键代部署云开发环境
首先要开通云开发环境,再创建云环境,创建云数据库,上传云函数。用户使用智能客服的功能,点击进来会判断是否开通云开发,没有就弹窗提示开通云开发。用户只要点击立即开通,就会跑后台任务去帮他开通。开通完之后会选择云开发环境,选择之后点确认后台创建环境,然后创建数据库再上传云函数,智能客服就已经部署完成可以使用了,用户是没有太多感知,只是弹窗点击页面客服功能就上传了,就已经在云开发部署了智能客服的体系。
4. PC端后台管理实现
PC端后端代码的实现,主要是做关键词设置、自动回复、数据统计。通过微信授权API触发云函数,云函数上传之后可以通过API操作数据库增删改查。机器人主要通过腾讯云SDK来操作TBP平台,相当于把TBP那一套功能搬过来了,实现了服务系一体化,如果个人开发者想设置AI的话,就不需要做PC端的机器人设置,直接去腾讯云后台操作是一样的,我们只是把TBP搬过来改进了一些让普通用户更易用。腾讯云TBP那边主要还是针对开发者使用,普通用户使用起来的话还是有一点复杂。
5.小程序端实现
小程序端实现会用云函数做,比如客户入口的云函数,获取关键词、获取开场白或者获取统计的云函数。
设置开场白云函数的实现,先判断有没有开场白,如果没有就设置,有就直接更新数据,这个逻辑实现比较简单。
核心云函数是客服入口云函数的实现,用户首次进入会话我们会回复开场白,如果收到用户消息的话我们判断是否转人工,如果输入转人口就转人工客服处理,转到腾讯自带客服。
6.小程序端体验
(1)开场白
我们体验一下智能客服,如果用户首次进来就会回复开场白,比如说告诉你可以回复数字,这些都是用户事先设定好的,如果转人工的话就会转到人工客服那边。
(2)关键词回复
如果用户消息是关键词的话就关键词回复,当然是特殊关键词否则的话会跟AI之间有冲突。关键词回复如果没有就转到AI机器人处理,AI机器人会理解用户的意图或者直接回答问题或者调用API告诉用户,查物流或者预约服务。如果用户再次发送消息就再次回到判断是否转人工处理,这是小程序实现的逻辑。
(3)接入智能对话系统
用户想要预约理发服务,我们就会回请问预约到什么时间,然后用户说今天,客服会问几点钟,然后回复下午4点,然后机器人就调用API请求并告诉用户已经帮您预约成功下午4点。
(4)转接人工客服
我们可以看到通过AI智能客服可以很方便的和业务进行接轨,也更好识别用户的意图,能够减少人工客服的工作量,智能客服接入处理后就能减少很多人工的成本。
我们后面会继续迭代智能客服,在AI模板上做一些东西,对于用户来说要配置意图和问答有点复杂,希望预先设定好问题以及各行各业的模板,用户只要选择这些模板就好了。然后更多接入信息查询的任务,现在是预约,后面会有和更多业务深度结合;还有就是更多组件用云开发去做,定制服务是用户特殊化的需求,我们也可以用云开发做,这样相当于我们的服务是部署在用户那边;目前PC端云开发也是开放的,PC端网页也可以用云开发去实现。后续也会有更多的业务接入。
通过这次跟云开发团队的合作,看到云开发对服务商各方面的优势,未来能够低成本高效率的帮助用户开发、发布小程序,也希望小程序云开发后面越来越好。
Q:我前一段时间看了一篇文章,自己也动手做了一个,相当于微信bate,用户会给我发一张图片,我有一个训练集在里面识别这张图片源于哪。我刚才看了AI智能,我想问一下AI客服,当你给他发一些其他东西他会自己学习吗?
A:应该是会的,我们用的是腾讯云的能力,具体还是要看腾讯云TBP平台,它目前主要是基于文字对话,图片识别暂时是不支持的,后续如果TBP开放图片识别我们也会深度结合。
----------END----------
关注云加社区,回复 3 加读者群
点在看,让更多人看到
导语 | 9月21日,云+社区技术沙龙“小程序·云开发”北京站圆满落幕。本期沙龙腾讯云联合猫眼、即速应用、白鹭引擎等企业,将从小程序·云开发后台技术、云开发实时数据推送实践、云开发AI智能客服实践等方面揭秘云开发应用实践,带来更多技术实战分享。本文是高文飞老师关于即速应用对云开发价值的解读以及云开发AI智能客服方案实践的内容分享。
高文飞,即速应用后端负责人,2014年加入即速应用,负责过微页H5、即速应用、即速云开放平台、插件Docker微服务、OpenResty网关应用等设计与实现,目前主要负责即速应用基础架构设计与优化工作,多年互联网架构设计经验。
本文分三个部分:
第一部分即速应用简介
第二部分小程序云开发价值解读
第三部分AI智能客服云开发方案
第四部分未来展望
1.即速应用介绍
即速应用2014年成立于深圳,2016年首次推出小程序即速应用平台。即速应用首家同时支持微信、支付宝、百度、QQ、今日头条、抖音等六大平台的小程序开发制作服务平台,面向用户主要是普通没有开发能力的用户,没有开发资源又想做自己的小程序可以在我们平台通过拖拽的方式上传发布他们想要的小程序。目前帮助商家做了15万款小程序,拥有100万企业用户,覆盖260座城市,近一年有两轮融资。
即速应用是可视化的小程序开发工具,通过拖拽的方式快速生成一个小程序,现在有30多种小程序功能组件,支持6大平台,100多个行业解决方案,也有非常多个性化制作的模式,普通用户在我们的平台在不懂代码的情况下可以一键生成制作自己的小程序。
2.多种个性化制作模式
通过一些模板套用方便用户快速制作小程序,不仅是通过拖拽的方式。我们有各行各业的模板可以让用户选择,也有非常多的组件,比如说文本、图片、标题可以让用户像制作PPT一样的去制作自己的小程序。
3.高效后台管理
即速有自定义的后台,可以把自己想要的功能通过编辑的方式放到后台,也会有全方位的数据统计,包括全方位统计实时运营的数据,也可以构建用户多维度的画像,追踪用户在小程序端的行为。
4.即速应用核心功能
现在即速应用核心功能有电商预约、到店、资讯、外卖等等核心主要功能,也会有社会化的营销工具包括会员卡、拼团、秒杀、分销等等商家用的工具。
我们也做了开放平台,就是商家应用的开放平台,把所有商品、订单、优惠券、用户的接口开放给商家使用,这样方便他们对接自有系统,比如说ERP、收银系统。也做了类似微信插件的应用,可以把用户制作的小程序以分包的方式存在用户打包的小程序里面,这样可以集成其他开发者的功能插件。所以开放平台也是针对有开发能力的开发者,把他自己的功能也可以集成到即速应用小程序里面。
我们现在也有一些热门的插件是自己去开发的,后续很多功能是以插件的方式去实现,像智能客服就是以插件的方式去做。
1.小程序云开发核心能力
小程序云开发是微信团队和腾讯云联合开发的集成于小程序控制台的原生serverless云服务,有云函数、云存储、云数据库、云调用四大核心能力。通过云函数、云存储、云数据库、云调用可以减少服务器的成本,不用关心服务器怎么去跑的,直接使用就好了。只要去调用跑业务逻辑代码就可以,不需要关心服务器。云调用也是我们实现智能客服核心,可以通过免鉴权调用小程序开放接口的能力。
2.云开发推动下开发模式演进
在传统开发模式需要关心弹性伸缩、负载均衡等等很多运维配置项,云开发模式只需要关心数据库、文件存储、云函数就可以了。
3.云开发&即速应用
即速应用在云开发已经接入的模块,有智能客服、独立模板、功能插件(完全基于云开发)、定制模块。可以看到共同点就是如果要做云开发,还是一些独立功能才适合做,如果跟自身业务结合比较多的话目前来说还比较复杂,无法用云开发处理。如果业务逻辑比较独立的话,我们用云开发去做就非常简单,也节省了很多的开发工作量。
4.即速应用如何接入云开发
我们现在帮客户实现的这一套流程是基于微信开放平台权限集,就是开发管理与数据分析权限,能够把用户的小程序代码打包发布到微信后台,也可以实现微信登录、数据分析等等,这是即速应用代理发布小程序的实现逻辑。
5.即速应用SAAS服务云开发模式
(1)即速应用云开发管理权限集
这在微信开放平台是可以看到的,主要帮助用户小程序代管理云开发的资源,包括客户端开通云开发,上传配置、管理云函数等。当前这个还在内测阶段,我们的智能客服也是跟云开发合作的项目,所以我们提前试用了这个权限集,后续会很快开放出来。
云开发管理权限集有代开通、代部署、代管理的职能,可以帮助用户直接开通云开发,管理包括数据库、云函数、配置文件等等,也能够集成在PC端后台进行管理。普通用户如果想用云开发的话,我们可以帮他实现这整套云开发流程。这样做以后云开发对普通用户也是无感知的,他们不需要关心后台怎么运作,只需要点击部署就可以了。
(2)服务商和独立开发者的区别
服务商做可能会把云函数分为公有云函数和私有云函数。为了复用云函数,很多功能会使用云开发,但有些云函数比如日志记录是公共的,多个功能里都有这个云函数,不可能每次都进行上传部署,上传云函数就会先判断有没有部署公共部分,再判断有没有部署私有部分,已经部署的就不会再部署。主要是代码复用性。
还有一个就是需要批量更新代码,当功能更新时候需要把所有的云开发小程序批量更新代码,包括bug修复。云函数的代码也不是很大,一个用户现在更新大概就15秒左右,多任务处理的话应该半小时到1小时之间能跑完;
代码保护私有化,这是我在开发过程中的一些建议和想法,当然现在还没有去做。就是服务商上传的云函数和数据库不能被用户修改,因为我们针对使用的是小白用户,如果他上去改云函数,会导致这个功能直接崩溃。实际上他可以到微信开发的控制台去查看这个云函数,如果他把云函数的某一个点改了程序就会崩溃了。所以服务商在做云函数是希望它受到保护,不能修改;
私有化,我们每次上线都需要批量代码更新,现在用户量比较少只有几千几万的用户,到后面用户规模越来越大,如果还是这样批量更新服务器压力会比较大,我们希望服务商能有私有化的空间,能把云函数和数据库传到服务商的域里,可以授权用户去访问和使用,这样我们就不用再去批量更新代码了。
6.借力云开发,提供了更高效的小程序开发服务
它是低成本的,服务器、人力资源也会减少,效率也会更高;之前我们调很多接口都是通过各种授权、API,但是我们在云函数写几行代码就解决了,开发时间就没有那么长。免运维更稳定,不需要去处理服务器运维的问题。开放功能也更多,比如智能客服和智能图像,在云开发能够快速接入这些服务,这次的AI智能客服对接也是通过开放的API进行的。
1.腾讯智能对话平台TBP
现在具体讲智能客服云开发的方案,首先我们用的AI能力是腾讯云开放的叫做腾讯智能对话平台。它专注于“对话即服务”为愿景,全面开放腾讯对话系统核心技术,主要是提供机器人中间件能力,作为普通的开发者也能够使用AI机器人。
如果要实现AI机器人的话就要创建机器人,配置它的语义模型,然后再发布机器人,我们就可以在云开发直接调用机器人就可以了,非常简单方便。
首先我们要了解语义模型,它需要配置词典、配置意图、配置问答。“意图”就是用户与机器人进行对话交互背后的目的,是用户希望完成的事情;“词典”是用于意图中槽位的识别和填充;“问答”是预先设定好的问题答案,帮助机器人去识别。
重点是讲“意图”,就是理解用户的意图,想问什么,想做什么,想查什么。比如说用户文想问订单什么时候发货,机器人理解了用户的意思就告诉他什么时候发货。或者说用户想预约服务,机器人就请求API进行预约再告诉用户结果。或者是查订单、物流的情况,了解到这个意图就请求API告诉用户物流已经到了哪。这是AI需要识别的用户的意图。
2.AI智能客服需求功能设计
AI智能客服需求功能分为PC端和小程序端。PC端包括代开通云开发、代部署云函数、TBP设置、自动回复设置、关键词回复、数据统计。小程序端主要是云函数处理,代码就比较少主要是云函数,把客户消息转到AI机器人去处理,机器人处理不了再转到人工客服去处理。
3.一键代部署云开发环境
首先要开通云开发环境,再创建云环境,创建云数据库,上传云函数。用户使用智能客服的功能,点击进来会判断是否开通云开发,没有就弹窗提示开通云开发。用户只要点击立即开通,就会跑后台任务去帮他开通。开通完之后会选择云开发环境,选择之后点确认后台创建环境,然后创建数据库再上传云函数,智能客服就已经部署完成可以使用了,用户是没有太多感知,只是弹窗点击页面客服功能就上传了,就已经在云开发部署了智能客服的体系。
4. PC端后台管理实现
PC端后端代码的实现,主要是做关键词设置、自动回复、数据统计。通过微信授权API触发云函数,云函数上传之后可以通过API操作数据库增删改查。机器人主要通过腾讯云SDK来操作TBP平台,相当于把TBP那一套功能搬过来了,实现了服务系一体化,如果个人开发者想设置AI的话,就不需要做PC端的机器人设置,直接去腾讯云后台操作是一样的,我们只是把TBP搬过来改进了一些让普通用户更易用。腾讯云TBP那边主要还是针对开发者使用,普通用户使用起来的话还是有一点复杂。
5.小程序端实现
小程序端实现会用云函数做,比如客户入口的云函数,获取关键词、获取开场白或者获取统计的云函数。
设置开场白云函数的实现,先判断有没有开场白,如果没有就设置,有就直接更新数据,这个逻辑实现比较简单。
核心云函数是客服入口云函数的实现,用户首次进入会话我们会回复开场白,如果收到用户消息的话我们判断是否转人工,如果输入转人口就转人工客服处理,转到腾讯自带客服。
6.小程序端体验
(1)开场白
我们体验一下智能客服,如果用户首次进来就会回复开场白,比如说告诉你可以回复数字,这些都是用户事先设定好的,如果转人工的话就会转到人工客服那边。
(2)关键词回复
如果用户消息是关键词的话就关键词回复,当然是特殊关键词否则的话会跟AI之间有冲突。关键词回复如果没有就转到AI机器人处理,AI机器人会理解用户的意图或者直接回答问题或者调用API告诉用户,查物流或者预约服务。如果用户再次发送消息就再次回到判断是否转人工处理,这是小程序实现的逻辑。
(3)接入智能对话系统
用户想要预约理发服务,我们就会回请问预约到什么时间,然后用户说今天,客服会问几点钟,然后回复下午4点,然后机器人就调用API请求并告诉用户已经帮您预约成功下午4点。
(4)转接人工客服
我们可以看到通过AI智能客服可以很方便的和业务进行接轨,也更好识别用户的意图,能够减少人工客服的工作量,智能客服接入处理后就能减少很多人工的成本。
我们后面会继续迭代智能客服,在AI模板上做一些东西,对于用户来说要配置意图和问答有点复杂,希望预先设定好问题以及各行各业的模板,用户只要选择这些模板就好了。然后更多接入信息查询的任务,现在是预约,后面会有和更多业务深度结合;还有就是更多组件用云开发去做,定制服务是用户特殊化的需求,我们也可以用云开发做,这样相当于我们的服务是部署在用户那边;目前PC端云开发也是开放的,PC端网页也可以用云开发去实现。后续也会有更多的业务接入。
通过这次跟云开发团队的合作,看到云开发对服务商各方面的优势,未来能够低成本高效率的帮助用户开发、发布小程序,也希望小程序云开发后面越来越好。
Q:我前一段时间看了一篇文章,自己也动手做了一个,相当于微信bate,用户会给我发一张图片,我有一个训练集在里面识别这张图片源于哪。我刚才看了AI智能,我想问一下AI客服,当你给他发一些其他东西他会自己学习吗?
A:应该是会的,我们用的是腾讯云的能力,具体还是要看腾讯云TBP平台,它目前主要是基于文字对话,图片识别暂时是不支持的,后续如果TBP开放图片识别我们也会深度结合。
----------END----------
关注云加社区,回复 3 加读者群