Tipp: Google Sprach-Suche mit Amazon Alexa und Echo Dot benutzen

Tipp: Google Sprach-Suche mit Amazon Alexa und Echo Dot benutzen

4693
12
Teilen

Amazon Echo bzw. Alexa verwendet Bing, um Suchanfragen zu bearbeiten. Mit Wissensfragen bzw. Trivia Facts kommt Alexa im Augenblick aber leider noch nicht so gut zurecht. Normalerweise würde ich erwarten, dass sie, wenn sie etwas nicht weiß, einfach aus Wikipedia o.ä. zitiert. So macht das Google ja schon ewig. Wir zeigen dir in diesem Artikel, wie du Alexa beibringen kannst, Google zu fragen.


Auf GitHub hat sich tartanguru die Mühe gemacht und ein Projekt erstellt, mit dem es möglich ist, die Google Suche für Amazon Echo nutzbar zu machen. Wir zeigen dir hier nun Step by Step, wie du dafür vorgehen musst:

GitHub & Amazon Web Services

Als Erstes lädst du dir das Projekt alexa-google-search von GitHub über den Button „clone or download“ als Zip-Archiv herunter und entpackst es auf deinem PC. Anschließend gehst du auf die Webseite Amazon Web Services und erstellst dir ein neues AWS-Konto. Wundere dich nicht, dass du hier deine Kreditkarte hinterlegen musst. Du registrierst dich nur für den Basic Support Plan und dieser ist für dich vollkommen kostenlos. Es muss hier allerdings eine gültige Zahlungsinformation hinterlegt sein, falls du einen der anderen Support Plans (Developer, Business, Enterprise) verwenden möchtest.

Hast du die Registrierung erfolgreich abgeschlossen meldest du dich in der Konsole an und gibst oben in der Suche „lambda“ ein.

Als Suchbegriff gibst du lambda bei Amazon Web Services ein.

Auf der darauf folgenden Seite, der Lambda Management Console, klickst du auf „Get started now“ und wählst dort links im Menü „Configure trigger“ aus.

Die Lambda Management Console.

Um den Alexa-Dienst im nächsten Schritt auswählen zu können, musst du allerdings erst noch deinen Standort bzw. deine Region ändern. Dazu klickst du rechts oben auf das DropDown-Menü in der Ecke und wählst hier als Region EU (Irland) aus.

Wechsle die Region in EU (Irland).

Anschließend wählst du, indem du (neben dem Lambda-Symbol) auf das Rechteck mit den abgerundeten Ecken anklickst, den „Alexa Skills Kit“ aus und klickst weiter auf den Button Next.

Wähle das Alexa Skills Kit aus.

Im nächsten Schritt vergibst du einen Namen für diese Funktion. Wir haben sie GoogleSearch genannt.

Gib der Funktion einen Namen.

Unter dem Punkt „Lambda function code“ ist es nun auch soweit die aus GitHub heruntergeladene Zip-Datei zu verwenden. Dazu wählst du in der Combobox den Punkt „Upload a .ZIP file“ aus.

Lade die Zip-Datei hoch.

Darunter, unter „Function package“, klickst du auf den Button Upload. Hier wählst du allerdings nicht die Zip-Datei aus, die wir heruntergeladen haben. Sondern du verwendest die Archive.zip, die du im Ordner „alexa-google-search-master/src/ findest.

Lade die Archive.zip hoch.

Weiter unten wählst du jetzt noch in der Combobox „Role“ die Option „Create a new role from template(s)“ aus und gibst den Namen „lambda_basic_execution“ ein.

Erstelle eine neue Rolle und gebe ihr den Namen lambda_basic_execution.

Unter „Advances Settings“ ist es nun noch wichtig den Timeout auf 10 Sekunden einzustellen, sonst wird die Verwendung der Google-Suche über Alexa nicht funktionieren.

Setze den Timeout auf 10 Sekunden.

Weiter geht es mit einem Klick auf Next und auf der nächsten Seite auf „Create function“.

