Maison >Périphériques technologiques >Industrie informatique >Comment développer votre première compétence Amazon Alexa
Points clés
Alexa Native prend en charge de nombreuses compétences intégrées telles que l'ajout d'articles à votre liste de courses ou la demande de chansons. Cependant, les développeurs peuvent utiliser le kit de compétences Alexa (demander) pour développer de nouvelles compétences personnalisées.
Ask est une collection d'API et d'outils qui gèrent la plupart des travaux liés à l'interface vocale, y compris la reconnaissance vocale, l'encodage de texte vocal et le traitement du langage naturel. Ask aide les développeurs à développer les compétences rapidement et facilement.
En bref, la seule raison pour laquelle Alexa peut comprendre les commandes vocales de l'utilisateur est qu'elle définit les compétences. Chaque compétence Alexa est un logiciel conçu pour comprendre les commandes vocales. De plus, chaque compétence Alexa a sa propre logique définie qui crée la réponse appropriée pour les commandes vocales. Pour vous donner quelques compétences Alexa existantes, ils incluent:
Comme mentionné ci-dessus, nous pouvons utiliser le kit de compétences Alexa pour développer des compétences personnalisées qui répondent à nos besoins, une collection d'API et d'outils conçus à cet effet. Ask Inclut des outils tels que la reconnaissance vocale, l'encodage de texte vocal et le traitement du langage naturel. La boîte à outils devrait permettre à tout développeur de commencer rapidement à développer ses propres compétences personnalisées.
Dans cet article, vous apprendrez à créer une compétence de base "Get Facts" Alexa. En bref, nous pouvons demander à Alexa de nous montrer un fait de chat aléatoire. Le code complet pour terminer la tâche peut être trouvé sur GitHub. Avant de commencer, assurez-vous de comprendre la terminologie des compétences Alexa.
Master Alexa Skill Terminology
Tout d'abord, apprenons comment les utilisateurs interagissent avec les compétences personnalisées. Ceci est très important pour comprendre différents concepts liés aux compétences.
Pour activer une compétence spécifique, l'utilisateur doit appeler Alexa et demander à activer la compétence. Par exemple: "Alexa, ouvrez les faits de chat". Ce faisant, nous appelons le nom de l'appel de la compétence. Fondamentalement, le nom d'appel peut être considéré comme le nom de l'application.
Maintenant que nous avons activé les compétences correctes, nous pouvons accéder à l'intention / commandes vocales que les compétences comprennent. Puisque nous voulons rester simples, nous définissons une intention de "Get Cat". Cependant, nous devons fournir des exemples de phrases pour déclencher l'intention. Une intention peut être déclenchée par de nombreux exemples de phrases, également appelés discours. Par exemple, l'utilisateur pourrait dire "étant donné un fait". Par conséquent, nous définissons l'exemple suivant des phrases:
Vous pouvez même combiner le nom de l'appel avec l'intention, comme suit: "Alexa, demandez aux faits des chats de donner les faits".
Maintenant que nous connaissons la différence entre le nom et l'intention de l'appel, allons-y et créons votre première compétence Alexa.
Créer un compte de développeur Amazon
Tout d'abord, nous avons besoin d'un compte de développeur Amazon. Si vous en avez déjà un, vous pouvez ignorer cette section.
L'enregistrement d'un compte Amazon Developer est un processus en trois étapes. Amazon a besoin d'informations personnelles, accepte les conditions d'utilisation et fournit des méthodes de paiement. L'avantage de l'inscription à un compte Amazon Developer est que vous avez accès à un grand nombre d'autres services Amazon. Après avoir terminé avec succès l'inscription, vous verrez le panneau de commande du développeur Amazon.
Connectez-vous au panneau de configuration et cliquez sur le bouton "Console du développeur" dans le coin supérieur droit.
Ensuite, nous voulons ouvrir le kit Alexa Skills.
Si vous ne pouvez pas ouvrir le kit de compétences Alexa, veuillez utiliser ce lien.
Dans la section suivante, nous créerons nos compétences réelles.
Créez nos premières compétences Alexa personnalisées
D'accord, nous sommes prêts à créer notre première compétence Alexa personnalisée. Cliquez sur le bouton bleu "Créer des compétences" pour ouvrir le menu pour créer de nouvelles compétences.
Tout d'abord, cela nous incite à entrer le nom de la compétence. Comme vous le savez déjà, nous voulons des faits de chats aléatoires, nous appelons donc la compétence «Faits de chat personnalisés» (nous ne pouvons pas utiliser des «faits de chat» car il s'agit d'une compétence intégrée pour les appareils Alexa). Ensuite, cela nous incite à choisir un modèle pour vos compétences. Nous pouvons choisir des modèles prédéfinis ou choisir un modèle personnalisé, ce qui nous donne une flexibilité totale. Étant donné que nous ne voulons pas gérer le code indésirable, nous sélectionnons l'option "personnalisée".
* Remarque: Si vous choisissez une compétence prédéfinie, vous obtiendrez une liste de modèles d'interaction et d'exemples de phrases (discours). Cependant, même les compétences personnalisées sont équipées des intentions les plus élémentaires telles que l'annulation, l'aide, la navigation vers la page d'accueil et l'arrêt.
Ensuite, nous devons choisir un moyen d'accueillir nos compétences. Encore une fois, nous ne voulons pas sur compliqué des choses et sélectionner l'option "Alexa Hosting (Node.js)". Cela signifie que nous n'avons pas à gérer le backend nous-mêmes, ce qui prend des efforts pour le rendre "conforme à Alexa". Cela signifie que vous devez formater la réponse selon les normes d'Amazon Alexa afin que l'appareil puisse comprendre cela. L'option d'hébergement Alexa sera:
Compétences d'hébergement dans votre compte jusqu'à la limite de niveau gratuit AWS et vous faire commencer à utiliser le modèle Node.js. Vous aurez accès aux points de terminaison AWS Lambda, 5 Go de stockage des médias (15 Go de transfert de données par mois) et des tableaux pour la persistance de session.
ok, maintenant tous les paramètres sont en place, vous pouvez cliquer sur le bouton Créer des compétences dans le coin supérieur droit de l'écran. Ce bouton générera des compétences réelles dans notre compte Amazon Developer.
Modifiez votre première compétence Alexa
Maintenant, si vous accédez à la console du développeur Alexa, vous constaterez que vos compétences y sont répertoriées. Cliquez sur le bouton Modifier pour commencer à modifier les compétences.
Ensuite, Amazon affichera l'onglet Build de la compétence "Cat Facts". À gauche, vous trouverez une liste d'intentions définies pour la compétence. Comme mentionné précédemment, par défaut, le kit de compétences Alexa génère une intention d'annulation, d'arrêt, d'aide et de naviguer vers l'intention de la page d'accueil. Les trois premiers sont utiles pour les utilisateurs qui souhaitent quitter leurs compétences ou qui ne savent pas comment les utiliser. La dernière "navigation à la maison" concerne des compétences complexes qui impliquent plusieurs étapes uniquement.
Tout d'abord, vérifions que le nom de l'appel de la compétence est correct. Le nom doit apparaître comme des "faits de chat personnalisés".
Si vous modifiez le nom, assurez-vous de cliquer sur le bouton "Enregistrer le modèle" en haut de la page.
Deuxième étape, nous voulons modifier l'intention par défaut "HelloworldIntent".
Cliquez sur l'intention et nous obtiendrons une belle interface graphique qui nous permet de modifier le nom de l'intention ou d'ajouter un exemple de discours.
Je préfère personnellement utiliser l'éditeur JSON, que vous pouvez trouver dans le menu à gauche. Lorsque vous ouvrez l'éditeur JSON, vous verrez l'objet JSON suivant.
L'avantage de l'éditeur JSON est que vous pouvez modifier toutes les intentions à la fois. Tout d'abord, ajoutons une nouvelle intention appelée "getFactIntent".
Ensuite, nous voulons ajouter quelques exemples de discours comme indiqué dans l'image ci-dessous.
Après avoir modifié, votre objet JSON devrait ressembler à ceci. Actuellement, nous ne voulons pas définir un échantillon de discours pour d'autres intentions. Le kit de compétences Alexa relie la phrase d'aide à "HelpIntent" par défaut.
Remarque: n'oubliez pas de cliquer sur le bouton "Enregistrer le modèle", puis cliquez sur le bouton "Build Model". Alexa construit essentiellement le modèle et s'entraîne en fonction du modèle que vous définissez avec l'exemple de discours.
Allons à l'onglet Test dans le menu horizontal. Maintenant, changez le menu déroulant "Test Skill déjà" vers le "développement". Cela nous permettra de tester nos compétences.
Actuellement, essayons d'activer les compétences pour voir si tout est correct. Nous pouvons activer la compétence en appelant le nom de l'appel, comme le montre la figure ci-dessous.
Ensuite, nous plongerons dans l'onglet Code. Lorsque vous cliquez sur l'onglet Code, vous obtiendrez un éditeur en ligne avec le code par défaut.
Tout d'abord, nous voulons copier le code de HelloworldIntentHandler et le renommer pour getFactIntentHandler.
Après, nous devons spécifier le type d'intention que ce gestionnaire peut gérer. La ligne 21 recherche une intention nommée GetFactentent.
Maintenant que nous avons trouvé l'intention, définissons une réponse statique: "Je vais dire un fait!", Nous l'avons attribué à la variable SpeakOut.
Enfin, nous devons ajouter le GetFactIntentHandler aux autres gestionnaires de demande. Nous pouvons simplement l'ajouter à la fonction AddRequestHandlers. N'oubliez pas d'économiser et de construire l'intention!
Maintenant que la compétence a été enregistrée et construite, vérifions brièvement la réponse. Si nous demandons à la compétence de raconter les faits, cela devrait répondre «Je vais dire un fait!»
Si tout est correct, vous pouvez passer à l'étape suivante.
En tant que dernière étape, nous voulons interroger une API simple qui renvoie les faits CAT. Pour ce faire, j'utilise le point de terminaison de l'API suivant: https://www.php.cn/link/2c5baeed3fd870447056fc00bf792427 .
Ce point de terminaison de l'API renvoie les faits et la durée des faits.
<code>{ "fact": "Smuggling a cat out of ancient Egypt was punishable by death. Phoenician traders eventually succeeded in smuggling felines, which they sold to rich people in Athens and other important cities.", "length": 192 }</code>
Étant donné que le package HTTPS est intégré à Node.js, nous pouvons l'utiliser dans notre code pour récupérer les données de l'API. C'est comment nous le faisons:
Le code réel peut être trouvé ici:
<code class="language-javascript">const https = require('https'); const httpGet = () => { return new Promise(((resolve, reject) => { var options = { host: 'catfact.ninja', port: 443, path: '/fact', method: 'GET', }; const request = https.request(options, (response) => { response.setEncoding('utf8'); let returnData = ''; response.on('data', (chunk) => { returnData += chunk; }); response.on('end', () => { resolve(JSON.parse(returnData)); }); response.on('error', (error) => { reject(error); }); }); request.end(); })); }</code>
Maintenant que nous avons la méthode d'assistance prête, nous pouvons l'ajouter à GetFactIntentHandler. Notez que comme nous voulons utiliser Await pour la demande, nous devons faire de la fonction de poignée une fonction asynchrone. De plus, nous appelons la fonction HTTPGET pour obtenir la réponse de FACT CAT et attribuer Response.fact à la variable SpeakOutput. Ensuite, la variable Speakoutput est transmise à la commande Speak, qui est utilisée par Alexa:
<code class="language-javascript">const GetFactIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'GetFactIntent'; }, async handle(handlerInput) { // const speakOutput = 'I will tell a fact!'; const response = await httpGet(); const speakOutput = response.fact; return handlerInput.responseBuilder .speak(speakOutput) //.reprompt('add a reprompt if you want to keep the session open for the user to respond') .getResponse(); } };</code>
Nous sommes prêts à modifier le code. Enregistrez à nouveau le code et cliquez sur le bouton Déployer.
En tant qu'étape finale, vérifions que la compétence obtient le fait du chat aléatoire de l'API. Encore une fois, allons à l'onglet Tests.
Activez la compétence en appelant "Open Cat Facts". Ensuite, vous pouvez demander «dire la vérité». Si tout se passe bien, vous devriez recevoir un fait en réponse.
Succès!
Pour tester vos compétences personnalisées sur les appareils compatibles Alexa, vous devez enregistrer votre appareil Alexa sous la même adresse e-mail que votre compte de développeur Amazon.
Plus d'informations peuvent être trouvées dans la documentation Alexa:
pour tester avec un appareil compatible Alexa, tel qu'Amazon Echo, enregistrez l'appareil avec la même adresse e-mail que vous avez utilisée pour enregistrer un compte de développeur sur le portail de développeur Amazon. Vous pouvez ensuite appeler votre compétence en utilisant le mot de réveil et votre nom d'appel: "Alexa, ouvrir & lt; Nom d'appel & gt;"
Si votre appareil utilise un compte autre que votre compte de développeur pour la configuration, réinitialisez l'appareil et réinscrivez-vous avec votre compte de développeur.
Comprendre les bases
Ce n'est que le début des compétences de construction avec Alexa. Des exemples plus avancés sont possibles, tels que le passage des paramètres (options) à l'aide de l'intention. De nombreux autres types de compétences peuvent également être développés, tels que des compétences pour contrôler les appareils de maison intelligents.
Si vous voulez en savoir plus sur le développement des compétences Alexa, trouvez les ressources suivantes:
FAQ sur Amazon Alexa Skill (FAQ)
Créer des compétences Alexa pour votre site Web implique plusieurs étapes. Tout d'abord, vous devez créer un compte Amazon Developer. Une fois que vous avez un compte, accédez à la console du développeur de kit Alexa Skills et cliquez sur Créer des compétences. Vous devez donner un nom à vos compétences et sélectionner un modèle pour ajouter à vos compétences. Après cela, vous devez créer un modèle interactif pour vos compétences, y compris les intentions, les créneaux et les échantillons de discours. Après avoir construit le modèle interactif, vous pouvez continuer à tester vos compétences dans la console du développeur avant de publier.
Les compétences Alexa contiennent plusieurs composants clés. Il s'agit notamment des noms d'appels (le nom que l'utilisateur utilise pour activer vos compétences), l'intention (représente une action qui satisfait la demande de l'utilisateur), les machines à sous (variables qui agissent comme des espaces réservés pour la saisie de l'utilisateur) et des exemples de discours (les utilisateurs peuvent utiliser pour interagir avec avec votre phrase de compétence). Chacun de ces composants joue un rôle crucial dans le fonctionnement de vos compétences et interagit avec les utilisateurs.
Tester vos compétences Alexa est une partie importante du processus de développement. Vous pouvez tester vos compétences dans la console du développeur Alexa Skills Kit. Accédez simplement à l'onglet Tests dans la console pour commencer à tester vos compétences. Vous pouvez taper ou parler des phrases pour voir comment vos compétences réagissent, et vous pouvez également tester plusieurs cycles de conversations pour voir comment vos compétences gèrent les interactions en cours.
Après avoir créé et testé les compétences d'Alexa, vous pouvez la soumettre dans la console du développeur de kit Alexa Skills pour la certification. Avant de soumettre vos compétences, assurez-vous que vous avez terminé toutes les étapes nécessaires du processus de développement, y compris la mise en place des métadonnées de vos compétences et le test approfondi de vos compétences. Après avoir soumis les compétences, il passera par le processus de révision avant qu'il ne puisse être publié.
Le langage de présentation Alexa (APL) est une langue qui permet aux développeurs de créer des expériences visuelles et audio pour les compétences Alexa. Avec APL, vous pouvez concevoir des écrans riches et interactifs pour les appareils avec des écrans et créer des réponses audio pour les appareils sans écrans. APL est un outil puissant pour améliorer l'expérience utilisateur des compétences d'Alexa.
Pour utiliser APL dans vos compétences Alexa, vous devez inclure des instructions APL dans la réponse de la compétence. Ces instructions définissent les composants visuels et audio de la réponse. Vous pouvez concevoir votre document APL à l'aide de l'outil de création APL dans la console de développeur Alexa Skills Kit, qui fournit une interface visuelle pour la création et la prévisualisation des conceptions.
L'API Web Alexa pour le jeu est un ensemble de technologies Web qui permettent aux développeurs de créer des expériences de jeu visuellement riches et interactives pour les appareils Alexa avec des écrans. En utilisant l'API Web Alexa pour le jeu, vous pouvez utiliser des technologies Web standard telles que HTML, CSS et JavaScript pour créer votre expérience de jeu.
Pour utiliser l'API Web Alexa pour le jeu dans vos compétences Alexa, vous devez inclure l'interface Alexa Web API pour le jeu dans votre liste de compétences. Vous pouvez ensuite démarrer une session d'application Web à l'aide de la directive Alexa.Presentation.html.Start et vous pouvez utiliser la directive Alexa.Presentation.html.HandleMessage pour traiter les messages à partir de votre application Web.
Alexa Skills Kit (ASK) est une collection d'API, outils, documentation et exemples de code en libre-service qui vous permettent de développer plus facilement les compétences pour Alexa. Avec Ask, vous pouvez profiter des connaissances d'Amazon et du travail révolutionnaire dans le domaine de la conception de la voix.
Vous pouvez développer vos compétences Alexa en utilisant le kit Alexa Skills (Ask) en tirant parti de ses différentes fonctionnalités et outils. Ask fournit une gamme de ressources, notamment le SDK Ask, la CLI Ask, la console de développeur Ask et la documentation ASK. Ces ressources fournissent un ensemble complet d'outils pour construire, tester et publier vos compétences Alexa.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!