我正在玩Alexa技能套件(用于Amazon Echo),并希望创建一种将意图发送到AWS Lambda函数的技能,该函数只会向我发送电子邮件.
示例话语将是这样的:
MemoIntent take a memo {myMemo}
MemoIntent to take a memo {myMemo}
MemoIntent send a memo {myMemo}
Run Code Online (Sandbox Code Playgroud)
这样我就可以说"Alexa,请我的秘书拿一份备忘录,提醒我今天回家的路上去商店"然后会收到我的Lambda函数的电子邮件说:"提醒我去我今天回家的路上."
这个myMemo插槽是自由形式的 - 此时只需要一两句话,但是我没有在文档中找到很多关于如何为这样的东西编写模式的帮助.我目前最好的猜测是:
错误:您的请求出现问题:未知的广告位名称"{myMemo}".发生在样本'MemoIntent中,在第1行上记下备忘录{myMemo}'.
我正在使用文档不鼓励的AMAZON.LITERAL插槽类型,但它也没有提供任何关于如何进行此操作的建议.而且,就像我提到的那样,它失败了.
这是失败的架构:
{
"intents": [
{
"intent": "MemoIntent",
"slots": [
{
"name": "myMemo",
"type": "AMAZON.LITERAL"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud) 我需要创建一个Amazon Skill Kit来在我们的票务工具中打开票证.通过查看Amazon Skill Kit的示例,我找不到接受自由格式文本作为输入的方法.其他选项是创建一个自定义插槽,其中包含所有可能的输入集作为自定义插槽输入.
但在我的情况下,我所要做的就是捕获用户输入的全部内容,将其记录在票证的某个地方,这是不太可能预期可能的话语.
amazon-web-services alexa-skills-kit amazon-echo alexa-voice-service
我正在做其中一个教程(HelloWorld)为Echo制作技能,我按照指示操作.当我使用服务模拟器测试技能时,我输入了
Alexa, tell Greeter to say hello
Run Code Online (Sandbox Code Playgroud)
并返回以下JSON响应:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "Hello World!"
},
"card": {
"content": "Hello World!",
"title": "Greeter",
"type": "Simple"
},
"shouldEndSession": true
},
"sessionAttributes": {}
}
Run Code Online (Sandbox Code Playgroud)
我认为这是正确的输出.然而,当我尝试在我的Echo上测试技能时,Alexa回答"对不起,我没有你的问题." 我继续了历史,Alexa将我的命令解释为"alexa告诉greeter打个招呼".似乎Alexa没有认识到这项技能?
我正在使用Amazon Lambda来执行代码,因此我检查了日志,并且当我向上面讲述命令时代码未执行.
我将javascript文件中的app_id替换为与我的技能相对应的app_id.我也把亚马逊技能套件作为触发器.
我也尝试了其他教程(ChemistryFlashCards和HistoryBuff),Alexa回答说"我不确定你的意思."
不确定发生了什么!任何指导表示赞赏!!
我想在我的网站上整合亚马逊技能套件而不需要亚马逊回声装置.我想使用笔记本电脑/ PC麦克风而不是回音装置在我的网站上实现语音命令.
我已经使用过这个教程,但是我没有找到任何关于如何在我身边实现它的内容.
我也尝试在github上提供这些样本.但我认为这些还需要Amazon echo设备:https: //github.com/amzn/alexa-skills-kit-js
我使用Windows与下面给出的开发环境
我的开发环境
是否可以在没有回音设备的情况下使用Amazon Alexa Skill Kit?
speech-recognition alexa-skills-kit amazon-echo alexa-voice-service
我正在尝试使用为Amazon Alexa API提供的示例代码,并尝试通过计算机运行hello world/history buff示例.如何从本地计算机上测试请求和响应格式.在README文件中,它可以访问这个网站:http://echo.amazon.com/#skills,但我没有看到任何内容,因为它提到了更多有关连接设备的信息.我没有设备,但我想通过笔记本电脑在本地测试.
alexa aws-lambda alexa-skills-kit amazon-echo alexa-voice-service
我正在为新的亚马逊ECHO工作"技能".该技能将允许用户向Alexa询问有关Enphase太阳系的状态和性能的信息.Alexa将回应从基于JSON的Enphase API中提取的结果.例如,用户可以问,
"Alexa. Ask Enphase how much solar energy I have produced in the last week."
ALEXA <"Your array has produced 152kWh in the last week.">
Run Code Online (Sandbox Code Playgroud)
问题是我用JavaScript编程已经多年了,这是我第一次使用AWS Lambda.我没有非常成功地找到有关如何将JSON查询嵌入AWS Lambda函数中的第三方服务器的任何信息.以下是我的Lambda函数中相关的代码部分:
/**
* Gets power from Enphase API and prepares speach
*/
function GetPowerFromEnphase(intent, session, callback) {
var Power = 0;
var repromptText = null;
var sessionAttributes = {};
var shouldEndSession = false;
var speechOutput = "";
//////////////////////////////////////////////////////////////////////
// Need code here for sending JSON query to Enphase server to get power …Run Code Online (Sandbox Code Playgroud) 我们如何将Amazon Echo意图指向私有/内部https端点?就像运行nodeJS的覆盆子pi一样.
我很想听听有关如何解决这个问题的反馈.
编辑:我现在有一个由Amazon Echo控制的我的Pi的稳定,工作设置.这就是它的配置方式:
我很乐意听到有关这种方法的反馈意见,并将问题留给其他人发布更简单/更好的方法来实现这一目标
这仅适用于演示和Alexa(亚马逊回声)不支持我们将文本推送到它随机说话,所以我们想要完成一个黑客.
通过这种方式,我们试图通过Alexa模拟双向通信.
我不得不担心Alexa超时吗?如果是这样,需要多长时间?我的Lambda也会超时(我假设我只能睡在那段代码中或挂在远程调用上)?
我刚刚提交了一个新版本的认证,并希望开始在我的下一个版本上开发新功能.
但不知何故 - 由于我的技能处于认证模式,我无法启动新的开发版本.
在这个漫长的(4-7天)认证模式下,有没有办法开发新版本?
我想以编程方式调用Web服务来控制我的Amazon Echo.更具体地说,我想控制链接到Echo的家庭自动化设备.例如,我想使用C#代码打开和关闭电源插座.
可以这样做吗?如果是这样,有人能指出我可以开始的API吗?
amazon-echo ×10
aws-lambda ×4
alexa ×3
alexa-skill ×1
amazon ×1
http ×1
json ×1
raspberry-pi ×1