智能聊天机器人四代目
Poy Chang
Poy Chang
目前任职于全美 100 大私人企业,负责企业内部 IT 解
决方案设计与开发,专注于 Azure、ASP.NET Core、
Angular 等技术研究
✓ Angular Taiwan 社群核心成员
✓ Microsoft MVP Developer Technologies
✓ 2018 北京 Global Azure Bootcamp 讲师
✓ 2018 台北 Azure Tech Day Party 讲师
✓ 2018 台中 .NET Conf 讲师
为什么我们需要聊天机器人?
1980s
PC
1990s
Internet
2000s
Mobile
对 APP
产生疲倦感
通讯软件的
吸引力
智能助理
开始习惯与
机器人沟通
用对话
替代操作
熟悉的平台
1980s
PC
1990s
Internet
2000s
Mobile
The Futures
用对话替代操作
智能助理
开发者的新战场
用沟通工具做为平台
Conversation as Platform
KEY Takeaway
&
Azure Bot Service
Bot Channels
Registration
Azure
App
Service
Azure
Function
机器人服务
Proactive Notify Bot
主动通知机器人
Azure
Bot
Service
• 机器人设计原则
• Azure 开发快速入门
• .NET SDK 开发快速入门
• Node.JS 开发快速入门
• C# .NET 范例程序
• Node.js 范例程序
• 认知服务
• 解决方案范本
• 仿真器测试
• Web Chat 测试
• 直接发布到Azure
• 持续部署
• 管理连接频道 • 查看分析
开发流程
Azure C# Node.JS JAVA Python
PREVIEW PREVIEW
https://azure.microsoft.com/zh-cn/resources/create-your-first-intelligent-bot-with-microsoft-ai/
Multi-Turn
Conversational
Task
Completion
Multi-Turn
Process
Guidance
Contextual
Guided
Assistance
One-Turn
Intelligent
Response
Intelligent
NotificationOne-Turn FAQ
复杂度
网站 FAQ
状态变更通知
自然语言响应 自然语言对话服务
个人化设定
密码变更 / 订单建立
交互方式
你的机器人
核心程序
注册、管理机器人
处理讯息路由
处理讯息状态
对话追踪
SDK, API
Bot Connector Service
Channels
为什么要用 Azure Bot Service 呢?
https://docs.microsoft.com/zh-tw/azure/bot-service/bot-service-overview-introduction
支持多种
开发语言
开发工具
与服务
弹性的运维
管理服务
轻松连接
通讯平台
丰富
机器人示例
开放源代码
Web App Bot
使用 Azure Web App 为基底环境,在上面建立 Web API 应
用程序,做为专用于开发对话机器人的整合环境
Functions Bot
使用 Azure Functions 无服务器架构为基底环境,做为
专用于开发对话机器人的整合环境
Bot Channels Registration
只注册 Bot Connector Service,让你可以关联自己用 Bot
Builder SDK 所写的机器人应用程序
Channel
Bot
Connector
Web
App Function
App
Channel
JSON
Activity
JSON
C# Node.js
Bot Framework
SDK V3
.NET Framework
SDK V4
.NET Core
Echo Bot 基本机器人
Enterprise
Bot
虚拟助理
语言理解
机器人
QnA 机器人
https://aka.ms/abs/templates/templates
Microsoft 应用 ID 管理平台
https://apps.dev.microsoft.com
想要支持 WeChat?
来这里回馈给产品组,让开
发团队知道这个信道有多么
重要吧!
https://feedback.azure.com/forums/562027-azure-bot-service
Azure Bot Service 价格
F0 (免费) S1
标准频道 无限制消息 无限制消息
高级频道 10,000 条消息 / 月 $0.1 条消息
✓ 标准频道
• Microsoft 第一方服务,如 Skype、Cortana 和 Microsoft Teams
• 具有公开机器人 API 的服务,如 Facebook 和 Slack
✓ 高级频道(DirectLine 频道)
• 让机器人在自己的应用程序或网站上,与使用者进行可靠的通讯
https://azure.microsoft.com/zh-cn/pricing/details/bot-service/
2018
Azure Bot Service 价格
F0 (免费) S1
标准频道 无限制消息 无限制消息
高级频道 10,000 条消息 / 月 $0.5/1000 条消息
✓ 标准频道
• Microsoft 第一方服务,如 Skype、Cortana 和 Microsoft Teams
• 具有公开机器人 API 的服务,如 Facebook 和 Slack
✓ 高级频道(DirectLine 频道)
• 让机器人在自己的应用程序或网站上,与使用者进行可靠的通讯
https://azure.microsoft.com/zh-cn/pricing/details/bot-service/
2019
小叮咛
✓ Rate Limiting
• 为保护机器人服务免于高频攻击,系统有讯息频度限制
• 为优化服务,不定期调整此比率,无确切的数值可以提供
• 可以联络 bf-reports@microsoft.com 询问
✓ Bot Service 和 App Service 预设都会使用付费的 S1
定价层,若只是进行 POC 开发,请注意更改成免费
的 F0 定价层
Proactive
Notify
Bot
`
储存使用者注册时的
Conversation Reference
Notify State
Chat
Channel
Register
User
Notify
Message
Bot Connector
NotifyBot
Web App
Azure Bot Service
Trigger
Notify
Direct
Line
Channel
小叮咛
✓ Direct Line Secret Key
• 用来保护应用程序的 Direct Line 服务
• 可访问任何对话,并创建 Token
✓ Direct Line Token
• 非必要
• 对话专用的密钥
• 30分钟内到期,但可以刷新
https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication
保护您的机器人服务,
请使用 Token 的方式
建立对话
github.com/poychang/GAB2019-ProactiveNotifyBot
看代码前,先看看互动的方式
比较有感觉
github.com/poychang/GAB2019-ProactiveNotifyBot
沟通平台不仅是人与人的沟通
更是机器与人互动的媒介
特别感谢

Global Azure Bootcamp @ 廣州 - 智能聊天機器人四代目