Sie können mit Dialogflow Versionskontrolle und CI/CD durchführen. Auch wenn es den Anschein hat, dass Dialogflow nicht für Entwickler gedacht ist, können Sie einen schönen Entwicklerfluss einrichten. Damit können Sie die Entwicklung auf ein Team von Entwicklern ausweiten. Dieser Artikel zeigt Ihnen die besten Praktiken für einen effektiven Entwicklungsprozess. Wenn Sie mit Dialogflow beginnen, erhalten Sie eine benutzerfreundliche Weboberfläche. Sie können Phrasen programmieren, die Ihr Sprachassistent unterstützen soll. Auch wenn die Dialogflow-Oberfläche von Nicht-Programmierern genutzt werden kann, programmieren Sie dennoch. Für einen Softwareentwickler ist es wichtig, Zugriff auf den Quellcode dessen zu haben, was er programmiert.
[caption id="attachment_26917" align="aligncenter" width="480"]
Die Dialogflow-Weboberfläche[/caption]
Versionskontrolle
Wenn Sie den Quellcode in der Versionskontrolle haben, ist es einfach, Rollbacks durchzuführen und Änderungen von anderen Teammitgliedern zu überprüfen. Standardmäßig verwenden Sie die Dialogflow-Benutzeroberfläche, um Ihre verschiedenen Intents zu konfigurieren. Es gibt jedoch keine Versionskontrolle, sondern nur eine Import-/Exportfunktion. Sie müssen die Exporte manuell verwalten, um Rollbacks durchführen zu können.
[caption id="attachment_26919" align="aligncenter" width="264"]
Dialog Import/Export[/caption]
Glücklicherweise gibt es ein von der Community entwickeltes CLI-Tool. Damit können Sie die Import-/Exportfunktionen über die Befehlszeile nutzen. Es exportiert in lesbare JSON-Dateien. Das bedeutet, dass Sie Änderungen in der Web-Benutzeroberfläche vornehmen und diese in einen lokalen Ordner exportieren können, der unter Versionskontrolle steht. Sie können dann die Versionen lokal verwalten und diese mit dem CLI-Tool wieder in Dialogflow importieren. Wenn Sie die JSON-Dateien aus dem Export verstehen, können Sie sie sogar lokal bearbeiten und die Änderungen in Dialogflow importieren, ohne die Web-UI verwenden zu müssen. Es scheint, dass Google dies bei der Entwicklung für Dialogflow tut. Google hat für seine Google I/O 2018 Veranstaltung eine Google Assistant App entwickelt. Da ihr Quellcode auf GitHub liegt, können Sie sehen, dass sie Dialogflow nach Git exportieren. Werfen Sie einen Blick auf den Ordner dialogflow-agent im Repository. Google hat das Tool, das sie für den Import/Export verwenden, nicht veröffentlicht. Ich kann mir vorstellen, dass diese Funktionalität irgendwann dem gcloud CLI-Tool hinzugefügt wird. Um das von der Community entwickelte CLI-Tool zu installieren, müssen Sie NodeJS und NPM installiert haben. Da das Tool Zugriff auf Ihr Dialogflow-Projekt benötigt, müssen Sie ihm auch die Zugangsdaten zu Ihrem Projekt geben. Achten Sie jedoch darauf, dass Sie Ihre Zugangsdaten nicht an die Versionskontrolle übergeben. Nicht jeder, der Zugriff auf Ihren Quellcode hat, sollte über Administratorrechte für Ihr Dialogflow-Projekt verfügen. Führen Sie zur Installation des CLI-Tools die folgenden Befehle aus: [gist id="cec0d3432d5e045029d148cb4a3a463e"]
Arbeiten in Teams
Jetzt haben Sie Ihre Dialogflow-Konfiguration in der Versionskontrolle und können Rollbacks und Code-Reviews durchführen. Sie können Pull-Requests zur Codeüberprüfung erstellen oder die Diffs manuell ansehen. Sie können auch mehrere Teammitglieder parallel an verschiedenen Zweigen arbeiten lassen und ihre Änderungen zusammenführen. Damit Sie nur Ihre eigenen Änderungen exportieren können, müssen Sie sicherstellen, dass jedes Teammitglied sein eigenes Dialogflow-Projekt hat. Andernfalls könnten Sie die Änderungen eines anderen Teammitglieds in Ihren Versionskontrollzweig exportieren. Wenn Sie das Projekt in einer Staging- oder Produktionsumgebung bereitstellen möchten, können Sie andere Anmeldedaten verwenden. Die Datei credentials.json ist an ein Google Cloud-Projekt gebunden, das nur ein einziges Dialogflow-Projekt haben kann. Um die Skripte einfach ausführen zu können, können Sie NPM-Ausführungsskripte erstellen: [gist id="9d76afc78e471c0e860c128e99ab3ac2"] Sie können diese Befehle wie folgt ausführen:
npm dialogflow:export ausführen npm dialogflow:import ausführen
Um Ihren aktuellen und zukünftigen Teammitgliedern zu helfen, ist es gut, diesen Prozess irgendwo zu dokumentieren.
Kontinuierliche Integration und Bereitstellung
Um auf einem Build-Server zu laufen, müssen Sie die Anmeldeinformationen konfigurieren. Sie können die Anmeldeinformationen in einer (geschützten) Umgebungsvariablen speichern und diese in eine Datei exportieren. [gist id="9ebbc355cd4a7d809e5c41b45d9c7063"] Jetzt können Sie Ihre Pipeline so konfigurieren, dass sie manuell oder automatisch in verschiedenen Umgebungen bereitgestellt wird.
Fazit
Sobald Sie Ihre Dialogflow-Konfiguration wie jeden anderen Code bearbeiten können, fügt sie sich nahtlos in bestehende Entwicklungsabläufe ein. Jetzt können Sie die Entwicklung skalieren, wie Sie es gewohnt sind.
Verfasst von
Ruben Oostinga
Contact