Erzeuge die Funktion

Nach ca. 10 Sekunden wurde die Funktion erfolgreich angelegt. Nun ist es wichtig dir den Code, den du rechts oben in der Ecke findest, zu notieren bzw. ihn beispielsweise in Google Keep zwischenzuspeichern, da du ihn später benötigst.

Die Funktion wurde erfolgreich angelegt. Kopiere dir die Phrase rechts oben in der Ecke.

Amazon Developer

Als nächsten Schritt registrierst du dich auf der Seite Amazon Developer, meldest dich an und klickst oben im Tabreiter auf Alexa und dort unter „Alexa Skills Kit“ auf „Get started“.

Klicke im Tabreiter auf Alexa.

Im nächsten Fenster klickst du rechts oben auf den Button „Add a New Skill“ und stellst dann die Sprache auf Deutsch um. Als Name vergibst du hier „GoogleSearch“ und als „Invocation Name“ ebenfalls „google“. Allerdings muss der Name bei „Invocation Name“ kleingeschrieben sein. Bei der Option Audio Player muss der Radio-Button „No“ angeklickt sein. Anschließend klickst du auf Next.

Setze die Sprache und vergebe einen Namen.

Im nächsten Fenster angekommen kopierst du nun den nachfolgenden Code (diesen findest du auch auf der GitHub-Seite) und fügst ihn unter „Intent Schema“ ein.

{
"intents": [
{
"intent": "SearchIntent",
"slots": [
{
"name": "search",
"type": "SEARCH"
}
]

},
{
„intent“: „AMAZON.StopIntent“
}
]
}

Wir erzeugen einen neuen Intent-Filter.

Klicke jetzt auf den Button „Add Slot Type“ und vergib unter „Enter Type“ das Wort „SEARCH“. Dieses muss hier zwingend großgeschrieben sein. Unter „Enter values“ fügst du die folgenden beiden Zeilen ein (diese findest du ebenfalls auf der GitHub-Seite):

who is the queen
why is the sky blue

Weiter unten, unter dem Punkt „Sample Utterances“, fügst du nun nocheinmal folgende Zeile ein und klickst anschließend auf den Button Next.

SearchIntent {search}

Das Interaction Model wird jetzt noch eine Weile verarbeitet werden. Du kannst aber währenddessen an der Konfiguration weiter arbeiten. Unter dem nächsten Punkt „Configuration“ selektierst du „AWS Lambda ARN“, aktivierst darunter „Europe“ und gibst hier den Code ein, den du vorhin in Google Keep zwischengespeichert hast. Weiter geht es dann mittels Next zum nächsten Schritt.

Jetzt sind wir soweit unsere Funktion zu testen. Dazu musst du aber noch so lange warten, bis der Punkt „Interaction Model“ fertig abgearbeitet wurde. Ist dieser fertig klickst du auf den Button enable.

Weiter unten testet du deine Konfiguration, indem du z.B. eingibst, wer der Präsident der USA ist. War der Test erfolgreich klickst auf den Button Next.

Wer ist der Präsident der USA?

Im nächsten Fenster brauchst du keine Änderungen vorzunehmen und klickst hier auch wieder auf den Button Next. Diesen Schritt musst du dann noch einmal im Dialog mit „Save“ bestätigen. Nun klickst du unter „Privacy & Compliance“ noch überall „No“ an und akzeptierst die „Export Compliance“. Hast du das getan klickst du auf den Button „Save“.

Nun bist du auch schon im letzten Schritt angelangt. Gehe in deine Alexa-App, oder in das Alexa Portal, und klicke dort links im Menü auf Skills. Unter Skills lässt du dir deine eigenen Skills anzeigen, indem du rechts oben auf „Ihre Skills“ klickst. Hier kannst du nun einen Google Skill aktivieren.

Aktiviere deinen Google Search Skill.

Um nun deine Google-Suche zu verwenden sagst du einfach:

„Alexa: Frag Google“

