【问题标题】:Creating an Alexa conversational skill using AWS使用 AWS 创建 Alexa 会话技能
【发布时间】:2017-08-17 18:01:38
【问题描述】:

我正在尝试开发一种可以作为日常对话使用的 Alexa 技能。

例如 -
我 - Alexa,现在几点了?
Alexa - 现在是晚上 9 点
我 - 我可以在晚上 10 点之前到达机场吗?
Alexa - 如果您选择 XYZ 路线,是的
..

等等

本质上,而不是 this,我需要技能来充当this

是否需要构建任何额外的代码才能使会话保持活动状态?

注意 - 我正在使用 AWS lambda 函数和 Python 后端来开发这项技能。

【问题讨论】:

  • 不清楚您在这里寻求帮助的内容。你是否坚持某些特定的事情?你有任何代码要发布吗?另外我建议您查看this python Alexa Skills Kit library
  • 为了澄清事情,我有一项技能,只回答一个问题(基于意图)然后它就睡了。因此,如果我希望 Alexa 根据上下文不断回答我的问题,我该怎么做?例如 - 我 - Alexa,为我安排一个会议 Alexa - 你想安排什么时间的会议?我 - 2017 年 7 月 7 日下午 5 点
  • @TyloBedo 我已经编辑了我的问题以澄清我的问题。谢谢。
  • Alexa Custom Skills Response Format 设置"shouldEndSession": false ?发布您的代码会有所帮助。

标签: python amazon-web-services alexa


【解决方案1】:

如果您想继续会话,请使用 ask 回复而不是 tell 回复。告诉响应将导致技能停止倾听用户。

您必须在状态中保留一些变量以在意图之间持久化数据,但除此之外,您可以将每个意图视为与第一个意图相同。

祝你好运!

【讨论】:

  • 嗨,我的回复是从函数返回的 json 格式 --> 输出语音是字符串 O/P return { 'outputSpeech': { 'type': 'PlainText', 'text' : output }, 'card': { 'type': 'Simple', 'title': "SessionSpeechlet -" + title, 'content': "SessionSpeechlet -" + output }, 'reprompt': { 'outputSpeech': { 'type': 'PlainText', 'text': reprompt_text } }, 'shouldEndSession': should_end_session }
  • 查看文档 here,了解 questionstatement 之间的区别。我的猜测是您使用的语句会结束会话,当您需要问题时,会保持会话继续进行。
  • 我正在使用 AWS lambda 函数,我的代码是用 Python 编写的。您共享的链接很有用,但它使用 Python 中的 Flask 模块。
  • 我明白了,我以为你在使用 Flask。那么,您一直在关注哪些 SDK 文档?
  • 我正在关注这个link
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多