Aloja tu agente

El último paso de este instructivo es alojar tu agente de Dialogflow. App Engine se usa para alojar, porque es fácil de configurar y escala bien. El Dialogflow Messenger de Google Cloud para una interfaz de usuario del agente.

Configuración del proyecto

Lo ideal es 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.

    Habilita la API de Cloud Build

Configuración del entorno

Debes instalar y configurar algunos elementos para desarrollar una aplicación de Go para App Engine. Sigue los pasos que no hayas completado en Configura tu 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 el servicio de Go.
    • templates/: Es el directorio para las 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 del servicio. Puedes consultar el Documento del entorno de ejecución de Go 1.12+ para ver la lista de versiones compatibles de Go. 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 como 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 la servicio web a 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 de tu servicio web.

  3. Para iniciar el navegador y ver tu servicio web, haz lo siguiente: puede abrir la URL de destino del paso anterior o ejecuta 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.

Incorpora el agente en tu servicio web

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

Vuelve a implementar tu app de servicio web con gcloud. Una vez implementado, puedes interactuar con tu agente a través de la página web haciendo clic en el ícono de chat de 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.

Limpieza

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

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

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

  4. Borrar el agente

Más información

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