Heim >Technologie-Peripheriegeräte >IT Industrie >So bauen Sie Ihre erste Amazon Alexa -Fähigkeit auf
Schlüsselpunkte
Alexa unterstützt nativ viele integrierte Fähigkeiten wie das Hinzufügen von Artikeln zu Ihrer Einkaufsliste oder das Anfragen von Songs. Entwickler können jedoch das Alexa Skill Kit (ASK) verwenden, um neue benutzerdefinierte Fähigkeiten zu erstellen.
Ask ist eine Sammlung von APIs und Tools, die den größten Teil der Arbeiten zur Sprachschnittstelle übernehmen, einschließlich Spracherkennung, Codierung von Text-zu-Sprache und Verarbeitung natürlicher Sprache. Ask hilft Entwicklern, schnell und einfach Fähigkeiten aufzubauen.
Kurz gesagt, der einzige Grund, warum Alexa Benutzer Sprachbefehle verstehen kann, ist, dass es Fähigkeiten definiert. Jede Alexa -Fertigkeit ist Software, die zum Verständnis von Sprachbefehlen entwickelt wurde. Zusätzlich hat jede Alexa -Fähigkeit eine eigene definierte Logik, die die entsprechende Antwort für Sprachbefehle erstellt. Um Ihnen einige vorhandene Alexa -Fähigkeiten zu geben, umfassen sie:
Wie oben erwähnt, können wir das Alexa Skill -Kit verwenden, um benutzerdefinierte Fähigkeiten zu entwickeln, die unseren Anforderungen entsprechen, einer Sammlung von APIs und Tools, die für diesen Zweck entwickelt wurden. Fragen Sie die Einbeziehung von Tools wie Spracherkennung, Text-zu-Sprach-Codierung und Verarbeitung natürlicher Sprache. Das Toolkit sollte es jedem Entwickler ermöglichen, schnell seine eigenen benutzerdefinierten Fähigkeiten zu entwickeln.
In diesem Artikel lernen Sie, wie Sie eine grundlegende "Get Facts" -Alexa -Fähigkeit erstellen. Kurz gesagt, wir können Alexa bitten, uns eine zufällige Katze zu zeigen. Der vollständige Code zum Ausfüllen der Aufgabe finden Sie in GitHub. Bevor wir anfangen, stellen wir sicher, dass wir die Alexa -Skill -Terminologie verstehen.
Master Alexa Skill Terminology
Erstens erfahren wir, wie Benutzer mit benutzerdefinierten Fähigkeiten interagieren. Dies ist sehr wichtig, um verschiedene Konzepte im Zusammenhang mit Fähigkeiten zu verstehen.
Um eine bestimmte Fähigkeit zu aktivieren, muss der Benutzer Alexa anrufen und bitten, die Fähigkeit einzuschalten. Zum Beispiel: "Alexa, öffnen Sie die Katzenfakten". Auf diese Weise nennen wir den Anrufnamen der Fähigkeit. Grundsätzlich kann der Anrufname als Name der Anwendung angesehen werden.
Jetzt, da wir die richtigen Fähigkeiten aktiviert haben, können wir auf die Sprachabsichten/Befehle zugreifen, die die Fähigkeiten verstehen. Da wir es einfach halten wollen, definieren wir eine "Get Cat -Fakten" -Dehnung. Wir müssen jedoch Beispielsätze bereitstellen, um die Absicht auszulösen. Eine Absicht kann durch viele Beispielsätze ausgelöst werden, auch als Diskurs bezeichnet. Zum Beispiel könnte der Benutzer "Angesichts einer Tatsache" sagen. Daher definieren wir die folgenden Beispielsätze:
Sie können den Anrufnamen sogar mit der Absicht kombinieren, wie folgt: "Alexa, bitten Sie die Katzenfakten, die Fakten zu geben".
Jetzt, da wir den Unterschied zwischen Anrufnamen und Absicht kennen, lassen Sie uns Ihre erste Alexa -Fähigkeit erstellen.
Erstellen Sie ein Amazon -Entwicklerkonto
Erstens brauchen wir ein Amazon -Entwicklerkonto. Wenn Sie bereits einen haben, können Sie diesen Abschnitt überspringen.
Registrieren eines Amazon-Entwicklerkontos ist ein dreistufiger Prozess. Amazon benötigt einige persönliche Daten, akzeptiert die Nutzungsbedingungen und bietet Zahlungsmethoden an. Der Vorteil der Anmeldung für ein Amazon Developer -Konto besteht darin, dass Sie Zugriff auf eine große Anzahl anderer Amazon -Dienste haben. Nach erfolgreichem Abschluss der Registrierung sehen Sie das Amazon Developer Control Panel.
Melden Sie sich im Bedienfeld an und klicken Sie in der oberen rechten Ecke auf die Schaltfläche "Entwicklerkonsole".
Als nächstes möchten wir das Alexa Skills Kit eröffnen.
Wenn Sie das Alexa Skills Kit nicht öffnen können, verwenden Sie diesen Link.
Im nächsten Abschnitt werden wir unsere tatsächlichen Fähigkeiten erstellen.
Erstellen Sie unsere ersten benutzerdefinierten Alexa -Fähigkeiten
Okay, wir sind bereit, unsere erste benutzerdefinierte Alexa -Fähigkeit zu erstellen. Klicken Sie auf die blaue Schaltfläche "Fähigkeiten erstellen", um das Menü zum Erstellen neuer Fähigkeiten zu öffnen.
Erstens fordert es uns auf, den Namen der Fähigkeiten einzugeben. Wie Sie bereits wissen, möchten wir zufällige Katzenfakten, daher nennen wir die Fähigkeit "benutzerdefinierte Katzenfakten" (wir können keine "Katzenfakten" verwenden, da dies eine integrierte Fähigkeit für Alexa-Geräte ist). Als nächstes fordert es uns auf, ein Modell für Ihre Fähigkeiten auszuwählen. Wir können einige vordefinierte Modelle auswählen oder ein benutzerdefiniertes Modell auswählen, das uns vollständige Flexibilität bietet. Da wir uns nicht mit unerwünschtem Code befassen wollen, wählen wir die Option "benutzerdefinierte" aus.
*Hinweis: Wenn Sie eine vordefinierte Fähigkeit auswählen, erhalten Sie eine Liste von Interaktionsmodellen und Beispielsätzen (Diskurse). Sogar benutzerdefinierte Fähigkeiten sind jedoch mit den grundlegendsten Absichten wie Stornierung, Hilfe, Navigieren auf der Homepage und dem Stoppen ausgestattet.
Als nächstes müssen wir einen Weg wählen, um unsere Fähigkeiten zu hosten. Auch hier möchten wir die Option "Alexa Hosting (Node.js)) nicht überkomplizieren. Dies bedeutet, dass wir das Backend nicht selbst laufen müssen, was einige Anstrengungen erfordert, um es "Alexa konform" zu machen. Dies bedeutet, dass Sie die Antwort nach Amazon Alexa -Standards formatieren müssen, damit das Gerät dies verstehen kann. Die Alexa -Hosting -Option wird:
Hostingfähigkeiten in Ihrem Konto, bis die AWS -freie Stufe begrenzt ist und Sie mit der Node.js -Vorlage beginnen. Sie haben Zugriff auf AWS -Lambda -Endpunkte, 5 GB Medienspeicher (15 GB Datenübertragung pro Monat) und Tabellen für die Sitzung Persistenz.
OK, jetzt sind alle Einstellungen vorhanden. Klicken Sie in der oberen rechten Ecke des Bildschirms auf die Schaltfläche Skering Skill erstellen. Diese Schaltfläche erzeugt in unserem Amazon -Entwicklerkonto tatsächliche Fähigkeiten.
Ändern Sie Ihre erste Alexa -Fähigkeit
Wenn Sie jetzt zur Alexa Developer -Konsole navigieren, werden Sie feststellen, dass Ihre Fähigkeiten dort aufgeführt sind. Klicken Sie auf die Schaltfläche Bearbeiten, um die Fähigkeiten zu ändern.
Als nächstes wird Amazon die Registerkarte "BUST" der Fähigkeiten "Katzenfakten" angestellt. Links finden Sie eine Liste von Absichten, die für die Fähigkeit definiert sind. Wie bereits erwähnt, generiert das Alexa Skills Kit standardmäßig eine Abbrechen, Stopp, Hilfe und navigieren zur Startseite. Die ersten drei sind hilfreich für Benutzer, die ihre Fähigkeiten kündigen oder nicht wissen, wie sie sie verwenden sollen. Die letzte "Navigation zu Hause" ist für komplexe Fähigkeiten, die nur mehrere Schritte beinhalten.
Überprüfen Sie zunächst, dass der Anrufname der Fähigkeit korrekt ist. Der Name sollte als "benutzerdefinierte Katzenfakten" angezeigt werden.
Wenn Sie den Namen ändern, klicken Sie oben auf der Seite auf die Schaltfläche "Modell speichern".
Zweiten Schritt möchten wir die Standardabsicht "helloWorldintent" ändern.
Klicken Sie auf die Absicht und wir erhalten eine schöne grafische Schnittstelle, mit der wir den Absichtsnamen ändern oder Beispieldiskurs hinzufügen können.
Ich persönlich bevorzuge es mit dem JSON -Editor, den Sie im Menü links finden. Wenn Sie den JSON -Editor öffnen, sehen Sie das folgende JSON -Objekt.
Der Vorteil des JSON -Editors besteht darin, dass Sie alle Absichten gleichzeitig ändern können. Lassen Sie uns zunächst eine neue Absicht namens "getFactintent" hinzufügen.
Als nächstes möchten wir einige Beispieldiskurse hinzufügen, wie im Bild unten gezeigt.
Nach dem Ändern sollte Ihr JSON -Objekt so aussehen. Derzeit möchten wir den Probendiskurs für andere Absichten nicht definieren. Das Alexa Skills Kit verknüpft den Hilfssatz standardmäßig mit "Helpintent".
Hinweis: Vergessen Sie nicht, auf die Schaltfläche "Modell speichern" zu klicken und dann auf die Schaltfläche "Modell erstellen" klicken. Alexa baut im Grunde das Modell auf und trainiert sich basierend auf dem Modell, das Sie mit dem Beispieldiskurs definieren.
Gehen wir im horizontalen Menü zur Registerkarte Test. Wechseln Sie nun den "Skill-Test bereits" Dropdown-Menü auf "Entwicklung". Auf diese Weise können wir unsere Fähigkeiten testen.
Versuchen wir derzeit, die Fähigkeiten zu aktivieren, um festzustellen, ob alles korrekt ist. Wir können die Fähigkeit aktivieren, indem wir den Anrufnamen aufrufen, wie in der folgenden Abbildung gezeigt.
Als nächstes tauchen wir in die Registerkarte Code ein. Wenn Sie auf die Registerkarte Code klicken, erhalten Sie mit dem Standardcode einen Online -Editor.
Erstens möchten wir den Code von HelloWorDintentHandler kopieren und in GetFactintentHandler umbenennen.
Nachmüssen wir angeben, welche Art von Absicht dieser Handler verarbeiten kann. Zeile 21 sucht nach einer Absicht namens GetFactintent.
Jetzt, da wir die Absicht gefunden haben, definieren wir eine statische Antwort: "Ich werde eine Tatsache sagen!"
Schließlich müssen wir den anderen Anforderungshandlern den GetFactintentHandler hinzufügen. Wir können es einfach zur Funktion von addRequestHandlern hinzufügen. Vergessen Sie nicht, die Absicht zu retten und aufzubauen!
Jetzt, da die Fähigkeit gerettet und gebaut wurde, überprüfen wir kurz die Antwort. Wenn wir die Fähigkeit bitten, die Fakten zu sagen, sollte es antworten: „Ich werde eine Tatsache sagen!“
Wenn alles korrekt ist, können Sie zum nächsten Schritt übergehen.
Als letzter Schritt möchten wir eine einfache API abfragen, die Katzenfakten zurückgibt. Dazu verwende ich den folgenden API -Endpunkt: https://www.php.cn/link/2c5baeed3fd870447056fc00bf792427 .
Dieser API -Endpunkt gibt die Fakten und die Länge der Fakten zurück.
<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>
Da das HTTPS -Paket für node.js integriert ist, können wir es in unserem Code verwenden, um Daten aus der API abzurufen. So machen wir es:
Der tatsächliche Code finden Sie hier:
<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>
Jetzt, da wir die Helfer -Methode bereit haben, können wir sie dem GetFactintentHandler hinzufügen. Beachten Sie, dass wir die Handlungsfunktion zu einer asynchronen Funktion machen müssen, da wir für die Anfrage erwartet werden möchten. Darüber hinaus nennen wir die HTTPGE -Funktion, um die Reaktion der Katzenfakte zu erhalten und der SpeakOutput -Variable zu verweisen. Als nächstes wird die Speakoutput -Variable an den Speak -Befehl übergeben, der von Alexa verwendet wird:
<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>
Wir sind bereit, den Code zu ändern. Speichern Sie den Code erneut und klicken Sie auf die Schaltfläche Bereitstellung.
als letzter Schritt überprüfen wir, ob die Fertigkeit die zufällige Katzenfaktor aus der API erhält. Gehen wir erneut auf die Registerkarte Tests.
Aktivieren Sie die Fähigkeit, indem Sie "offene Katzenfakten" nennen. Als nächstes können Sie nach "Sagen Sie die Wahrheit". Wenn alles gut geht, sollten Sie eine Tatsache als Antwort erhalten.
Erfolg!
Um Ihre benutzerdefinierten Fähigkeiten auf Alexa-fähigen Geräten zu testen, müssen Sie Ihr Alexa-Gerät unter derselben E-Mail-Adresse wie Ihr Amazon Developer-Konto registrieren.
Weitere Informationen finden Sie in der Alexa -Dokumentation:
Um mit einem Alexa-fähigen Gerät wie Amazon Echo zu testen, registrieren Sie das Gerät mit derselben E-Mail-Adresse, mit der Sie ein Entwicklerkonto im Amazon-Entwicklerportal registriert haben. Sie können dann Ihre Fähigkeiten mit dem Wake Word und Ihrem Anrufnamen anrufen: "Alexa, öffnen & lt; nennen Sie den Namen & gt;."
Wenn Ihr Gerät ein anderes Konto als Ihr Entwicklerkonto zum Einrichten verwendet, das Gerät zurücksetzen und mit Ihrem Entwicklerkonto erneut registriert.
Verständnis der Grundlagen
Dies ist nur der Beginn des Aufbaus mit Alexa. Erweiterte Beispiele sind möglich, z. B. die Übergabe von Parametern (Optionen) unter Verwendung der Absicht. Es können auch viele andere Arten von Fähigkeiten entwickelt werden, wie z. B. Fähigkeiten zur Kontrolle von Smart -Home -Geräten.
Wenn Sie mehr über die Entwicklung von Alexa Skill erfahren möchten, finden Sie die folgenden Ressourcen:
FAQs über Amazon Alexa Skill (FAQ)
Erstellen von Alexa -Fähigkeiten für Ihre Website beinhaltet mehrere Schritte. Zunächst müssen Sie ein Amazon Developer -Konto einrichten. Sobald Sie ein Konto haben, navigieren Sie zum Alexa Skills Kit Developer Console und klicken Sie auf Erstellen von Fähigkeiten. Sie müssen Ihrer Fähigkeit einen Namen geben und ein Modell auswählen, das Sie zu Ihrer Fähigkeit hinzufügen können. Danach müssen Sie ein interaktives Modell für Ihre Fähigkeiten erstellen, einschließlich Absichten, Slots und Beispieldiskurs. Nach dem Aufbau des interaktiven Modells können Sie Ihre Fähigkeiten vor der Veröffentlichung weiterhin in der Entwicklerkonsole testen.
Alexa -Fähigkeiten enthalten mehrere Schlüsselkomponenten. Dazu gehören Anrufnamen (der Name, der der Benutzer verwendet, um Ihre Fähigkeiten zu aktivieren), Absicht (repräsentiert eine Aktion, die die Anforderung des Benutzers erfüllt), Slots (Variablen, die als Platzhalter für Benutzereingaben fungieren) und Beispieldiskurse (Benutzer können mit der Interaktion mit der Interaktion mit der Interaktion verwendet werden Ihre Fähigkeiten). Jede dieser Komponenten spielt eine entscheidende Rolle bei der Funktionsweise Ihrer Fähigkeiten und interagiert mit Benutzern.
Testen Ihrer Alexa -Fähigkeiten ist ein wichtiger Bestandteil des Entwicklungsprozesses. Sie können Ihre Fähigkeiten in der Alexa Skills Kit Developer Console testen. Navigieren Sie einfach zur Registerkarte Tests in der Konsole, um Ihre Fähigkeiten zu testen. Sie können Phrasen eingeben oder sprechen, um zu sehen, wie Ihre Fähigkeiten reagieren, und auch mehrere Gespräche testen, um zu sehen, wie Ihre Fähigkeiten mit den laufenden Interaktionen umgehen.
Nachdem Sie Alexa -Fähigkeiten erstellt und getestet haben, können Sie es in der Alexa Skills Kit Developer Console zur Zertifizierung einreichen. Stellen Sie vor der Einreichung Ihrer Fähigkeiten sicher, dass Sie alle erforderlichen Schritte im Entwicklungsprozess ausgeführt haben, einschließlich der Einrichtung der Metadaten Ihrer Fähigkeiten und der gründlichen Prüfung Ihrer Fähigkeiten. Nach der Übermittlung der Fähigkeiten wird der Überprüfungsprozess durchgeführt, bevor er veröffentlicht werden kann.
Alexa Presentation Language (APL) ist eine Sprache, mit der Entwickler visuelle und Audioerlebnisse für Alexa -Fähigkeiten erstellen können. Mit APL können Sie reichhaltige, interaktive Anzeigen für Geräte mit Bildschirmen entwerfen und Audioantworten für Geräte ohne Bildschirme erstellen. APL ist ein leistungsstarkes Tool, um die Benutzererfahrung von Alexa -Fähigkeiten zu verbessern.
Um APL in Ihren Alexa -Fähigkeiten zu verwenden, müssen Sie APL -Anweisungen in die Reaktion der Fertigkeit aufnehmen. Diese Anweisungen definieren die visuellen und Audiokomponenten der Antwort. Sie können Ihr APL -Dokument mit dem APL -Authoring -Tool in der Alexa Skills Kit Developer Console entwerfen, die eine visuelle Schnittstelle zum Erstellen und Vorschau von Designs bietet.
Die Alexa -Web -API für Gaming ist eine Reihe von Web -Technologien, mit denen Entwickler visuell reiche und interaktive Spielerlebnisse für Alexa -Geräte mit Bildschirmen erstellen können. Mit der Alexa Web API für Spiele können Sie Standard -Web -Technologien wie HTML, CSS und JavaScript verwenden, um Ihr Spielerlebnis zu erstellen.
Um die Alexa -Web -API für Spiele in Ihren Alexa -Fähigkeiten zu spielen, müssen Sie die Alexa Web API -Oberfläche für Spiele in Ihre Skills -Liste aufnehmen. Anschließend können Sie eine Webanwendungssitzung mit der Anweisung von Alexa.Presentation.html.start starten und die Anweisung Alexa.Presentation.html.handlemessage verwenden, um Nachrichten aus Ihrer Webanwendung zu verarbeiten.
Alexa Skills Kit (ASK) ist eine Sammlung von Self-Service-APIs, Tools, Dokumentation und Code-Beispielen, die es Ihnen erleichtern, Fähigkeiten für Alexa zu erstellen. Mit Ask können Sie das Wissen und die bahnbrechende Arbeit von Amazon im Bereich des Sprachdesigns nutzen.
Sie können Ihre Alexa -Fähigkeiten mit dem Alexa Skills Kit (ASK) erstellen, indem Sie seine verschiedenen Funktionen und Werkzeuge nutzen. Ask bietet eine Reihe von Ressourcen, einschließlich des Ask SDK, der Ask CLI, der Ask Developer Console und der Ask -Dokumentation. Diese Ressourcen bieten eine umfassende Reihe von Tools, um Ihre Alexa -Fähigkeiten zu erstellen, zu testen und zu veröffentlichen.
Das obige ist der detaillierte Inhalt vonSo bauen Sie Ihre erste Amazon Alexa -Fähigkeit auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!