Alexa 和其他语音助手如何支持使用多种不同编程语言构建的插件系统?

问题描述 投票:0回答:1

语音助手与多种技能进行交互,每种技能都可能用不同的语言(Python、Java 等)开发。我很好奇核心系统如何管理这个问题,而不需要用多种语言编写所有内容(我认为这主要只是支持其他编程语言的包装器)。我正在开发的程序使用Python作为核心,但如果Python没有太多解决方案,我很乐意用另一种语言重写核心。反正也没那么大。

我还没有找到太多关于这些平台中如何处理语言多样性的具体信息。我希望了解语音助手使用的一些常见方法来启用使用不同语言构建的插件。我发现自己的唯一解决方案是通过子进程运行每个非Python文件,但我想知道是否还有其他选择。

python alexa-skills-kit
1个回答
0
投票

如果我正确理解你的问题,两个程序无论是用相同语言还是不同语言编写的,它们都使用 API(应用程序编程接口)进行通信。就 Alexa Skills 而言,它使用RESTful HTTP API。可以与其他程序一起工作的其他系统很可能会使用 HTTP API。

您可以看到 Alexa Skills 提供了一个名为 SMAPI(Alexa Skill Management API)的 HTTP API,端点是

https://api.amazonalexa.com
。 Amazon 提供的 SDK(Python、NodeJS 和 Java)是为您提供轻松与 Alexa Skills 交互的功能的库,但在幕后您会看到它们正在使用 SMAPI。您可以使用其他语言,但您必须创建自己的函数/方法来指向相应的方法。

Amazon 有很棒的文档,例如关于 Python 中请求处理如何工作的文档。

© www.soinside.com 2019 - 2024. All rights reserved.