【问题标题】:How to build Alexa Skill with multiple custom intents如何使用多个自定义意图构建 Alexa Skill
【发布时间】:2017-08-16 18:24:07
【问题描述】:

我正在寻找可以回答多个问题的单一 Alexa 技能。使用亚马逊开发者网站上的技能构建器,我已经能够创建一个处理一个问题并返回响应的自定义意图,但是我看不到如何使用技能构建器向技能(我可以看到如何添加第二个意图,但看不到如何将其绑定到第二个 AWS)。 Skill Builder 只允许您输入一个 AWS apn 号码来处理请求,但我想要不同的 AWS 来处理每种不同类型的问题。

所以,我的技能名称是文图拉县信息。我的祈求是文图拉县。我希望能够说 Alexa 询问文图拉县我在哪里报告陪审团职责(这将调用 GetJuryDuty 意图,这将在一个 AWS 中调用 getJuryDutyFunction)并返回陪审团职责的位置。或者,我希望能够说 Alexa 询问文图拉县我在哪里可以获得我的出生证明的副本(这将调用 GetBirthCertificate 意图,这将在不同的 AWS 中调用 getBirthCertificateFunction)并返回出生证明的位置。我只是不知道如何将每个 Intent 绑定到正确的 AWS apn,因为 Skill Builder 只给了我一个 apn 编号的插槽。

【问题讨论】:

    标签: alexa alexa-skill


    【解决方案1】:

    正如您发现的那样,您只能将一个 ARN 用于一项给定的技能。所以这导致在这个函数中为这个给定的技能编写所有代码。 (你可以在另一个 lambda 函数中调用一个 lambda 函数,但我们不会走这条路)。 现在,您的解决方案有 2 个选项:

    1.(推荐)

    查看此链接以获取有关如何设置的帮助:help me 但是在这里,您需要为要调用的每个意图采取不同的表达方式,例如:

    {ask jury duty} where do i report for jury duty
    
    {ask birth certificate} where do i get a copy of my birth certificate
    

    这样 Alexa 将知道调用哪个意图,而您的后端将知道要执行什么。

    2.(不推荐这样做,因为后端需要自己写很多代码。)

    {
      "intents": [   
        {
          "intent": "ask duty",
          "slots": [{
            "name": "Duty type", 
            "type": "DUTY_TYPE"
          }]
        }
        {
          "intent": "AMAZON.HelpIntent"
        },    
        {
          "intent": "AMAZON.CancelIntent"
        },    
        {
          "intent": "AMAZON.StopIntent"
        }    
      ]
    }
    

    其中 DUTY_TYPE 是包含所有职责类型的自定义槽。 像这样的话语:

    {ask duty} where do i report for {duty type}
    

    现在您的技能可以像:Alexa 询问文图拉县我在哪里报告陪审团职责 在您的后端,您只需编写一些代码来检查它是什么职责类型,然后针对这个给定的职责类型执行这个给定的代码。

    如需更多帮助或澄清,请随时询问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-21
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多