Im letzten Schritt dieser Anleitung hosten Sie Ihren Dialogflow-Agenten. Die App Engine wird für das Hosting verwendet, da sie einfach einzurichten und gut skalierbar ist. Die Dialogflow Messenger-Integration wird für die Benutzeroberfläche von Kundenservicemitarbeitern verwendet.
Projektkonfiguration
Idealerweise befinden sich Ihr Dialogflow-Agent und die App Engine-Instanz im selben Projekt. Außerdem müssen Sie die Cloud Build API aktivieren.
Wählen Sie vor dem Erstellen der Instanz Ihr Projekt in der Google Cloud Console aus.
Aktivieren Sie die Cloud Build API für das Projekt.
Umgebung einrichten
Sie müssen einige Dinge installieren und konfigurieren, um eine Go-Anwendung für die App Engine zu entwickeln. Führen Sie alle Schritte aus, die Sie unter Entwicklungsumgebung einrichten noch nicht ausgeführt haben.
Webdienstcode erstellen
Der Beispielcode für diese Anleitung ist in Go geschrieben. Sie können jedoch jede von der App Engine unterstützte Sprache verwenden. Erstellen Sie die folgende Dateistruktur an einer beliebigen Stelle auf Ihrem lokalen Computer:
go-app/
: Verzeichnis für Ihren Go-Dienst.templates/
: Verzeichnis für Ihre Go-HTML-Vorlagen.index.html
: Go-HTML-Vorlage.
app.yaml
: die Konfigurationseinstellungen Ihres Dienstesmain.go
: Ihr Anwendungscode
Die nächsten drei Abschnitte enthalten den Inhalt der drei Dateien.
Inhalt der Datei index.html
Diese Go-HTML-Vorlagendatei enthält das HTML für die Startseite. Fügen Sie dieser Datei den folgenden Inhalt hinzu:
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>Tutorial agent</title> </head> <body> <p>Open the chat window in the bottom right corner.</p> </body> </html>
Inhalt der Datei app.yaml
Dies ist eine Konfigurationsdatei, in der die Einstellungen für die Laufzeitumgebung Ihres Dienstes angegeben sind. Eine Liste der unterstützten Go-Versionen finden Sie im Dokument Go 1.12+ Runtime Environment. Fügen Sie dieser Datei den folgenden Inhalt hinzu:
runtime: go116 # or another supported version
Inhalt der Datei main.go
Diese Datei enthält den Code Ihrer Anwendung. Fügen Sie dieser Datei den folgenden Inhalt hinzu:
// Package main is the main package package main import ( "log" "net/http" "os" "text/template" ) var templates *template.Template func init() { templates = template.Must(template.New("").ParseGlob("templates/*")) } // indexHandler handles the homepage. func indexHandler(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/" { http.NotFound(w, r) return } if err := templates.ExecuteTemplate(w, "index.html", nil); err != nil { log.Fatal(err) } } func main() { // Register the handlers http.HandleFunc("/", indexHandler) port := os.Getenv("PORT") if port == "" { port = "8080" log.Printf("Defaulting to port %s", port) } log.Printf("Listening on port %s", port) if err := http.ListenAndServe(":"+port, nil); err != nil { log.Fatal(err) } }
Webdienst bereitstellen
Ihr Code kann jetzt bereitgestellt werden. In diesen Schritten wird das gcloud-Tool für die Bereitstellung verwendet:
Achten Sie darauf, dass gcloud mit demselben Projekt wie Ihr Dialogflow-Agent konfiguriert ist. So prüfen Sie das Projekt:
gcloud config get-value project
So ändern Sie das Projekt:
gcloud config set project YOUR_PROJECT
Stellen Sie in Ihrem
go-app
-Verzeichnis, in dem sich Ihreapp.yaml
-Datei befindet, Ihren Webdienst mithilfe des folgenden Befehls in App Engine bereit:gcloud app deploy
Sie werden aufgefordert, eine Region anzugeben. Achten Sie darauf, dieselbe Region wie für Ihren Dialogflow-Agenten auszuwählen. Der Befehl gibt den Wert
target url
aus, also die URL für Ihren Webdienst.Sie können Ihren Browser starten und Ihren Webdienst aufrufen, indem Sie die Ziel-URL aus dem vorherigen Schritt öffnen oder den folgenden Befehl ausführen:
gcloud app browse
Dialogflow Messenger einrichten
So richten Sie den nicht authentifizierten Zugriff auf Ihren Dialogflow CX Messenger-Agenten ein:
- Rufen Sie die Dialogflow CX Console auf.
- Wählen Sie Ihr Google Cloud-Projekt aus.
- Wählen Sie den Agent aus.
- Wählen Sie den Tab Verwalten.
- Klicken Sie im linken Seitenleistenmenü auf Integrations.
- Klicken Sie unter Dialogflow CX Messenger auf Verbinden.
- Ein Konfigurationsdialogfeld wird geöffnet.
- Wenn die Integration für diesen Kundenservicemitarbeiter bereits eingerichtet wurde, wird ein einbetzbarer HTML-Code angezeigt. Unabhängig davon, ob Sie eine Authentifizierung wünschen oder nicht, klicken Sie unten im Dialogfeld auf die Schaltfläche Deaktivieren, damit Sie die Einstellungen im nächsten Schritt neu konfigurieren können.
- Wählen Sie eine Umgebung aus
- Wählen Sie Unauthenticated API (Nicht authentifizierte API) aus.
- Wählen Sie einen Stil aus.
- Optionalen Domainzugriff einschränken.
- Klicken Sie auf Unauthentifizierte API aktivieren.
- Im Dialogfeld wird der HTML-Code angezeigt, der in Ihre Website eingebettet werden kann. Kopieren Sie diesen Code.
- Klicken Sie auf Fertig.
Agent in Ihren Webdienst einbetten
Fügen Sie den oben kopierten Einbettungscode in die Datei index.html
ein.
Die HTML-Elemente <script>
und <df-messenger>
sollten sich im <body>
-Element Ihrer Seite befinden.
Stellen Sie Ihre Webanwendung mit gcloud noch einmal bereit. Nach der Bereitstellung können Sie über die Webseite mit Ihrem Kundenservicemitarbeiter interagieren, indem Sie rechts unten auf das Chatsymbol klicken.
Sie haben jetzt einen vollständig bereitgestellten Dialogflow-Agenten. Versuchen Sie, mit dem Kundenservicemitarbeiter zu sprechen.
Bereinigen
Während Sie die Schritte in dieser Anleitung ausgeführt haben, haben Sie abrechenbare Ressourcen erstellt. So vermeiden Sie zusätzliche Kosten für Ihr Google Cloud-Konto:
- Löschen Sie Ihre Datenbankinstanz.
So löschen Sie eine Funktion:
gcloud functions delete tutorial-telecommunications-webhook
Weitere Informationen
Weitere Informationen zu den oben genannten Schritten finden Sie hier: