2017-08-16 69 views
0

我期待構建一個能夠回答多個問題的單一Alexa技能。使用Amazon開發人員網站上的Skill Builder,我可以創建一個處理一個問題並返回響應的自定義意圖,但我無法看到如何使用Skill Builder將另一個自定義意圖添加到技能(我可以看到如何添加第二個意圖,但不知道如何將它與第二個AWS綁定)。 Skill Builder允許您只輸入一個AWS APN號碼來處理請求,但我想要一個不同的AWS來處理每種不同類型的問題。如何建立具有多個定製意圖的Alexa技能

所以,我的技能名稱是文圖拉縣信息。我的調用是文圖拉縣。我希望能夠向Alexa Ventura縣詢問我應該在哪裏報告陪審義務(這將稱爲GetJuryDuty意圖,它將在一個AWS中稱爲getJuryDutyFunction)並返回該陪審團責任地點。或者,我希望能夠說Alexa的問題在維多利亞縣我從哪裏得到我的出生證的副本(這將調用GetBirthCertificate目的,它將調用不同的AWS中的getBirthCertificateFunction)並返回出生證的位置。我只是無法弄清楚如何將每個Intent綁定到適當的AWS apn,當Skill Builder只給我一個apn號碼的時隙。

回答

0

當你發現你只能使用一個ARN的一個給定的技能。所以這導致在這個Function中爲這個給定的技能編寫所有的代碼。 (有一件事你可以在另一個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的問Ventura縣我在哪裏參加陪審團工作 報告在你的後臺,你只是寫一些代碼來檢查它是什麼責任類型,然後執行此給定的代碼爲這個給定的職責類型。

對於任何更多的幫助或澄清隨意問。

相關問題