Agent hosten

Im letzten Schritt dieser Anleitung hosten Sie den Dialogflow-Agent. 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.

  1. Bevor Sie die Instanz erstellen, wählen Sie 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 Dinge installieren und konfigurieren um eine Go-Anwendung für App Engine zu entwickeln. Führen Sie alle Schritte aus, die Sie noch nicht unter Entwicklungsumgebung einrichten

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 Dienstes
    • main.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üllen Sie diese Datei mit folgendem 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. Sie können die Dokument zur Laufzeitumgebung von Go 1.12+ um die Liste der unterstützten Go-Versionen aufzurufen. Füllen Sie diese Datei mit folgendem Inhalt:

runtime: go116  # or another supported version

Inhalt der Datei main.go

Diese Datei enthält Ihren Anwendungscode. 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:

  1. Achten Sie darauf, dass gcloud mit demselben Projekt konfiguriert ist als Dialogflow-Agent. 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 Ihre app.yaml-Datei befindet, Ihren Webdienst mithilfe des folgenden Befehls in App Engine bereit:

    gcloud app deploy

    Der Befehl fordert Sie auf, 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.

  3. 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:

  1. Rufen Sie die Dialogflow CX Console auf.
  2. Wählen Sie Ihr Google Cloud-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Tab Verwalten.
  5. Klicken Sie im linken Seitenleistenmenü auf Integrations.
  6. Klicken Sie unter Dialogflow CX Messenger auf Verbinden.
  7. Ein Konfigurationsdialogfeld wird geöffnet.
  8. Wenn die Integration zuvor für diesen Agent eingerichtet wurde, sehen Sie den einbettbaren HTML-Code. Unabhängig davon, ob Sie möchten, was authentifiziert oder nicht authentifiziert ist, Klicken Sie unten im Dialogfeld auf die Schaltfläche Deaktivieren.... sodass Sie die Einstellungen im nächsten Schritt neu konfigurieren können.
  9. Wählen Sie eine Umgebung aus
  10. Wählen Sie Nicht authentifizierte API aus.
  11. Wählen Sie einen Stil aus.
  12. Optional können Sie den Domainzugriff einschränken.
  13. Klicken Sie auf Nicht authentifizierte API aktivieren.
  14. Im Dialogfeld wird der einbettbare HTML-Code angezeigt. die auf Ihrer Website eingebettet werden können. Kopieren Sie diesen Code.
  15. 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 die Webdienstanwendung noch einmal mit gcloud bereit. Nach der Bereitstellung können Sie über die Webseite mit dem Kundenservicemitarbeiter interagieren, indem Sie rechts unten auf das Chatsymbol klicken.

Screenshot des in eine Webseite eingebetteten Dialogflow-Agents

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

Bereinigen

Beim Durcharbeiten der Schritte in dieser Anleitung Sie haben 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. So löschen Sie eine 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 unter: