Sommario:
- Forniture
- Passaggio 1: crea un account sviluppatore Amazon
- Passaggio 2: crea una nuova abilità
- Passaggio 3: saluta l'utente
- Passaggio 4: prova il saluto
- Passaggio 5: aggiungi intenti
- Passaggio 6: aggiungi parole divertenti
- Passaggio 7: aggiungere gestori di intenti
- Passaggio 8: registrare i gestori di intenti
- Passaggio 9: prova l'abilità
- Passaggio 10: imposta l'anteprima delle abilità e invia per la revisione
Video: Come creare un'abilità Alexa: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Che cos'è un'abilità di Alexa?
Le competenze di Alexa sono come le app. Puoi abilitare e disabilitare le abilità, utilizzando l'app Alexa o un browser web, nello stesso modo in cui installi e disinstalli le app sul tuo smartphone o tablet. Le abilità sono funzionalità di Alexa a comando vocale. Puoi aggiungere le competenze di Alexa al tuo Echo per dare vita a prodotti e servizi. Puoi visualizzare le competenze disponibili e abilitarle o disabilitarle utilizzando l'App Alexa.
Questo tutorial ti mostra come creare un'abilità Alexa.
Obiettivo:
L'obiettivo è creare un'abilità che dica all'utente una parola tedesca divertente ogni volta, l'utente chiede.
Dimostrazione:
Per vedere come dovrebbe funzionare l'abilità in seguito, puoi testarla qui:
www.amazon.com/gp/product/B07ZH9GL9N?ref&r…
Forniture
- Conoscenza nella programmazione
- Nozioni di base su Node.js e Javascript
Passaggio 1: crea un account sviluppatore Amazon
Se non hai un account sviluppatore Amazon puoi registrarti qui. Altrimenti puoi accedere qui.
Passaggio 2: crea una nuova abilità
- Segui questo link:
- Fai clic su Crea abilità sul lato destro. Successivamente si apre una nuova pagina.
- Inserisci il nome della tua abilità (nel nostro caso: Parole tedesche divertenti) nel campo Nome abilità.
- Imposta la lingua nella casella di selezione della lingua predefinita su inglese (USA)
- Creeremo un'abilità personalizzata, quindi scegliamo il modello personalizzato
- In Scegli un metodo per ospitare le risorse di backend delle tue competenze scegliamo Alexa-Hosted (Node.js)
- Al termine, fai clic su Crea abilità
- Si apre una nuova finestra
Passaggio 3: saluta l'utente
La prima cosa che un utente fa con la tua abilità è aprirlo. L'intento, che apre la competenza, è già implementato nel codice di esempio e non deve più essere aggiunto.
-
Apri la scheda Codice → Si apre la finestra del codice con il file index.js
Ogni gestore di intenti ha due funzioni
- può gestire()
- maneggiare()
La funzione canHandle() include la richiesta a cui risponde il gestore.
La funzione handle() invia una risposta all'utente.
Se una competenza riceve una richiesta, viene chiamata la funzione canHandle() di ogni gestore di intenti e verifica se può inviare una risposta a quella richiesta.
-
Nella funzione handle() del LaunchRequestHandler eliminare l'intero codice e incollare quanto segue in seguito:
const speakOutput = 'Benvenuto in Divertenti parole tedesche. Scopri quali parole divertenti ha da offrire la lingua tedesca e cosa significano. Vuoi sentire una parola divertente?';
const repromptText = 'Vuoi ascoltare una divertente parola tedesca?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();
- Fare clic su Salva e distribuisci.
Il gestore dell'intento di aiuto deve essere modificato in modo che corrisponda all'abilità. Elimina il codice della funzione handle() e inserisci questo:
const speakOutput = 'Scopri quali parole divertenti ha da offrire la lingua tedesca e cosa significano. Vuoi sentire una parola divertente?';
const repromptText = 'Vuoi ascoltare una divertente parola tedesca?'; return handlerInput.responseBuilder.speak(speakOutput).reprompt(repromptText).getResponse();
Al termine, fai clic su Salva e distribuisci.
Passaggio 4: prova il saluto
Ogni volta che hai più funzionalità alla tua abilità, prova se funziona davvero, per scoprire in caso di errore, dove potrebbe essere l'errore.
- Fare clic sulla scheda Test → Si apre una nuova finestra.
- Attivare l'ambiente di test, selezionando Sviluppo nella casella di selezione.
- Scrivi o parla: "apri parole tedesche divertenti" → L'abilità dovrebbe ora rispondere con il saluto.
Passaggio 5: aggiungi intenti
Ora aggiungeremo opportunità su come un utente può interagire con la tua abilità. Gli intenti consentono di reagire correttamente dopo frasi speciali e di attivare successivamente il gestore corretto.
- Fare clic sulla scheda Costruisci → Si apre la finestra Costruisci.
- La barra di navigazione a destra mostra tutti gli intenti attivati. Prima di tutto, elimina HelloWorldIntent.
- Successivamente, fai clic sul pulsante Aggiungi accanto alla scheda degli intenti nella barra di navigazione.
Prima di tutto, aggiungiamo alcuni intenti integrati dalla libreria integrata di Alexa
- Fai clic su Usa un intento esistente dalla libreria integrata di Alexa
- Cerca YesIntent e NoIntent e fai clic su aggiungi per entrambi.
Ora aggiungiamo il nostro intento personalizzato.
- Fai clic su Crea intento personalizzato
- Dai il nome TellAFunnyWordIntent all'intento
- Fai clic su Crea intento personalizzato
Ora aggiungeremo alcune frasi di esempio al nostro intento. Le frasi di esempio sono frasi che l'utente potrebbe pronunciare. Basta inserire queste frasi di esempio:
- dimmi una parola
- dimmi una parola tedesca divertente
- una parola
- una parola divertente
- per dirmi una parola
Naturalmente ci sono molte più frasi che l'utente potrebbe dire. Puoi estendere l'intento se lo desideri, ma al momento ci stiamo concentrando sulla funzionalità.
Dopo aver aggiunto le frasi, cliccare su Save Model e successivamente su Build Model. Al termine della compilazione, torna alla scheda Codice.
Passaggio 6: aggiungi parole divertenti
Per far sì che la nostra abilità dica parole divertenti, ha bisogno prima di alcune parole divertenti.
Per questo, crea un nuovo file chiamato words.json nella cartella lambda.
Inserisci queste parole nel file words.json:
[{ "word": "Lebensabschnittpartner", "explanation": "Questa parola è descritta principalmente come un'altra opzione per il partner o l'amante, ma con una svolta più transitoria." }, { "parola": "Unabhängigkeitserklärungen", "spiegazione": "Questa parola descrive la dichiarazione di indipendenza." }, { "word": "Freundschaftsbezeugung", "explanation": "È la dimostrazione dell'amicizia." }, { "word": "Rechtsschutzversicherungsgesellschaften", "explanation": "Il Guinness dei primati riconosce questa parola ingombrante come la parola tedesca più lunga nell'uso quotidiano. Significa compagnie di assicurazione che forniscono protezione legale." }, { "word": "Kaftfahrzeug-Haftpflichtversicherung", "explanation": "Si riferisce a un'assicurazione di responsabilità civile per veicoli a motore". }, { "word": "Donaudampfschiffahrtsgesellschaftskapitän", "explanation": "Questa parola continua il tema del trasporto ed è composta da quattro parole messe insieme ordinatamente per dire capitano della compagnia di navigazione del Danubio." }]
Ovviamente puoi aggiungere più parole se ne conosci alcune. Ma per il test dovrebbe già funzionare.
Fare nuovamente clic su Salva e distribuisci.
Passaggio 7: aggiungere gestori di intenti
Gli intenti creati in precedenza ora necessitano di un gestore, che viene attivato da un intento. Il NoIntentHandler chiude la competenza. YesIntentHandler e TellAFunnyWordIntentHandler rispondono con una parola divertente e la sua spiegazione.
Elimina l'intero HelloWorldIntentHandler dal file index.js e aggiungi invece tre nuovi:
const TellAFunnyWordIntentHandler = {
canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'TellAFunnyWordIntent'; }, handle(handlerInput) { const parole = JSON.parse(fs.readFileSync('./words.json')); const parola = parole[Math.floor(Math.random() * parole.lunghezza)]; const speakOutput = parola.parola + '. ' + parola.spiegazione; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const YesIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. YesIntent'; }, handle(handlerInput) { const parole = JSON.parse(fs.readFileSync('./words.json')); const parola = parole[Math.floor(Math.random() * parole.lunghezza)]; const speakOutput = parola.parola + '. ' + parola.spiegazione; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } }; const NoIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'AMAZON. NoIntent'; }, handle(handlerInput) { const speakOutput = 'Okay, forse un'altra volta.'; return handlerInput.responseBuilder.speak(speakOutput).getResponse(); } };
Passaggio 8: registrare i gestori di intenti
Ora dobbiamo registrare i nuovi gestori di intenti. Per questo, scorri fino alla fine del file index.js.
Sostituisci questo:
exports.handler = Alexa. SkillBuilders.custom()
.addRequestHandlers(LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // assicurati che IntentReflectorHandler sia l'ultimo in modo che non sovrascriva i tuoi gestori di intent personalizzati).addErrorHandlers,(la)
con quello:
exports.handler = Alexa. SkillBuilders.custom()
.addRequestHandlers(LaunchRequestHandler, TellAFunnyWordIntentHandler, YesIntentHandler, NoIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler, // assicurati che IntentReflectorHandler abbia l'ultimo override del tuo intento,).
Successivamente, fai nuovamente clic su Salva e distribuisci. Al termine della distribuzione, prova di nuovo l'abilità.
Passaggio 9: prova l'abilità
- Fare clic sulla scheda Test → Si apre una nuova finestra.
- Scrivi o parla: "apri parole tedesche divertenti" → L'abilità dovrebbe ora rispondere con il saluto.
- Scrivi o parla: "dimmi una parola tedesca divertente" → L'abilità dovrebbe ora dire una delle parole.
Se tutto funziona, puoi già inviare la tua abilità.
Passaggio 10: imposta l'anteprima delle abilità e invia per la revisione
Riempi tutte le caselle di testo richieste con la tua descrizione personale dell'abilità.
In Frasi di esempio scrivi:
- Alexa, apri Parole tedesche divertenti.
- Alexa, chiedi a Funny German Words di dirmi una parola divertente.
Dopo aver compilato tutti i campi richiesti e dopo aver caricato le icone, clicca su Salva e continua.
Scegli le risposte corrette in Privacy & Compilazione e in Disponibilità.
Si prega di dare un'occhiata alla lista di controllo prima di inviare
Ora devi eseguire alcuni test. Questo può richiedere del tempo.
Successivamente puoi inviare la tua abilità per la revisione. Ci vorranno 1 o 2 giorni prima di ricevere un feedback sulla tua abilità. Se hai fatto tutto bene, la tua abilità verrà pubblicata subito dopo la revisione.
Se vuoi già provare l'abilità, ma è ancora in certificazione, puoi sempre usare questa abilità:
www.amazon.com/gp/product/B07ZH9GL9N?ref&ref=cm_sw_em_r_as_dp_uCOJljYBKfNx9
Consigliato:
Raspberry PI 3 - Abilita le comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15: 9 passaggi
Raspberry PI 3 - Abilita comunicazioni seriali da TtyAMA0 a BCM GPIO 14 e GPIO 15: Recentemente ho avuto interesse ad abilitare UART0 sul mio Raspberry Pi (3b) in modo da poterlo collegare direttamente a un dispositivo di livello di segnale RS-232 utilizzando uno standard 9 -pin connettore d-sub senza dover passare attraverso un adattatore da USB a RS-232. Parte del mio interesse
I-211M-L ONT: Abilita i dati durante l'alimentazione a batteria: 7 passaggi
I-211M-L ONT: abilita i dati durante l'alimentazione a batteria: il terminale di rete ottica (ONT) I-211M-L è un endpoint popolare per gli abbonati a Internet in fibra o telefoni basati su fibra (POT) e servizi video. Le nuove installazioni di Verizon FIOS tendono a utilizzare questo ONT. A differenza dei precedenti ONT, l'I-211M-L non co
Come creare un'unità di avvio Linux (e come utilizzarla): 10 passaggi
Come creare un'unità di avvio Linux (e come utilizzarla): questa è una semplice introduzione su come iniziare con Linux, in particolare Ubuntu
Come creare un robot da combattimento (per QUALSIASI livello di abilità): 8 passaggi
Come creare un robot da combattimento (per QUALSIASI livello di abilità): quando ho iniziato la robotica da combattimento, ho scoperto che non c'era nessun "passo dopo passo" procedura dettagliata di costruzione di robot da combattimento, quindi dopo aver fatto tonnellate di ricerche su Internet, ho deciso di compilarne alcune per creare una guida per creare un robot da combattimento in modo che qualcuno
Abilità di Alexa: leggi l'ultimo Tweet (in questo caso, di Dio): 6 passaggi
Skill Alexa: Leggi l'ultimo Tweet (in questo caso, God's): ho creato un'abilità Alexa per leggere "God's Latest Tweet" -- il contenuto, ovvero da @TweetOfGod, l'account di oltre 5 milioni di abbonati creato da un ex scrittore di commedie del Daily Show. Utilizza IFTTT (If This Then That), un foglio di calcolo di Google e il