问题标签 [flask-ask]
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.
python - Alexa Flask Ask Yes / No 响应处理
我正在尝试在 python 中使用 Flask Ask 创建一个简单的 Alexa 技能。
我有一个名为“SearchIntent”的意图,带有一个“searchterm”插槽,python 代码看起来像这样:
我想检查用户的响应,如果他说“是”而不是阅读所有结果:
如果用户说不,则执行其他操作
就像是:
我不想在 YesIntent 中再次创建搜索功能,是否可以在同一个功能中执行类似的操作?
先感谢您!
python - 使用烧瓶询问的 Alexa 技能:HTTP 500:内部服务器错误
我只是在学习使用 Flask-Ask 编写 Alexa 技能。这是 flask_app.py 的代码:
这是意图 JSON 文件的代码:
这些是我的示例话语:
但是我的命令行上的错误是:
ngrok 显示以下错误:
在测试中输入话语“start armstrong”后的服务响应是:
这是我的第一个 Alexa Skill。我正在尝试在 Python 上使用 Flask 和 flask-ask 来实现它。请帮忙。
python - 在 Flask-Ask Alexa Echo Show 中检测支持的接口
我正在尝试为 Echo Show [Screen Enabled] 和 Echo Dot [Audio only] 建立语音技能。显然,必须根据设备更改响应指令,否则将导致“ Alexa 无法访问该技能”。
我们如何确定 Flask-ASK 中支持的接口?
python - 如何在多轮对话期间实现相关帮助?亚马逊 Alexa Python 3.6
我正在尝试为我的 Alexa Skill 实现 AMAZON.HelpIntent。
这是预期的行为:
用户: Alexa,告诉体积计算器计算一个盒子的体积。
Alexa:盒子的长度是多少?
用户:帮助
Alexa:盒子的长度就是盒子的长度。试着说长度是 2 或长度是 2 米。
提示用户响应
用户:长度是两米。
Alexa:盒子的宽度是多少?
对话继续进行,直到意图的槽被填满。
为了实现这种行为,我需要知道我的用户的意图是什么。这行代码允许我这样做。
如果'last_intent' == 'BoxVolumeIntent',我可以检查我的AMAZON.HelpIntent
session.attributes 由 John Wheeler 在 flask-ask 中定义。
可以在 Python 中使用以下行访问它:
我今天早些时候在一封电子邮件中问约翰他是否知道如何解决我的问题,他的回答是他有一段时间没有使用烧瓶问了,他不知道多轮对话是什么。
如何为我的技能正确实施 AMAZON.HelpIntent?
BoxVolumeIntent
我已经从我的 Python 3 后端包含了 BoxVolumeIntent。请注意,我没有让 Alexa 询问用户长度、宽度和高度是多少的字符串。所有这些都在技能构建器测试版中处理,可以在亚马逊开发者控制台上找到。我无法判断我的用户在哪一步的意图。
因为正如我在下面的评论中提到的,用户可以从任何步骤开始。例如:盒子的宽度是五。这通常是多步骤意图的第 2 步而不是第 1 步。
python - 在 Alexa Skill 中使用全局变量
我想知道在我的 Alexa Skill 中使用全局变量是否安全。这是我的设置:
因此,我必须在一开始就确定每种用户的语言。然后我必须在剩下的互动中为他提供这种语言的对话。我的想法是使用on_session_started
装饰器。像这样的东西:
这里有几个问题在起作用。因为一切都如此交织在一起,我真的不确定潜在的问题。特别是我的不确定性与这些方面有关:
- Lambda 函数在容器中运行。在连续调用时,要么使用同一个容器,要么创建一个新容器。
- 这对烧瓶问一般有什么影响?
- 这对包含多个问题 <-> 答案的用户会话有何影响?
- 由于我使用
on_session_started
装饰器,因此全局变量仅在会话开始时设置一次:- 这对 2. 有何影响?会不会是在第一个用户请求和第二个请求之间,Lambda 使用了一个新的容器并且 LANG 被重置了?或者在会话结束之前,同一个烧瓶(-ask)实例是否处于活动状态?
python - 无法让 Alexa 播放流式音频
Python 3.6 和 Flask-Ask
我似乎无法让 Alexa 为我当前的爱好项目(http://github.com/michaeljdietz/jukebox)流式传输音频。
我可以通过网络浏览器手动流式传输音频,我的响应对象中的 https 流 URL 没有问题。Alexa 和 AVS 服务模拟器都以正确的语音和文本响应请求。无论如何,据我所知,该指令的格式似乎对我来说是正确的。
这是对 Alexa 的响应,应该会触发播放:
更新:对于同一个流 URL,它似乎确实有十分之 1 的工作。以下是 Alexa 失败时的响应。
python-3.x - 使用 python 访问 Amazon echo 的警报
目前正在构建一个工作应用程序,并且需要能够使用 python 访问 Alexa 的内置警报,到目前为止我还没有找到任何明显的方法来做到这一点。
我已经遇到了如何解决这个问题的问题,所以如果有人能指出我正确的方向,那将是一个很大的帮助。
alexa - Alexa Tester 无法调用技能
我正在开发 Alexa 自定义技能。我想进行相同的 Beta 测试。我向亚马逊的技能 Beta 测试设施添加了几封电子邮件。接受邀请后,测试人员似乎无法调用该技能(他们已启用该技能)。既不是来自亚马逊 Alexa 应用程序,也不是来自 Echo Show 设备(已注册到测试仪)。但如果在测试模拟器上进行测试,它就可以工作。我想通过测试人员帐户在 Echo 设备上进行技能工作。关于相同的帮助。
flask - 使用烧瓶询问的 LaunchRequest 出现 400 Bad Request 错误
我正在尝试调试一个使用flask-ask框架构建的小型 Alexa 技能。我的问题是我在一个简单的 LaunchRequest 上不断收到 400 错误。相关的意图函数是这样的:
当我以调试模式(通过 ngrok 隧道)在本地运行服务器并发出一个简单的启动请求(“start my_skills_name”)时,flask 记录了两个请求:
来自意图函数的日志消息永远不会显示。
当我使用zappa部署技能并执行操作时,zappa tail
我会看到第二个请求 (SessionEndedRequest)。这会返回 200 状态码,但似乎确实会产生一些异常:
这个请求的函数也很简单:
未显示日志记录消息,即使我删除了该函数并且根本不处理 SessionEndedRequests,错误仍然保持不变。
我有点不知道这里会发生什么。请求确实到达了我的服务器,表明技能本身配置正确。看起来它们以某种方式没有被路由到正确的意图函数,但是由于我完全依赖ask.intent
装饰器,所以我不知道如何解决这个问题。有人可以给我一个提示吗?
flask - 使用 runserver 模式时 Flask-Ask 不起作用
尝试将 flask-Ask 添加到使用 runserver 模式的现有烧瓶网站,其中应用程序设置在init中完成,但 app.run 在 runserver 中调用
这种模式适用于 Flask(它推荐用于较大的应用程序),但是当从 runserver.py 调用 app.run(debug=True) 时,Flask-Ask 会静默失败。如果我在 _init__.py 中调用 app.run(debug=True) 并运行它,那么 Flask-Ask 工作正常并且 Alexa 响应。有任何想法吗?
代码:
alexa_views.py
初始化.py
运行服务器.py