Hospedar seu agente

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

A etapa final deste tutorial é hospedar o agente do Dialogflow. O App Engine é usado para hospedagem, porque é simples de configurar e tem bom escalonamento. A integração com o 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, é necessário 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 alguns itens para desenvolver um aplicativo Go para o App Engine. Siga as etapas que você ainda não concluiu em Como configurar o ambiente de desenvolvimento.

Criar o código de serviço da Web

O código de exemplo para este tutorial está escrito em Go, mas é possível 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 seu serviço Go.
    • templates/: diretório dos seus modelos HTML do Go.
      • index.html: modelo HTML para Go
    • app.yaml: as configurações do seu serviço
    • main.go: o código do aplicativo

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

Conteúdo do arquivo index.html

Este arquivo modelo HTML Go contém o HTML da página inicial. Preencha esse 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 seu serviço. Consulte o documento Ambiente de execução do Go 1.12+ para ver a lista de versões do Go compatíveis. Preencha esse 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 seu aplicativo. Preencha esse 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

Seu código está pronto para ser implantado. Estas etapas usam a ferramenta gcloud para implantação:

  1. Verifique se a gcloud está configurada com o mesmo projeto do 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 em que o arquivo app.yaml está localizado, implante o serviço da Web no App Engine usando o seguinte comando:

    gcloud app deploy

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

  3. Para iniciar o navegador e ver 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 e ativar o Dialogflow Messenger:

  1. Acesse o Console do Dialogflow CX.
  2. Escolha seu projeto do GCP.
  3. Selecione seu agente.
  4. Selecione a guia Manage.
  5. Clique em Integrations no menu da barra lateral à esquerda.
  6. Clique em Connect no Dialogflow Messenger.
  7. Uma caixa de diálogo de configuração é aberta.
  8. Clique em Enable.
  9. Copie o código de incorporação para colar no seu site.
  10. Clique em Done na caixa de diálogo de configuração.

Incorporar o agente no seu serviço da Web

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

Implante o app de serviço da Web novamente com a gcloud. Após a implantação, interaja com seu 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. Converse com o agente.

Limpeza

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

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

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

  4. Excluir o agente

Mais informações

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