Tutorial - So erstellst Du in 15 Minuten Deinen eigenen Alexa Skill

Dirk Wieczorek Sprachassistenten

Tutorial - So erstellst Du in 15 Minuten Deinen eigenen Alexa Skill

Mit dem Computer zu sprechen macht viel Spaß und erleichtert das Leben. Wenn Du Deinen eigenen Skill für Alexa erstellen willst, zeigen wir dir hier in 15 Minuten, wie das geht. Wir schauen Kevin bei der Erstellung eines einfachen Frage-Antwort-Skills über die Schulter! Schritt für Schritt lernst Du hier, wie Du deinen eigenen ersten Skill erstellst.

 

Ein Sprachassistent für Alexa zu erstellen geht einfach. Für diese Anleitung sollte man sich mindestens 15 Minuten Zeit nehmen. Hilfreich ist auch das verlinkte Video.

Developer Account anlegen

Um mit Alexa arbeiten zu können, benötigt man zunächst einen Amazon Developer Account. Die Registrierung ist kostenlos möglich unter

https://developer.amazon.com/de/alexa

Hier einfach oben rechts auf "Anmelden" und dann weiter auf "Erstellen Sie Ihr Konto". Sobald das Konto erstellt ist, landet man hier:

In dieser Ansicht unter dem Reiter "Alexa" den Punkt "Alexa Skill Kit" auswählen.

Und auf der folgenden Seite dann "Create Skill" anklicken.

Nun geben wir unserem Skill einen Namen. Wir wählen "Heizungsberater". Außerdem wählen wir hier einen Custom Skill aus. Da wir auch keinen eigenen Server betreiben wollen, um auf Anfragen von Alexa zu reagieren, nutzen wir einen Dienst von Amazon. Dafür wählen wir Alexa-Hosted. Im Anschluss klicken wir auf "Create Skill". Nun dauert es etwas bis die Modelle im Hintergrund angelegt und der Rahmen für den Skill geschaffen wurde.

Fertig. Jetzt kann es losgehen.

Zunächst einmal könnten wir nun noch den Invocation Namen ändern. Das ist der Name, mit dem der Skill später aufgerufen werden kann. Also mit "Alexa, starte Heizungsberater". Für die Bezeichnung hat Alexa aber einige Regeln aufgestellt. Diese findest Du hier: https://developer.amazon.com/de/docs/custom-skills/choose-the-invocation-name-for-a-custom-skill.html

 

Als nächsten wählen wir "Intents" aus. Wir klicken auf das kleine "Add". Ein Intent kann eine Frage an Alexa sein oder auch ein Befehl. Der Name, den wir unserem Intent geben wird, nur für interne Zwecke verwendet. Er muss eindeutig sein, damit wir diesen, wie eine Funktion in der weiteren Entwicklung verwenden können. Unseren ersten Intent nennen wir "GetHeaterOverview".

Als nächsten erstellen wir für unseren Intent Phrasen (utterances), mit denen dieser Intent ausgelöst werden soll. z.B. "Gib mir einen Überblick über Heizungsanlagen" oder "Was für Heizungsanlagen gibt es" und so weiter. Damit Alexa möglichst gut erkennt, dass der Intent ausgelöst werden soll, sind 30 Varianten erforderlich. Grundsätzlich gilt: je mehr desto besser.

Im Anschluss legen wir noch beliebig viele weitere Intens an. Zum Beispiel: "getDistrictHeatingInformation" und "getHeatPumpInformation". Je mehr Intents Du anlegst, umso mehr Fragen kann Alexa am Ende beantworten. 

Jetzt müssen wir uns erstmal um die Verarbeitung der Daten kümmern. Dazu gehen wir auf „Endpoints“. Das ist der Ansprechpartner, an den die Daten gesendet werden, die Alexa verarbeitet.

Wir verwenden für dieses Beispiel die Alexa Lamda Services. Auch hier ist vorher eine Registrierung erforderlich. Hierzu muss man zur Accounterstellung erst auf "Bei der Konsole anmelden" klicken und dann auf "Neuen Account erstellen" gehen.

