据我所知,任何针对您的 Amazon Echo 设备的语音命令都会发送到 Internet 上某处的 Amazon 服务器进行解释。该服务器解析语音命令并执行技能,可能以 Web 服务调用的形式。Echo 设备本身不调用自定义 Web 服务,而是与 Echo 交互的 Amazon 服务器调用自定义 Web 服务。
我相信 Echo 设备必须收到某种形式的确认,确认任务是否在 Amazon 服务器上成功执行。在某些用途中,例如“Alexa,今天天气如何?” Echo 设备将口头响应最终用户。在这种情况下,亚马逊服务器返回给 Echo 设备的响应也将包含 Echo 设备将“说出”的口头响应。从 Echo 实施的角度来看,口头响应数据不是强制性的。有些命令是一劳永逸的,没有口头回应——例如“Alexa,打开电视”。
我想我想说的是,如果您的 Web 服务位于专用网络上并且无法在您的网络之外访问,则 Amazon 服务器无法调用您的 Web 服务。即使 Echo 设备位于防火墙内并且位于专用网络上,我也认为 Echo 设备本身无法调用 Web 服务——这些来自互联网上某处的亚马逊服务器。
我怀疑随着更多的 Echo 集成(例如现在在汽车中),亚马逊将考虑提供 Echo 解决方案,其中数据可以包含在专用网络中。
语音用户界面 (VUI) 正迅速成为下一个技术前沿。