und stellst danach deine Frage.

  • Raik Kaiser

    Bleibe an der Stelle „create function“ hängen. Da kommt immer als Fehlermeldung:

    „Role with name lambda_basic_execution already exists“
    Was mach ich falsch?

  • Hallo Raik,

    falls die Rolle „lambda_basic_execution“ bereits schon existiert, dann wähle in der Combobox darüber bitte „Use existing“ aus. Darunter kannst Du die Rolle dann auswählen.

    Falls es dann immer noch nicht funktioniert lösche die Funktion bitte noch einmal und versuche es erneut.

    Die Funktion kannst du wie folgt löschen:

    Klicke auf diesen Link:

    https://us-west-2.console.aws.amazon.com/lambda/home?region=us-west-2#/home

    und stelle Deine Region zuerst ganz rechts oben auf US (Ireland).

    Danach klickst Du auf Get Started und hier solltest Du die Option Functions sehen. Dort markierst Du Deine Funktion mittels des kleinen Kreises ganz links und über Actions oben drüber kannst Du sie wieder löschen.

    Beste Grüße

  • Udo Dehnert

    Hallo,
    leider eine Fehlermeldung bei Intent Schema in Zeile 10

    Parser erforderlich in line10
    …“search“}]
    ———————
    Expertin ,}‘,‘,‘, Gott ‚EOF‘

    Was läuft da falsch ?

  • Udo Dehnert

    Hallo,

    habe im Intent Schema in Zeile 10 eine Fehlermeldung.

    Parse erforderlich on linear 10

    Ich habe dort die Funktion reinkopiert, aber es läuft nicht

  • K79lle

    Woran könnte es liegen, dass der erstellte Skill bei mir nicht im Alexa Portal auftaucht?
    Obwohl ich alle Schritte durchgegangen bin, wird mir unter Developer auch der Status „Development“ angezeigt, obwohl die Entwicklung meiner Meinung nach ja bereits abgeschlossen sein sollte?!?
    Für Hilfe zur Problemlösung wäre ich sehr dankbar…

  • K79lle

    Ach ja: Sowohl bei AWS, als auch beu Developer habe ich die gleiche Mailadresse wie bei meinem Echo benutzt…

  • Der Status Development ist aber korrekt. Der wird bei mir auch angezeigt. Geh hier mal auf Edit. Dort sollten links im Menü überall grüne Häkchen sein. Außer bei Publishing Information. Dort ist das Häkchen bei mir grau.

    Funktioniert bei Dir der Test bei AWS?

  • Ich kann Dir leider auf Anhieb auch nicht sagen, wo da der Fehler ist. Kannst Du die Funktion bitte löschen und es noch einmal neu in der Developer Konsole versuchen?

  • K79lle

    Häkchen sind bei mir wie von Dir beschrieben und der Test bei AWS verläuft auch erfolgreich…

  • sesamsamen

    Hatte ich auch. Probier den hier, hat bei mir dann funktioniert.

    {
    „intents“: [
    {
    „intent“: „SearchIntent“,
    „slots“: [
    {
    „name“: „search“,
    „type“: „SEARCH“
    }
    ]

    },
    {
    „intent“: „AMAZON.StopIntent“
    }
    ]
    }{
    „intents“: [
    {
    „intent“: „SearchIntent“,
    „slots“: [
    {
    „name“: „search“,
    „type“: „SEARCH“
    }
    ]

    },
    {
    „intent“: „AMAZON.StopIntent“
    }
    ]
    }

  • sesamsamen

    Hat bis auf den Code für das Intent Schema super funktioniert. Intent Schema Code
    der bei mir funktioniert hat siehe unten. Kontext ist zwar leider wie beim echten
    Google Home nicht möglich, aber auch so ist Alexa nun um einiges schlauer. Vielen Dank für die tolle Anleitung !

  • Dieter de Mar

    Hallo!
    Habe eine Fehlermeldung bei Intent Schema in Zeile 17, wenn ich Deine Version eingebe. Gibt es noch eine andere Variante?