© Teguh Jati Prasetyo/Shutterstock.com
Entwicklung einer Node.js-Dialogflow-Anwendung

A little more Action, please!


Conversational Interfaces sind aktuell ein großes Thema. Das zu Recht – denn Sie können digitale Services verbessern und erweitern. In diesem Artikel teile ich meine Erfahrungen und Erkenntnisse aus der ersten Entwicklungsphase einer Action für den Google Assistant. Insbesondere auf den Entwicklungsworkflow, Tools sowie AssistantJS – das Node.js-Framework, das als Grundlage dient – werde ich genauer eingehen.

Beginnen wir mit dem Zusammenspiel von Dialogflow und der lokalen Node.js-Applikation zur Entwicklungszeit. Dialogflow ist eine Web-App für die Verwaltung von Apps für Google Assistant. Falls noch nicht geschehen, macht euch mit dem Vokabular innerhalb des Kontexts von Dialogflow sowie Conversational Interfaces vertraut. Das ist für das weitere Verständnis dieses Artikels hilfreich.

Entwicklungsworkflow und Tools

Eine Hürde besteht in der Verbindung von Dialogflow zum Fulfillment. In Dialogflow kann eine URL als Fulfillment gesetzt werden, die als Webhook dient. Diese URL wird somit aufgerufen, sobald Dialogflow einen Intent in den Sprachäußerungen deiner Nutzer erkennt. Somit muss die Applikation auch schon zur Entwicklungszeit als Fulfillment öffentlich erreichbar sein, was dein localhost meistens nicht ist. Um diesen Workflow zu vereinfachen, kommt ngrok [1] ins Spiel. ngrok generiert eine Art Proxy zwischen einer generischen Subdomain und deinem localhost. Nach erfolgreichem Set-up einfach den von ngrok bereitgestellten URL für das Fulfillment nutzen. Bevor es mit der Entwicklung der Action losgeht, stellt sicher

  • dass bei jedem Intent in Dialogflow „enable webhook call for this Intent“ aktiviert ist. Sonst wird euer Fulfillment nicht aufgerufen.

  • dass, wenn ihr mit einer anderen Sprache als Englisch arbeitet, diese in Dialogflow aktiviert ist. Aus unerklärlichen Gründen kommt es vor, dass nach erneutem Log-in wieder Englisch aktiviert ist, und dann werden keine Intents mehr erkannt.

Tipp: nodemon [2] ist bei der Entwicklung von Node. js-Anwendungen ein sehr hilfreiches Werkzeug.

Jetzt kann es mit dem zweiten Teil losgehen. Der Entwicklung einer Action auf Basis von AssistantJS.

AssistantJS

Wie erwähnt, ist dieses Projekt für uns die erste Umsetzung eines Conversational Interface, weshalb wir zu Beginn Nachforschungen zu Beispielen und Best Practices betrieben haben.

Hier sind wir auf AssistantJS [3] gestoßen, das durch die Web Computing GmbH [4] entwickelt wird und für das wir uns letztendlich aus folgenden Gründen entschieden haben:

  • plattform...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang