问题标签 [alexa-skills-kit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Alexa Skills Kit:如何使用 JS 将图像添加到标准卡片
我一直在构建alexa-skills-kit-js/samples/ 中的示例
但他们没有任何您将图像添加到响应卡的位置。
response.askWithCard(speechOutput, repromptOutput, cardTitle, cardContent);
图像去哪儿了?cardContent 通常是一个字符串。我只是把它变成一个包含图像的对象......?
java - 从 Speechlet 枚举自定义槽值
有什么方法可以检查或枚举您的交互模型中设置的自定义槽值?例如,假设您有一个具有以下意图的意图模式:
此外,您已将 LIST_OF_SHAPES 自定义槽定义为具有以下值:
问题:我可以从我的 Speechlet 或我的 RequestStreamHandler 中调用一种方法来枚举那些自定义插槽值吗?
我查看了 位于此处的 Alexa Skills Kit 的 SDK Javadocs
我什么也没找到。
我知道我可以获得带有意图的插槽的值:
我什至可以枚举所有传入的插槽(以及它们的值):
我真正想要的是:
有了这些信息,我就不必维护两个单独的“列表”或“枚举”;一个在交互模型中,另一个在我的请求处理程序中。似乎这应该是一件事吧?
amazon-web-services - Alexa Skill 工具包:目标 Lambda 应用程序返回失败响应
我基于https://github.com/amzn/alexa-skills-kit-java/tree/master/samples/src/main/java/helloworld使用 Java 创建了一个简单的 Hello world Alexa Skill 作为 AWS Lambda 。
但是当我尝试测试我的 lambda 函数时,它返回了以下错误
{
"errorMessage": "加载类 helloworld.HelloWorldSpeechletRequestStreamHandler 时出错:com/amazon/speech/speechlet/lambda/SpeechletRequestStreamHandler",
“errorType”:“类 java.lang.NoClassDefFoundError”
}
但我上传的 zip 文件包含HelloWorldSpeechletRequestStreamHandler
为什么会出现这个错误?
alexa-skills-kit - Alexa Skills Kit:无法让 AMAZON.NUMBER、AMAZON.DATE 工作
这应该简单明了,但我很难让它工作。所以:
将 AMAZON.LITERAL 用于以下数字可以正常工作:
意图架构:
示例话语:
但是,当我将插槽类型更改为AMAZON.NUMBER
(应该是)并说出“四万”或“三九六七四”时,它停止工作。返回的意图是用于帮助的意图,而不是用于帮助的意图Group_Size
(换句话说,返回了不相关/不正确的意图)。
AMAZON.DATE
当我用于我的其他意图之一时,同样的问题。
我对 ASK 还很陌生,所以我需要做些什么才能让这些预定义类型正常工作吗?我浏览了文档和一些代码示例,但没有发现任何问题。请问有什么指点吗?
alexa - 在 Alexa 上显示多个家庭卡显示时遇到问题
以前当我向 alexa 发出搜索命令时。我刚收到 5 件商品作为回应。附上截图。
比我展示了第一个项目的图像,其中有 5 个项目作为响应。对于具有单张卡片的响应,卡片图像和卡片价值显示得非常好。附上截图。
但我想为每 5 个项目显示 5 个图像。这在一张卡中是不可能的,因为一张卡只能有一张图像。同样对于一个呼叫,只能给出一个响应,可以有一张卡。一个呼叫的多个响应将不起作用。
这是我想尝试的,但不确定 alexa 是否有这个功能。
我向 alexa 发出命令以查找某些内容。
我得到 5 个项目来响应该命令。
这 5 个项目作为响应,我想用作自动命令(Alexa 将自动为收到的每个项目执行一个调用,而不是提示用户说出或给出命令)并执行 5 个调用。我会得到 5 个回复,每个回复都有一张卡片。因此,这 5 张卡片将附有 5 张图像。
DO alexa 有一个自动命令选项,我可以在收到响应时触发它,但我在 Doc 中找不到它。
如果我可以尝试任何其他方法?
有人帮忙吗?谢谢你!
aws-lambda - Amazon Alexa Device Discovery for Smart Home API with Lambda 失败
我已经设置了一个 Alexa 智能家居技能,所有设置都完成了,oauth2 处理完成了,并且在我的 Amazon Echo 设备上启用了技能。Lambda 函数已设置并链接到技能。当我“发现设备”时,我可以在日志中看到负载命中了我的 Lambda 函数。我实际上是通过 context.succeed() 方法返回带有测试设备的以下 JSON。但是 Echo 告诉我它找不到任何设备。
上面的有效载荷看起来正确吗?
alexa - 我们如何实现“Alexa,Simon 说......”意图捕捉具有广泛变化的自由形式语音作为文本?
我想捕捉用户以文本形式对 Alexa 说的任何内容。'Alexa,Simon 说......' 的工作原理正是如此。有人可以暗示如何实现该意图吗?
我看了这个,这个和这个,但是建议的答案对我不起作用,而且还没有具体的“公认”答案。
只要指定了示例话语(即硬编码字面意思),LITERAL 槽类型就可以工作。就像上述线程中建议的答案一样,我试图通过提供 400 多种可能的话语组合来“训练”,希望它能以某种方式找出其余的组合。但是,没有骰子。
我的输入可能是随机的,如“TBD-2019-UK”、“17_TBD_UK_Leicester”、“17_TBD_UK_Leicester 1”、“18_TBD_UK_Leicester 2”、“Chicago IL United States”等。这是一年中相当随机的组合,城市,州,国家,其他一些没有特定顺序的关键文本(现在让我们忽略特殊字符)。即使在 Sample Utterances 中指定了“Chicago IL United States”,LITERAL 也无法自动捕获诸如“Pittsburgh PA United States”之类的内容,除非这也是硬编码的。我无法想出年份、城市、州、国家、其他一些关键数据点的所有可能排列和组合(......因为这听起来不切实际/荒谬)。
另外,用户可以添加更多值。所以它需要是智能和动态的。
问题是,如果没有为话语找到匹配的意图,而不是返回用户的语音文本,我的 Alexa 就什么也做不了。它只是不做任何事情就消失了。有任何想法吗?
alexa-skills-kit - Alexa Skills Kit 输入的“包罗万象”不是明确的意图
我正在构建一个需要能够处理问题答案的 Alexa 应用程序。我有一个SkipIntent
意图,其中包含示例话语以跳过一个问题。
我想建立一个AnswerIntent
可以接受任何答案并根据正确答案处理它们的答案。我尝试使用Amazon.LITERAL
带有一些示例的类型(来自这个问题:How to accept the Free form text as input to Amazon Skill Kit?):
如果我在答案前加上“是它”或其他定义的前缀之一,这实际上有效,但它没有得到“仅答案”部分。它似乎与我SkipIntent
的定义为:
我定义AnswerIntent
正确吗?如果没有,有没有更好的方法来捕捉无限的可能性?亚马逊似乎不喜欢 LITERAL 方法,所以我愿意接受更好的方法。
java - 自动装配的存储库除了 main() 之外的所有地方都是空的
我能够从 main() 内部获得存储库功能,但在其他任何地方都没有。
从我读过的所有内容来看,这似乎与我试图在 Spring 的“上下文”或“容器”之外创建的 @Autowired 成员有关。
其他人似乎想出的典型罪魁祸首与使用“new”创建一个最终超出 Spring 范围的对象有关,但我已尽我所能确保创建依赖于 @Autowired 的所有内容由 Spring 本身。
我的 main() 方法中有以下简单的 oneOff() 方法,用于打印前 10 个名称,这些名称在运行时按预期工作:
}
产生:
但是,当我调用刚刚粘贴到我的 servlet 类中的重复方法时,存储库永远不会被实例化并且我得到 NullPointerExceptions。
小服务程序类:
实际使用存储库的 Speechlet 类:
再次使用 oneOff() 方法:
alexa - Alexa 技能工具包 -Lambda 函数 - 无法验证 SpeechletRequest (java)
我尝试基于https://github.com/amzn/alexa-skills-kit-java创建一个 HelloWorld 技能,但是当我测试 lambda 函数时,它显示了这个错误
这是我的 Java 文件
我错过了什么??