Agent hosten

Im letzten Schritt dieser Anleitung hosten Sie den Dialogflow-Agent. App Engine wird für das Hosting verwendet, weil sie einfach einzurichten ist und gut skalierbar ist. Die Dialogflow Messenger-Integration wird für eine Agent-Benutzeroberfläche verwendet.

Projektkonfiguration

Im Idealfall befinden sich der Dialogflow-Agent und die App Engine-Instanz im selben Projekt. Außerdem müssen Sie die Cloud Build API aktivieren.

  1. Wählen Sie vor dem Erstellen der Instanz Ihr Projekt in der Google Cloud Console aus.

    Zur Projektauswahl

  2. Aktivieren Sie die Cloud Build API für das Projekt.

    Cloud Build API aufrufen

Umgebung einrichten

Sie müssen einige Elemente installieren und konfigurieren, um eine Go-Anwendung für 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 App Engine unterstützte Sprache verwenden. Erstellen Sie an einer beliebigen Stelle auf Ihrem lokalen Computer die folgende Dateistruktur:

  • go-app/: Verzeichnis für Ihren Go-Dienst.
    • templates/: Verzeichnis für Ihre Go-HTML-Vorlagen.
      • index.html: HTML-Vorlage für Go
    • app.yaml: die Konfigurationseinstellungen Ihres Dienstes
    • main.go: Ihr Anwendungscode

Die nächsten drei Abschnitte enthalten Inhalte für die drei Dateien.

Inhalt der Datei index.html

Diese Go-HTML-Vorlagendatei enthält den HTML-Code für die Startseite. Füllen Sie diese Datei mit dem folgenden Inhalt:

<!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 zur Go 1.12+-Laufzeitumgebung. Füllen Sie diese Datei mit dem folgenden Inhalt:

runtime: go116  # or another supported version

Inhalt der Datei main.go

Diese Datei enthält Ihren Anwendungscode. Füllen Sie diese Datei mit dem folgenden Inhalt:

// 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 zur Bereitstellung verwendet:

  1. Achten Sie darauf, dass gcloud mit demselben Projekt wie der 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
  2. Stellen Sie in Ihrem go-app-Verzeichnis, in dem sich die Datei app.yaml befindet, Ihren Webdienst mit dem folgenden Befehl in App Engine bereit:

    gcloud app deploy

    Der Befehl fordert Sie zur Angabe einer Region auf. Achten Sie darauf, dass Sie dieselbe Region wie der Dialogflow-Agent auswählen. Der Befehl gibt den Wert target url aus, also die URL für Ihren Webdienst.

  3. Um Ihren Browser zu starten und Ihren Webdienst aufzurufen, können Sie die Ziel-URL aus dem vorherigen Schritt öffnen oder den folgenden Befehl ausführen:

    gcloud app browse

Dialogflow Messenger einrichten

So richten Sie Dialogflow Messenger ein und aktivieren es:

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Klicken Sie im linken Seitenleistenmenü auf Integrations.
  3. Klicken Sie auf Dialogflow Messenger.
  4. Ein Konfigurationsdialogfeld wird geöffnet.
  5. Wählen Sie eine Umgebung aus.
  6. Klicken Sie auf Aktivieren.
  7. Kopieren Sie den Einbettungscode, um ihn in Ihre Website einzufügen.
  8. Klicken Sie auf Schließen.

Agent in Ihren Webdienst einbetten

Füge den oben kopierten Einbettungscode in deine index.html-Datei ein. Die HTML-Elemente <script> und <df-messenger> sollten sich im <body>-Element Ihrer Seite befinden.

Stellen Sie die Webdienstanwendung noch einmal mit gcloud bereit. Nach der Bereitstellung können Sie über die Webseite mit dem Agent interagieren. Klicken Sie dazu auf das Chatsymbol unten rechts.

Screenshot des Dialogflow-Agents, der auf einer Webseite eingebettet ist

Sie haben jetzt einen vollständig bereitgestellten Dialogflow-Agent. Versuchen Sie, mit dem Kundenservicemitarbeiter zu sprechen.

Bereinigen

Beim Durchlaufen der Schritte in dieser Anleitung haben Sie kostenpflichtige Ressourcen erstellt. So vermeiden Sie, dass Ihrem Google Cloud-Konto zusätzliche Gebühren in Rechnung gestellt werden:

  1. Löschen Sie Ihre Datenbankinstanz.
  2. Löschen Sie die Funktion:

    gcloud functions delete tutorial-telecommunications-webhook
  3. Deaktivieren Sie Ihre App.

  4. Agent löschen

Weitere Informationen

Weitere Informationen zu den oben genannten Schritten finden Sie hier: