原作者: Ryan Gleason
鏈接: https://towardsdatascience.com/how-i-used-aws-lambda-to-make-my-girlfriend-smile-61194596f2d
開始這個有趣的小項目來提升你周圍人的精神叶堆。
當(dāng)全世界都處于新冠肺炎的困擾時虱颗,人們都只能被關(guān)在家中,但這樣持久地憋在家里高帖,早晚是要被憋瘋的畦粮,有什么辦法可以幫你把快樂傳播到你女朋友手機那端宣赔?
這個問題很大!可能很多情侶已經(jīng)異地戀好幾個月了吏祸,哈哈哈哈哈钩蚊!
我們將使用亞馬遜設(shè)備來制作一些有趣的事情,這不僅可以讓我們經(jīng)常接觸一些尖端技術(shù)砰逻,也給我周圍的人帶來了快樂鸣驱。在這艱難的時刻,我想我們都需要快樂和開心蝠咆。
我們用的是一種叫做“震撼幽默”的喜劇風(fēng)格踊东。當(dāng)有人聽到自己的名字,并在最不經(jīng)意的時候聽到來自一個無生命物體的贊美時刚操,肯定會讓他們在接下來的幾分鐘里笑得流淚递胧。
在本教程中,您不需要任何編程能力(盡管它確實有幫助)赡茸。你所需要的僅僅是跟隨指示的能力。
今天就讓你的女朋友占卧,男朋友遗菠,兒子,女兒华蜒,丈夫辙纬,妻子,姐姐叭喜,哥哥贺拣,阿姨,叔叔,狗狗笑吧譬涡!闪幽。
目標(biāo)
創(chuàng)造一個Alexa技能來傳播積極性。
先決條件
您需要以下項目才能開始學(xué)習(xí)本教程:
- 有Alexa-Amazon Echo涡匀、Echo Dot盯腌、FireTV、Fire平板電腦等的設(shè)備陨瘩。
- AWS自由層帳戶腕够。
- 大約20分鐘。
創(chuàng)建Lambda函數(shù)
我們開始吧舌劳!
登錄您的AWS帳戶并導(dǎo)航到AWS Lambda帚湘,您可以在計算部分找到它:
然后我們將單擊AWS Lambda儀表板內(nèi)的Create Function按鈕:
對于這個Lambda函數(shù),我們將使用其他人創(chuàng)建的無服務(wù)器應(yīng)用程序存儲庫甚淡。這些存儲庫是由AWS大诸、AWS合作伙伴和其他開發(fā)人員創(chuàng)建的,可以隨時供我們使用材诽。
如果你沒有看到任何與Alexa技能相關(guān)的選項,請嘗試將你的區(qū)域切換到us-east-1恒傻。這就是我在用的東西脸侥。
接下來,點擊上面的alexa技能工具包nodejs factskill卡盈厘。
單擊該鏈接后睁枕,將所有設(shè)置保留為默認(rèn)設(shè)置。但是沸手,我會將應(yīng)用程序名稱更改為其他名稱:
配置完功能設(shè)置后外遇,單擊右下角的deploy按鈕。
CloudFormation將負(fù)責(zé)這個部署契吉。
幾分鐘后跳仿,您將看到:
現(xiàn)在,當(dāng)您進(jìn)入AWS Lambda函數(shù)(在左側(cè)的導(dǎo)航欄上)時捐晶,您將看到新創(chuàng)建的函數(shù)菲语。
單擊新創(chuàng)建的函數(shù)鏈接。
編輯Lambda函數(shù)
現(xiàn)在惑灵,這就是它的樂趣所在山上。
一旦進(jìn)入Lambda函數(shù),就可以在函數(shù)代碼中向下滾動到文本編輯器英支。
搜索這段代碼佩憾。這是英語的版本。選擇你所說的語言:
const enData = {
translation: {
SKILL_NAME: 'Space Facts',
GET_FACT_MESSAGE: 'Here\'s your fact: ',
HELP_MESSAGE: 'You can say tell me a space fact, or, you can say exit... What can I help you with?',
HELP_REPROMPT: 'What can I help you with?',
FALLBACK_MESSAGE: 'The Space Facts skill can\'t help you with that. It can help you discover facts about space if you say tell me a space fact. What can I help you with?',
FALLBACK_REPROMPT: 'What can I help you with?',
ERROR_MESSAGE: 'Sorry, an error occurred.',
STOP_MESSAGE: 'Goodbye!',
FACTS:
[
'A year on Mercury is just 88 days long.',
'Despite being farther from the Sun, Venus experiences higher temperatures than Mercury.',
'On Mars, the Sun appears about half the size as it does on Earth.',
'Jupiter has the shortest day of all the planets.',
'The Sun is an almost perfect sphere.',
],
},
};
我們必須將GET_FACT_消息字段和FACTSarray編輯為絕對最小值,以使其按我們希望的方式工作妄帘。請隨意編輯其他內(nèi)容:
const enData = {
translation: {
SKILL_NAME: 'Space Facts',
GET_FACT_MESSAGE: 'What do you think of her?',
HELP_MESSAGE: 'You can say tell me a space fact, or, you can say exit... What can I help you with?',
HELP_REPROMPT: 'What can I help you with?',
FALLBACK_MESSAGE: 'The Space Facts skill can\'t help you with that. It can help you discover facts about space if you say tell me a space fact. What can I help you with?',
FALLBACK_REPROMPT: 'What can I help you with?',
ERROR_MESSAGE: 'Sorry, an error occurred.',
STOP_MESSAGE: 'Goodbye!',
FACTS:
[
'You think Tara is super silly, but also a really great person and you are glad she is here right now',
],
},
你會注意到我把事實數(shù)組中的所有東西都去掉了楞黄。這是因為這個特殊的Alexa技能被設(shè)計成從數(shù)組中隨機選擇一個元素。當(dāng)數(shù)組中只有一個元素時寄摆,只有一個選項可以說:)
把你想要的東西放在這些田地里谅辣。玩得開心點!
好了婶恼,現(xiàn)在我們只需要從Lambda這邊做這些桑阶。讓我們把它和我們家里的Alexa設(shè)備一起用。
創(chuàng)造Alexa技能
導(dǎo)航到https://developer.amazon.com/alexa/console/ask;這是我們?yōu)閍lexa創(chuàng)建實際技能的地方勾邦。我們將創(chuàng)建一個開發(fā)人員帳戶蚣录。
如果您還沒有注冊,請使用您的Amazon Alexa注冊帳戶眷篇。這將使整個過程更加容易萎河。
如果你的Alexa沒有注冊到你的Amazon賬戶上,那么很簡單蕉饼。只需在手機上下載Alexa應(yīng)用程序并按照步驟進(jìn)行操作虐杯。
訪問https://developer.amazon.com/alexa/console/ask后,單擊右側(cè)的Create Skill按鈕:
然后給它起個名字昧港,讓Custom selected作為模型來添加我們的技能擎椰,并提供您自己的方法來托管我們的技能后端資源:
然后我們將模板更改為事實技能,因為這是我們生成Lambda函數(shù)的方式创肥。
一旦你點擊Choose达舒,我們的Alexa應(yīng)用程序就被創(chuàng)建了!就這么簡單叹侄。
現(xiàn)在巩搏,這一步至關(guān)重要。我們必須將端點更改為AWS Lambda函數(shù)的端點趾代。否則贯底,它如何知道要觸發(fā)哪個Lambda函數(shù)?
回到AWS中的Lambda函數(shù)撒强,在右上角查找ARN:
將其復(fù)制到剪貼板丈甸,并將其粘貼到“端點(Endpoint)”選項卡的“默認(rèn)區(qū)域(Default Region)”字段中:
單擊頂部的“保存端點”按鈕。
現(xiàn)在我們需要添加一個新的Intent尿褪。這是你需要對你的Alexa說的睦擂,它才能觸發(fā)你的Lambda函數(shù)。下面你會看到我輸入了“我覺得塔拉怎么樣”塔拉是我女朋友的名字杖玲,你可以做任何東西顿仇。
這句話是你需要對你的Alexa設(shè)備說的,以便它用你在AWS Lambda函數(shù)代碼中所寫的來響應(yīng)。
添加完所有希望Alexa響應(yīng)的語句后臼闻,單擊Save Model和buildmodel鸿吆。這只需要幾秒鐘或幾分鐘就可以完成。
生成成功后述呐,您應(yīng)該會在底部看到此消息:
現(xiàn)在導(dǎo)航到頂部導(dǎo)航欄中的測試選項卡惩淳。
更改技能測試可以下拉到“開發(fā)(Development)”。
在左手邊輸入你的話語乓搬,你的Lambda函數(shù)就會被觸發(fā)思犁,你的回應(yīng)就會被輸出。
現(xiàn)在进肯,如果你的Alexa設(shè)備注冊到你的帳戶上激蹲,你可以對你的設(shè)備說這句話,同樣的回答將被返回江掩,但這次是Alexa的学辱。
希望你用這個來逗你的女朋友開心和快樂。
愿疫情早點過去环形!
PS:我是黑胡桃實驗室社區(qū)的一名成員策泣,最近經(jīng)常在看一些老外做的有趣的人工智能項目,如果有興趣或疑問可以在評論區(qū)留言或私信與我交流μ