Dazu wechseln wir auf die Amazon Services Management Konsole.

https://aws.amazon.com/de/developer/

 

Hier nun als Region EU(irland) auswählen

Dann im Suchfeld nach "Lamda" suchen.

Hier dann einen "neue Funktion erstellen" auswählen. 

Wir wählen hier eine Vorlage aus "Serverloses App-Repository durchsuchen" aus.

Und dann „alex-skills-lit-nodejs-factskill“ also Vorlage auswählen. Hier ist es eigentlich egal, welche Vorlage wir auswählen, so lange es sich um eine Alexa Skills Kit Vorlage handelt. 

Innerhalb des Templates selber müssen wir nicht viel anpassen.

Hier passen wir lediglich den "Applicaion Name" an. Wir ändern das Ende des Namens auf Heizungsberater. Im Anschluss klicken wir auf „deploy“. Das Deployment kann etwas Zeit in Anspruch nehmen.

Es kann etwas dauern, bis alle Funktionen bereitstehen.

Wir wechseln nun über die Seitenleiste auf „Funktionen“.

Hier wählen wir unsere Funktion aus.

Und sehen auf dem folgenden Bildschirm unseren Alexa Skill Kit. Dort können wir einen neuen Auslöser hinzufügen.

Der Auslöser entscheidet darüber, was unsere Funktion auslösen wird/kann.

Wir wählen das Alexa Skill Kit.

Jetzt können wir uns an den Code machen…

Zunächst einmal können wir den ganzen vorgegebenen Code löschen. Wir nutzen gleich den Alexa Skill Code Generator. Dieser erstellt auf Basis unserer Modelle automatisch vorgefertigten Code.

Dazu gehen wir zurück auf die Alea Developer Console. Dort wählen wir unter Interaction Model den Punkt JSON Editor aus.

Hier sehen wir dann unser Modell von den von uns angelegten Intents. Diesen Code kopieren wir.

und fügen ihn in den Alexa Skill Code Generator ein.

Der im rechten Feld erstellte Code wird markiert und kopiert.

Diesen Code fügen wir nun in unserem Lamda Service ein und können diesen später noch anpassen.

Das Ganze speichern wir.

Die Funktion, die wir im AWS erstellt haben, ist unser neuer Endpunkt. Den Link findet ihr oben rechts. Es fängt an mit ARN. Mit der Kopierfunktion, diesen Link kopieren.

Dann wieder in die Alexa Developer Console wechseln. Unter Endpoint diesen Link in der "Default Region" einfügen und speichern.

Wir wechseln wieder in den AWS. In unserer Funktion wollen wir noch etwas Text im Code anpassen. Hierzu suchen wir die Funktion "LaunchRequestHandler" und ändern die Begrüßung unseren Wünschen entsprechend an.

Wir wollen "Herzlich Willkommen beim Heizungsberater" als Begrüßung. Im Anschluss speichern wir und gehen dann zurück in die Alexa Developer Console.

Unter "Test" geben wir das Startkommando für unseren Skill ein. Grundsätzlich funktioniert das auch mit einem Mikrofon, wenn dieses korrekt angeschlossen ist. Wir schreiben aber einfach "Starte Heizungsberater".

Wenn jetzt alles richtig gelaufen ist dann antwortet Alexa mit "Herzlich Willkommen beim Heizungsberater". Auf diese Weise können wir auch unsere anderen Intents ausprobieren.

Mit der Frage nach dem Heizungssystemen schließen wir unser Tutorial ab.

Wenn ich den Skill auf meiner eigenen Alexa testen möchte geht das natürlich auch. Dazu muss man seine Alexa mit dem eigenen Konto verbinden (siehe Tutorial). Sobald diese verbunden ist, funktioniert das automatisch. Einfach das Mikro bei Alexa einschalten und den Skill per Sprache starten.

Fertig ist Dein persönlicher Alexa Skill.