分类:
Azure物联网
◆
标签:
#IoT Hub
#
#Azure入门
◆
发布于: 2023-08-13 18:01:53
我们之前的文章简单的给大家描述了什么是Azure IoT Hub, 为了给大家一个更为直观的印象,我们在本节使用Azure Portal来创建Azure IoT Hub资源。
开始之前本节之前,你需要一个Azure的账号,您可以免费的申请一个Azure账号,如何申请请参考文章:https://www.azuredeveloper.cn/article/how-to-get-azure-account
Read more
分类:
Azure物联网
◆
标签:
#IoT Hub
#
#Azure入门
◆
发布于: 2023-08-13 17:50:39
物联网中大家经常说的一句话是:万物互联, 这句话总结和概括的非常好,从字面意思上就可以理解物联网的本质。但是当我们从技术实现上来理解这句话的时候有很多需要考虑的地方, 例如:
万物的范畴主要有哪些?
如何创建一个标准使得符合范畴的事物可以联入网络?
符合范畴的事物联入网络之后需要使用什么标准互相通讯?
是否可以对联入网络的事物进行控制,监控,操作?
这些问题都是技术需要考虑和解决的问题。
Read more
分类:
开源和Linux技术
◆
标签:
#Spark
#Windows Subsystem for Linux
◆
发布于: 2023-08-13 17:46:25
最近遇到一个非常棘手的问题,PowrBI Service通过Dataflow连接标准的Spark集群总是有问题会报错,为了重现并解决这个问题,我需要自己配置一个Spark的集群,之前一直使用的是Azure HDInsight Spark集群, 完全不用配置,但是Azure HDInsight Spark和标准的Spark集群完全是两回事,到最后仍然需要自己搭建一个Spark集群,我之前还记得我是如何在自己的机器上创建了8个虚拟机,使用这个8个虚拟机来配置hadoop的集群,如果这次仍然要使用hardoop以及Resource Manager来管理Spark的话, 我觉得我头都会大一圈,要花太多的时间了。仔细重新看了一下Spark的文档,Spark也支持standalone的模式运行,然后比较
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 23:16:24
要学习微信的开发以及在微信的Adapter上支持哪些功能,可以详细的参考这个Sample,另外新增了两个Adapter的实现:
WeChatAdapterWithErrorHandler
WeChatAdapterWithErrorAndTranscriptLoggerHandler
区别在于一个Adapter会存储Transcript到SQL Server, 另外一个不会,关于如何使用SQL Server作为外部的存储,可以参考文档:
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 23:12:13
SDK默认情况下仅仅提供了两种外部存储支持:
存放在内存中:MemoryStorage是我们的类。
存放在Azure Storage中,这又要求我们必须有Azure Storage的账户。
有没有办法将这些状态数据存储到本地的存储机制上呢?例如关系型数据库?
要解决这个问题,要么自己实现IStore要么可以使用现成的由开源社区开发的库:https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/tree/develop/libraries/Bot.Builder.Community.Storage.EntityFramework, 这个库利用EF Core来将状态保存在SQL Server里,但是很不幸
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 23:08:04
什么是循环任务?例如在聊天的会话中,我们需要对某些场景进行分页,显示更多的数据,或者需要用户重复的确认某一件合同,收集不同的信息,等等都可以实现为一个循环任务。我们本例继续延续之前的场景,当用户年龄大于35岁,询问他是否会购买保险,如果用户选择了购买保险,那么我们需要给用户看一个3页的保险说明书,案例中使用循环任务实现了从第一页保险说明循环到最后一页退出,或者用户选择特定的按钮退出循环。
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 23:03:58
什么是分支任务?就是在和聊天机器人对话的过程中,具有条件判断的业务逻辑执行,例如本例中,如果年龄超过35岁会建议购买一份保险,询问购买保险的这个任务就属于一个分支任务。
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 22:59:56
为了让大家能快速了解Bot Framework SDK中的Dialog库,我们写了一个快速的Demo, 大家可以查看之前的这一篇文章:<> 复习一下,本章我们深入的学习一下Dialog的架构。
第一个需要明确的概念就是Dialog的组件是一个有状态的系统,因此我们必须在启用聊天机器人的状态管理器,并将代表Dialog系统的状态变量存入到Bot的状态管理器中。
Dialog State
管理Dialog系统状态的类是DialogState, 为了管理状态在启动Dialog时就必须将DialogState的实例放入到状态管理器中,例如:
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 22:57:01
当我们开发聊天机器人(无论是通过语音还是文字)时候,最重要的一点是机器人在理解了用户对话的主题之后,如何围绕主题对对话进行跟进。为了更真实的模拟真人对话,在很多场景下并不限制主题范围(当然我们也是可以限制的), 当用户突然改变话题,机器人需要保存当前话题的状态并进入下一个话题的,并在某些时候再恢复之前的话题并继续。举一个例子:用户在进行某项业务操作,例如购买商品,预订酒店等等动作,类似场景要给用户一个引导的过程,添加必要的小组件,例如各种卡片,方便用户进行操作,并管理用户的状态。完成这些场景我们无法通过在代码中一直使用if-else,我们可以利用Dialog组件处理这些场景,请记住所有的Dialog组件都是有状态的, 必须依赖状态管理。
Read more
分类:
Azure机器人
◆
标签:
#Azure Bot Framework SDK
#Azure Bot Service
#机器人
◆
发布于: 2023-08-07 22:52:46
我们之前已经讨论过了Azure Bot Framework SDK的应用是构建于Web API的应用之上,同样也是基于Asp.net Core的框架,这样带来一个问题就是每一个Bot应用实际上是无状态的应用,因为HTTP协议天然就是无状态,为了在Web应用上实现状态的管理,每个开发的框架都有实现自己的会话管理机制(Session), 大多数Web应用会基于Cookie或者是Header或者是查询字符串在每次请求的时候带上唯一的id, 用这个ID来标识每一个会话。基于这样的构想,Azure Bot Framework SDK也同样使用了类似的原理来管理状态,和Web应用不同,Bot的状态管理因为场景的差异,加入了更多的设计。
Read more