Agent hosten

Im letzten Schritt dieser Anleitung wird Ihr Dialogflow-Agent gehostet. App Engine wird für das Hosting verwendet, da die Einrichtung einfach ist und die Skalierung gut funktioniert. Die Dialogflow Messenger-Integration wird für die Benutzeroberfläche eines Agenten 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. Wählen Sie vor dem Erstellen der Instanz Ihr Projekt in der Google Cloud -Konsole 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 abgeschlossen 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 die folgende Dateistruktur an einem beliebigen Ort 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

In den nächsten drei Abschnitten finden Sie Inhalte für die drei Dateien.

Inhalt der Datei index.html

Diese Go-HTML-Vorlagendatei enthält das HTML für die Startseite. Fügen Sie der Datei 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 zur Go 1.12+-Laufzeitumgebung. Fügen Sie der Datei 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 der Datei 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. Bei diesen Schritten wird das gcloud-Tool für die Bereitstellung verwendet:

  1. 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
  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

    Sie werden aufgefordert, eine Region anzugeben. Wählen Sie dieselbe Region wie für Ihren Dialogflow-Agenten aus. Der Befehl gibt den target url-Wert aus, also die URL für Ihren Webdienst.

  3. Wenn Sie Ihren Browser starten und Ihren Webdienst aufrufen möchten, 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ügen Sie den oben kopierten Einbettungscode in Ihre index.html-Datei ein. Die HTML-Elemente <script> und <df-messenger> sollten sich im <body>-Element Ihrer Seite befinden.

Stellen Sie Ihre Webdienst-App noch einmal mit gcloud bereit. Nach der Bereitstellung können Sie über die Webseite mit Ihrem Agent interagieren, indem Sie rechts unten auf das Chatsymbol klicken.

Screenshot eines in eine Webseite eingebetteten Dialogflow-Agenten

Sie haben jetzt einen vollständig bereitgestellten Dialogflow-Agenten. Versuchen Sie, eine Unterhaltung mit dem Agenten zu führen.

Bereinigen

Während Sie die Schritte dieser Anleitung durchlaufen haben, haben Sie kostenpflichtige Ressourcen erstellt. So vermeiden Sie zusätzliche Kosten für Ihr Google Cloud-Konto:

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

    gcloud functions delete tutorial-telecommunications-webhook
  3. Anwendung deaktivieren

  4. KI-Agenten löschen

Weitere Informationen

Weitere Informationen zu den oben genannten Schritten finden Sie hier: