Come creare un skill per Alexa da zero senza sapere programmare
Oggi vedremo come creare un’applicazione, più che una applicazione è un skill per Amazon echo in Italiano (skill Alexa in Italiano) da zero senza sapere programmare.
Come sappiamo Amazon Echo (Echo spot, Echo dot ed Echo show) sono assistenti virtuali di Amazon, che sono stati creati per aiutare nelle faccende domestiche, ad esempio, può salvare una lista di cose, tenere il timer, mantenere un calendario di promemoria, spegnere la luce, accendere l’aria condizionate ed anche giochi ricreativi come quello che faremo oggi.
Di cosa abbiamo bisogno per fare questo skill per amazon echo in Italiano?
Per questo è necessario 2 accounts:
un account in https://developer.amazon.com/
ed un’altro account in https://aws.amazon.com/
Questo perché?
Perché in nell’account di amazon developer, svilupperemo la struttura del skill per amazon echo in italiano, invece nell’account di aws faremo tutta la parte di programmazione del skill
È possibile scaricare i file di esempio del skill sorgenti dal mio sito: link
Como Funziona il skill per Amazon echo in Italiano?
Il skill per Alexa in Italiano è composta da due parti o due lati, un lato sarà l’interfaccia(amazon developer ) e l’altro lato Server( amazon aws) dove si gestiranno tutto il codice di programmazione in questo caso useremo il linguaggio di programmazione Javascript.(ma non ti preoccupare imparerai in fretta)
Interfaccia: questa parte del skill viene creato in www.developer.amazon.com,questa parte che io la chiamo l’interfaccia, sarà la struttura del skill.
Una volta ti sei loggato segui questi passi:
Una volta facciamo click in CREATE A SKILL:
Compiliamo i dati, come il nome del skill per Alexa, selezioniamo idioma in italiano ed il modello “Custom”
un menù principale si compone di tre sotto-menu: “per ogni linguaggio” questo vuol dire che se abbiamo Italiano e Inglese allora dobbiamo compilare per entrambi i lenguaggi
- Custom
- Interaction model
- Invocation
- Intents
- Slot types
- Json editor
- Interfaces
- Endpoint
- Intent history
- Interaction model
- Account linking
- Permission
Ora vi spiegherò ciascuna di queste opzioni:
Custom: questa è la parte dove creiamo la struttura del skill.
Interaction model: Qui Implementi la logica per il nostro skill e definisci anche l’interfaccia vocale attraverso la quale gli utenti interagiscono con il skill.
Per definire l’interfaccia vocale, si mappano quello che dicono gli utenti agli intent, avanti lo spiegherò più dettagliatamente
Invocation: è il nome o la frase con cui viene lanciato il skill, con la quale Alexa riconosce il vostro skill:
Esempio: indovina il numero
Nel nostro esempio il skill si attiverà quando l’utente dirà: Alexa inizia indovina il numero
si attiverà il nostro skill
Intents: un intent rappresenta un’azione che soddisfa una richiesta dal utente.
Facoltativamente, gli intent possono avere argomenti chiamati slot.
Sample Uterance : rappresenta una serie di frasi verbali probabili assegnate a un Intent, e serve per far attivare per un intent ed un intent può avere tanti sample utterances.
Esempio: intent: stop
può avere come sample utterance: stop, finisci skill, terminare il skill, (queste parole o frasi sono le possibili parole o frasi che un utente può dire per finire un skill allora dobbiamo inserirle) tutte queste frasi attivano il Intent Stop
Slot types: elenco rappresentativo dei possibili valori di uno slot.
I tipi di slot personalizzati vengono utilizzati per elencare elementi che non sono coperti da uno dei tipi di slot incorporati da Amazon.
Esempio: creare un slot di tipo numero per default già esiste Amazon.number
Questo tipo viene predefinito da Amazon perché se non avessimo dovuto creare un slot chiamato numero e aggiungere manualmente tutti i numeri possibili.
Esempio 2: creiamo un slot chiamato Disney, e valori sarà Mickey, Donald, Minnie, etc. in questo caso lo creiamo manualmente perché questo elenco non esiste.
Dialog model (opzionale): Struttura che identifica la procedura per conversazione
molteplici escursioni tra l’utente e la sua capacità di raccogliere tutte le informazioni necessarie
per soddisfare ogni intent. Questo semplifica il codice che è necessario scrivere per richiedere
informazioni all’utente.
JSON Editor: ciò che abbiamo creato in modalità JSON, ad esempio alla fine di
questo corso Metterò i file in modo che potete scaricare e ci ci sarà un file chiamato
JSON in cui è possibile incollare l contenuto di questo file in questo editor.
Interfaces: In questa sezione è possibile aggiungere intenti speciali, come ad esempio se vuoi fare un podcast, o se vuoi riprodurre video in echo show o vuoi utilizzare i gadget di Alexa. In questi casi, possiamo attivare una di queste opzioni.
EndPoint: Qui aggiungiamo l’RNA della funzione di lambda (questo caso usiamo AWS lambda, ci deve incollare l’arn della nostra funzione)
Story: Qui possiamo vedere l’intent più frequente ed anche quanto è stato utilizzato,
Account linking: permette di collegare l’identità dell’utente con un account utente su un sistema diverso (nel nostro caso non lo utilizzeremo ),questa opzione serve per esempio per domino’s pizza, già que puoi ordinare attraverso Amazon echo, ma per questo devi avere un account con loro.
Permission: in questa parte della console developer, è possibile configurare il tuo skill e di chiedere le autorizzazioni clienti per specifiche informazioni personali. Al cliente non è richiesto di concedere questi permessi finché skill non li richiede. Attualmente, le autorizzazioni disponibili sono:Device Address, Lists Read, and Lists Write.
(Questa volta non lo useremo).
Ora si andiamo a creare questo Skill per Alexa in italiano.
Il corso è diviso in cinque parti e ognuna con un video passo-passo:
parte 1; spiegazioni del diagramma di flusso e teoria di come la creeremo.
Parte 2: Creazione dell’abilità in AMAZON DEVELOPER.
Parte 3: Creazione del codice di abilità AWS LAMBDA
Parte 4: prova l’abilità “Indovina il numero” e la sperimentazione e l’editoria.
Ciascuna parte avrà un video spiegazione:
Parte 1: Teoria e spiegazione del skill e come si svilupperà
Intro:
creeremo un skill per amazon echo da zero e lo chiamerò “indovina il numero”, sera’ un skill molto semplice, che non avrai bisogno di sapere programmare, per creare questo skill.
Il gioco consiste in: Alexa penserà un numero e noi dobbiamo indovinare questo numero.
Vi consiglio sempre prima di creare qualsiasi tipo di skill, farlo prima uno schizzo su carta.
esempio: Io ho fatto un diagramma di flusso:(e’ in spagnolo ma si capisce 🙂 )
Queste sono le fasi di nostro skill:
Fase 1: il benvenuto
Questa fase viene lanciata quando un utente, domanda, “Alexa apre Indovina il numero”
in questa parte possiamo scrivere cose Alexa deve rispondere nel nostro caso:
Alexa dirà: “Sto pensando a un numero tra 1 e 100, indovina il numero. Hai 7 possibilità di indovinare, dimmi un numero!”
Fase 2: condizionali:
Alexa si aspetta una risposta da noi, (in questo caso si aspetta un numero compreso tra 1 e 100 ).
in questa parte della condizionale dovete pensare a tutte le possibile condizioni che ci possano essere cosi’ come se l’utente non dice nulla oppure dice un numero fuori rango, oppure una lettera.
Bene, dobbiamo gestire queste condizioni.
Per ognuna delle condizioni andremo a dire ad Alexa cosa deve fare.
Quando crei un skill devi mettere tutte le condizioni possibili.
Condizione 1) dice il numero tra 1 e 100, questa è la condizione principale, il numero è verificato e skill inizia.
Condizione 2) STOP. Questa condizione è il più semplice perche la skill finisce
Condizione 3) non dice nulla: poi da qualche secondo senza risposta vi chiederà ancora di dire il numero tra 1 e 100 se non risponde alla terza volta la skil si chiude, e da un errore
Condizione 4) dice qualcosa che non capisco. Esempio blablabla. In questo è simile a quando non dice nulla, chiediamo di nuovo cosa vuole fare.
Condizione 5) dice un numero che non rientra nell’intervallo [1.100] alexa sa che e’ un numero piu’ grande di cento allora rispondera di dire un numero compreso tra 1 e 100.
(Mi raccomando sempre prima di iniziare una skill fare di un diagramma di flusso con condizioni) questo perché se ci dimentichiamo una condizione poi quando l’utente dice qualcosa che non e’ prevista la skill dara un errore.
Finisce la skill: si può vincere, si può perdere, oppure si può annullare il gioco
in ognuna di queste condizioni, Alexa si usera’ messaggi diversi per ciascuna condizione.
Parte 2: Creazione dell’abilità in AMAZON DEVELOPER.
Parte 3: Creazione del server diAWS laterali abilità Lambda
In questa parte creeremo una funzione lambda, così una volta si è connessi AWS, sono alla ricerca lambda, esicuri di essere in N. Virginia si può vedere sulla destra dello schermo .
Una volta fatto clic su Crea nuova funzione, scegli la stampa blu – Kit Alexa – dagli un nome.
E sulla sinistra troverete “aggiungere trigger” ci aggiungiamo abilità kit di Alexa, clicca su questo e aggiungere la nostra pagina ID developer.amazon abilità che abbiamo creato nella Parte 1.
Da lì seguire le istruzioni video.
Se vuoi scaricare i file: scrivimi sotto nei commenti, grazie
Parte 4: prova SKILL “Indovina il numero” e test e pubblicazione.
In questa parte facciamo un test ed esempi, vedere anche il modo testare la nostra abilità su amazon echo reale.
Se vuoi maggiori informazioni non esitare a scrivermi o visitare la mia pagina
Soy Benjamin De La Cruz, Generador de leads por pasión y por trabajo. me apasiona el marketing, el desarrollo web y especialmente la programación, he creado esta web para brindarte las herramientas y guías que te serán útiles a lo largo de este camino para ganar dinero on-line
Ciao! Proprio oggi proverò a creare una skill grazie ai tuoi tutorial 🙂 ti terrò aggiornato
Ciao Michela certo sono contento per te, dai fammi sapere se ci sei riuscita.
Ciao stammi bene
Ciao,
non trovo il file da scaricare…..
Ciao Davide , mi spiace se voui mandami la tua email e la invio!
ma ultimamente ho poco tempo 🙂
Ciao mi invieresti i file? Grazie mille 🙂