Aloja tu agente

El último paso de este instructivo es alojar tu agente de Dialogflow. App Engine se usa para hosting, ya que es fácil de configurar y se escala de forma correcta. La integración de Dialogflow Messenger se usa para una interfaz de usuario de agente.

Configuración del proyecto

Lo ideal sería que tu agente de Dialogflow y la instancia de App Engine estén en el mismo proyecto. Además, debes habilitar la API de Cloud Build.

  1. Antes de crear la instancia, selecciona tu proyecto en la consola de Google Cloud.

    Ir al selector de proyectos

  2. Habilita la API de Cloud Build para el proyecto.

    Habilitar la API de Cloud Build

Configuración del entorno

Debes instalar y configurar algunas opciones con el fin de desarrollar una aplicación de Go para App Engine. Sigue los pasos que aún no completaste en Configura el entorno de desarrollo.

Crea el código de servicio web

El código de ejemplo para este instructivo está escrito en Go, pero puedes usar cualquier lenguaje compatible con App Engine. Crea la siguiente estructura de archivos en cualquier parte de tu máquina local:

  • go-app/: Es el directorio para tu servicio de Go.
    • templates/: Es el directorio para tus plantillas HTML de Go.
      • index.html: Plantilla HTML de Go.
    • app.yaml: Son las opciones de configuración del servicio.
    • main.go: Es el código de la aplicación.

Las siguientes tres secciones proporcionan contenido para los tres archivos.

Contenido del archivo index.html

Este archivo de plantilla HTML de Go contiene el código HTML de la página principal. Propaga este archivo con el siguiente contenido:

<!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>

Contenido del archivo app.yaml

Este es un archivo de configuración que especifica la configuración del entorno de ejecución de tu servicio. Puedes consultar el documento del entorno de ejecución de Go 1.12+ para ver la lista de versiones de Go compatibles. Propaga este archivo con el siguiente contenido:

runtime: go116  # or another supported version

Contenido del archivo main.go

Este archivo contiene el código de tu aplicación. Propaga este archivo con el siguiente contenido:

// 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)
	}
}

Implementar tu servicio web

El código ya está listo para implementarse. En estos pasos, se usa la herramienta de gcloud para la implementación:

  1. Asegúrate de que gcloud esté configurado con el mismo proyecto que tu agente de Dialogflow. Para verificar el proyecto, haz lo siguiente:

    gcloud config get-value project

    Para cambiar el proyecto, haz lo siguiente:

    gcloud config set project YOUR_PROJECT
  2. En el directorio go-app en el que se encuentra el archivo app.yaml, implementa el servicio web en App Engine con el siguiente comando:

    gcloud app deploy

    El comando te solicitará una región. Asegúrate de seleccionar la misma región que tu agente de Dialogflow. El comando generará el valor target url, que es la URL para tu servicio web.

  3. Para iniciar el navegador y ver el servicio web, puedes abrir la URL de destino del paso anterior o ejecutar el siguiente comando:

    gcloud app browse

Configura Dialogflow Messenger

Para configurar y habilitar Dialogflow Messenger, sigue estos pasos:

  1. Ve a la consola de Dialogflow ES.
  2. Haz clic en Integrations, en el menú de la barra lateral izquierda.
  3. Haz clic en Dialogflow Messenger.
  4. Se abrirá un cuadro de diálogo de configuración.
  5. Selecciona un entorno.
  6. Haz clic en Habilitar.
  7. Copia el código de inserción para pegarlo en tu sitio web.
  8. Haz clic en Cerrar.

Incorporar el agente en tu servicio web

Pega el código de inserción que copiaste antes en tu archivo index.html. Los elementos HTML <script> y <df-messenger> deben estar en el elemento <body> de tu página.

Vuelve a implementar la app de servicio web con gcloud. Una vez implementado, puedes interactuar con el agente a través de la página web si haces clic en el ícono de chat en la esquina inferior derecha.

Captura de pantalla del agente de Dialogflow incorporado en la página web

Ahora tienes un agente de Dialogflow completamente implementado. Intenta tener una conversación con el agente.

Realiza una limpieza

Mientras realizabas los pasos de este instructivo, creaste recursos facturables. Sigue estos pasos para evitar que se apliquen cargos adicionales a tu cuenta de Google Cloud:

  1. Borra tu instancia de base de datos.
  2. Borra tu función:

    gcloud functions delete tutorial-telecommunications-webhook
  3. Inhabilita la app.

  4. Borra tu agente

Más información

Para obtener más información sobre los pasos anteriores, consulta lo siguiente: