Hospedar seu agente

A etapa final deste tutorial é hospedar seu agente do Dialogflow. O App Engine é usado para hospedagem, porque é simples de configurar e tem boa capacidade de escalonamento. A integração do Dialogflow Messenger é usada para uma interface do usuário do agente.

Configuração do projeto

O ideal é que o agente do Dialogflow e a instância do App Engine estejam no mesmo projeto. Além disso, você precisa ativar a API Cloud Build.

  1. Antes de criar a instância, selecione seu projeto no console do Google Cloud.

    Acessar o seletor de projetos

  2. Ative a API Cloud Build para o projeto.

    Ativar a API Cloud Build

Configuração do ambiente

Você precisa instalar e configurar algumas coisas para desenvolver um aplicativo Go para o App Engine. Siga as etapas que ainda não foram concluídas em Configurar seu ambiente de desenvolvimento.

Criar o código do serviço da Web

O código de exemplo deste tutorial foi escrito em Go, mas você pode usar qualquer linguagem compatível com o App Engine. Crie a seguinte estrutura de arquivos em qualquer lugar da sua máquina local:

  • go-app/: diretório do serviço Go 1.11.
    • templates/: diretório para seus modelos HTML do Go.
      • index.html: modelo HTML do Go.
    • app.yaml: as configurações do seu serviço.
    • main.go: o código do aplicativo

As próximas três seções fornecem conteúdo para os três arquivos.

Conteúdo do arquivo index.html

Esse arquivo de modelo HTML do Go contém o HTML da página inicial. Preencha este arquivo com o seguinte conteúdo:

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

Conteúdo do arquivo app.yaml

Esse é um arquivo de configuração que especifica as configurações do ambiente de execução do serviço. Consulte o documento do ambiente de execução do Go 1.12+ para conferir a lista de versões do Go com suporte. Preencha este arquivo com o seguinte conteúdo:

runtime: go116  # or another supported version

Conteúdo do arquivo main.go

Esse arquivo contém o código do aplicativo. Preencha este arquivo com o seguinte conteúdo:

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

Implantar o serviço da Web

Agora seu código está pronto para implantação. Estas etapas usam a ferramenta gcloud para implantação:

  1. Verifique se o gcloud está configurado com o mesmo projeto que seu agente do Dialogflow. Para verificar o projeto:

    gcloud config get-value project

    Para mudar o projeto:

    gcloud config set project YOUR_PROJECT
  2. No diretório go-app, onde o arquivo app.yaml está localizado, implante o serviço da Web no App Engine usando o seguinte comando:

    gcloud app deploy

    O comando vai solicitar uma região. Selecione a mesma região do seu agente do Dialogflow. O comando vai gerar o valor target url, que é o URL do seu serviço da Web.

  3. Para iniciar o navegador e conferir o serviço da Web, abra o URL de destino da etapa anterior ou execute o seguinte comando:

    gcloud app browse

Configurar o Dialogflow Messenger

Para configurar o acesso não autenticado ao seu agente do Dialogflow CX Messenger:

  1. Acesse o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Manage.
  5. Clique em Integrations no menu da barra lateral à esquerda.
  6. Clique em Conectar no Dialogflow CX Messenger.
  7. Uma caixa de diálogo de configuração é aberta.
  8. Se a integração tiver sido configurada anteriormente para esse agente, você vai encontrar o código HTML incorporável. Independentemente de você querer autenticar ou não, clique no botão Desativar... na parte de baixo da caixa de diálogo para reconfigurar as configurações na próxima etapa.
  9. Selecione um Ambiente.
  10. Selecione API não autenticada.
  11. Selecione um estilo.
  12. Opcionalmente, restrinja o acesso ao domínio.
  13. Clique em Ativar a API não autenticada.
  14. A caixa de diálogo vai mostrar o código HTML incorporável que pode ser incorporado no seu site. Copie esse código.
  15. Clique em Concluído.

Incorporar o agente ao seu serviço da Web

Cole o código de incorporação que você copiou acima no arquivo index.html. Os elementos HTML <script> e <df-messenger> devem estar no elemento <body> da sua página.

Implante o app do serviço da Web novamente com a gcloud. Depois de implantado, é possível interagir com o agente pela página da Web clicando no ícone de chat no canto inferior direito.

Captura de tela do agente do Dialogflow incorporado à página da Web

Agora você tem um agente do Dialogflow totalmente implantado. Tente conversar com o agente.

Limpeza

Ao seguir as etapas deste tutorial, você criou recursos faturáveis. Para evitar cobranças adicionais na sua conta do Google Cloud:

  1. Exclua a instância do banco de dados.
  2. Exclua a função:

    gcloud functions delete tutorial-telecommunications-webhook
  3. Desativar o app.

  4. Excluir o agente

Mais informações

Para mais informações sobre as etapas acima, consulte: