我开发了一个基于python的智能家庭设备云服务,但在尝试将其与google上的actions集成时,他们的python库是“google Assistant library for python在2019年6月28日被弃用,请改用google Assistant服务。”
我转到google assistant服务页面,页面上说python是“你不能启动与google assistant SDK集成的商业设备。它只能用于实验和非商业用途。”
为什么会这样?这是否意味着他们仍在测试阶段?我不应该为python而烦恼吗?我真的很想继续使用python,因为我已经花了大量的时间来开发它
我认为你把一些不同但相关的东西混在一起了,其中一些名字相似或重叠。要想把事情弄清楚:
谷歌助手SDK
{a1}和Google Assistant gRPC服务使您能够构建一个类似Google Home的设备。因此,人们会直接与您的设备交互,并使用它来控制助手
谷歌行动
这是一个宽泛的术语,描述了通过智能扬声器或手机等设备制造人们将使用的东西的方法
它可以大致分为两种不同的方法,其中一些方法相互重叠:
然而,通常当人们在Google上谈论动作时,他们谈论的是前两项中的一项,并且经常混淆动作SDK和Dialogflow
所有这些都不支持也不禁止python
智能家居行动
Smart Home Actions是专门为使用谷歌为之建立对话体验的devices and traits集合而构建的
智能家居行动有许多重要区别:
您的服务器可以用您希望的任何语言编写-谷歌将发送您注册的HTTPS端点JSON with the commands,并希望您也用JSON回复。这方面没有特定的python库,但基本上不需要。最困难的部分是您将需要支持OAuth for account linking,但这是一个比您正在使用的语言更大的问题,它将进入您的整个平台
智能家居操作还可以支持Local Home SDK,它允许在许多设备上直接执行命令,而无需转到服务器进行处理。这个必须用TypeScript或JavaScript编写,因此不支持python
如果您正在为智能家居设备进行构建,那么您应该使用智能家居操作,而不是其他任何操作。您不想这样做的唯一原因是,如果您的设备类型与当前支持的设备不同,那么您需要使用Dialogflow和/或Action SDK执行对话操作
Dialogflow
Dialogflow是谷歌云的一个产品,它为许多不同的配置和集成提供了一个自然语言处理系统
使用它的一种方法(也是我在这里讨论的唯一一种方法)是通过Google助手处理和完成对话:
这个实现可以用几乎任何您想要的编程语言编写,包括python。唯一的要求是
Google没有支持这些JSON格式的特定库,但是如果您想自己实现的话,它们非常简单。社区也开发了一些python库,但我对它们了解不够,无法告诉大家哪些是目前最好的,哪些是使用当前协议的
行动SDK
有时这在文档中被称为Conversation API or SDK,尽管现在他们通常称之为ActionSDK
这与Dialogflow的工作原理类似(实际上,Dialogflow使用它),但不同的是,没有NLP系统可以从用户的语音中确定用户的意图:
同样,没有特定的Google支持的python库来处理这个问题,但是可能有社区开发的库可以这样做
除非您有很好的理由使用更原始的Action SDK(例如已经在使用现有NLP/NLU系统的现有组件),否则您可能应该使用Dialogflow
相关问题 更多 >
编程相关推荐