Il passaggio finale di questo tutorial consiste nell'hosting dell'agente Dialogflow. App Engine viene utilizzato per l'hosting perché è semplice da configurare e si scala bene. L'integrazione di Dialogflow Messenger viene utilizzata per un'interfaccia utente dell'agente.
Configurazione progetto
Idealmente, l'agente Dialogflow e l'istanza App Engine devono trovarsi entrambi nello stesso progetto. Inoltre, devi abilitare l'API Cloud Build.
Prima di creare l'istanza, seleziona il progetto dalla console Google Cloud.
Abilita l'API Cloud Build per il progetto.
Configurazione dell'ambiente
Per sviluppare un'applicazione Go per App Engine, devi installare e configurare alcune cose. Segui eventuali passaggi che non hai ancora completato in Configurazione dell'ambiente di sviluppo.
Crea il codice del servizio web
Il codice di esempio per questo tutorial è scritto in Go, ma puoi utilizzare qualsiasi linguaggio supportato da App Engine. Crea la seguente struttura di file ovunque sulla tua macchina locale:
go-app/
: la directory del servizio Go.templates/
: la directory per i modelli HTML di Go.index.html
: modello HTML di Go.
app.yaml
: le impostazioni di configurazione del servizio.main.go
: il codice della tua applicazione.
Le tre sezioni successive forniscono i contenuti per i tre file.
Contenuti del file index.html
Questo file modello HTML Go contiene il codice HTML per la home page. Compila questo file con i seguenti contenuti:
<!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>
Contenuti del file app.yaml
Si tratta di un file di configurazione che specifica le impostazioni dell'ambiente di runtime del servizio. Puoi fare riferimento al documento Ambiente di runtime Go 1.12 e versioni successive per visualizzare l'elenco delle versioni di Go supportate. Compila questo file con i seguenti contenuti:
runtime: go116 # or another supported version
Contenuti del file main.go
Questo file contiene il codice dell'applicazione. Compila questo file con i seguenti contenuti:
// 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) } }
Deployment del servizio web
Il codice è ora pronto per il deployment. Questi passaggi utilizzano lo strumento gcloud per il deployment:
Assicurati che gcloud sia configurato con lo stesso progetto dell'agente Dialogflow. Per controllare il progetto:
gcloud config get-value project
Per modificare il progetto:
gcloud config set project YOUR_PROJECT
Nella directory
go-app
in cui si trova il fileapp.yaml
, esegui il deployment del servizio web in App Engine utilizzando il seguente comando:gcloud app deploy
Il comando ti chiederà una regione. Assicurati di selezionare la stessa regione dell'agente Dialogflow. Il comando restituirà il valore
target url
, ovvero l'URL del tuo servizio web.Per avviare il browser e visualizzare il servizio web, puoi aprire l'URL target dal passaggio precedente o eseguire il seguente comando:
gcloud app browse
Configurare Dialogflow Messenger
Per configurare l'accesso non autenticato all'agente Messenger di Dialogflow CX:
- Vai alla console Dialogflow CX.
- Scegli il tuo progetto Google Cloud.
- Seleziona il tuo agente.
- Seleziona la scheda Gestisci.
- Fai clic su Integrations (Integrazioni) nel menu della barra laterale a sinistra.
- Fai clic su Connetti in Messenger di Dialogflow CX.
- Viene visualizzata una finestra di dialogo di configurazione.
- Se l'integrazione è stata configurata in precedenza per questo agente, vedrai il codice HTML embeddable. Indipendentemente dal fatto che tu voglia l'autenticazione o meno, fai clic sul pulsante Disattiva in fondo alla finestra di dialogo, in modo da poter riconfigurare le impostazioni nel passaggio successivo.
- Seleziona un ambiente.
- Seleziona API non autenticata.
- Seleziona uno stile.
- Se vuoi, limita l'accesso al dominio.
- Fai clic su Abilita l'API non autenticata.
- La finestra di dialogo mostrerà il codice HTML embeddable che può essere incorporato nel tuo sito web. Copia questo codice.
- Fai clic su Fine.
Incorpora l'agente nel tuo servizio web
Incolla il codice di incorporamento che hai copiato sopra nel file index.html
.
Gli elementi HTML <script>
e <df-messenger>
devono essere nell'elemento <body>
della pagina.
Esegui nuovamente il deployment dell'app del servizio web con gcloud. Una volta disegnato, puoi interagire con l'agente tramite la pagina web facendo clic sull'icona della chat nell'angolo in basso a destra.
Ora hai un agente Dialogflow completamente implementato. Prova a parlare con l'agente.
Esegui la pulizia
Durante la procedura di questo tutorial, hai creato risorse fatturabili. Per evitare che al tuo account Google Cloud vengano addebitati costi aggiuntivi:
- Elimina l'istanza di database.
Elimina la funzione:
gcloud functions delete tutorial-telecommunications-webhook
Ulteriori informazioni
Per ulteriori informazioni sui passaggi precedenti, consulta: