本教學課程的最後一個步驟是代管 Dialogflow 代理程式。App Engine 用於代管,因為設定簡單且可妥善擴充。代理程式使用者介面採用 Dialogflow Messenger 整合功能。
專案設定
理想情況下,Dialogflow 代理程式和 App Engine 執行個體都位於同一個專案中。此外,您必須啟用 Cloud Build API。
建立執行個體前,請先從 Google Cloud 控制台選取專案。
為專案啟用 Cloud Build API。
環境設定
如要開發 App Engine 適用的 Go 應用程式,您需要安裝及設定一些項目。按照「設定開發環境」中的步驟,完成尚未執行的操作。
建立網路服務程式碼
本教學課程的範例程式碼是以 Go 編寫,但您可以使用 App Engine 支援的任何語言。在本機電腦的任何位置建立下列檔案結構:
go-app/:Go 服務的目錄。templates/:Go HTML 範本的目錄。index.html:Go HTML 範本。
app.yaml:服務的配置設定。main.go:您的應用程式程式碼。
接下來的三節將提供這三個檔案的內容。
index.html 檔案的內容
這個 Go HTML 範本檔案包含首頁的 HTML。在這個檔案中填入以下內容:
<!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>
app.yaml 檔案的內容
這是設定檔,用於指定服務的執行階段環境設定。如要查看支援的 Go 版本清單,請參閱 Go 1.12 以上版本執行階段環境文件。在這個檔案中填入以下內容:
runtime: go116 # or another supported version
main.go 檔案的內容
這個檔案包含應用程式程式碼。 在這個檔案中填入以下內容:
// 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) } }
部署您的網路服務
程式碼現在可以部署。 這些步驟會使用 gcloud 工具進行部署:
確認 gcloud 設定的專案與 Dialogflow 代理程式相同。如要查看專案:
gcloud config get-value project
如要變更專案:
gcloud config set project YOUR_PROJECT
在
app.yaml檔案所在的go-app目錄中,使用下列指令將網路服務部署至 App Engine:gcloud app deploy
指令會提示您輸入區域。 請務必選取與 Dialogflow 服務專員相同的區域。指令會輸出
target url值,也就是 Web 服務的網址。如要啟動瀏覽器並查看 Web 服務,可以開啟上一步中的目標網址,或執行下列指令:
gcloud app browse
設定 Dialogflow Messenger
如要設定及啟用 Dialogflow Messenger,請按照下列步驟操作:
- 前往 Dialogflow ES 主控台。
- 按一下左側欄選單中的「整合」。
- 按一下「Dialogflow Messenger」。
- 設定對話方塊隨即開啟。
- 選擇環境。
- 按一下「啟用」。
- 複製嵌入程式碼,然後貼到網站中。
- 按一下 [關閉]。
將代理程式嵌入網路服務
將您從上述步驟複製的內嵌程式碼貼到 index.html 檔案中。
<script> 和 <df-messenger> HTML 元素應位於網頁的 <body> 元素中。
使用 gcloud 再次部署網路服務應用程式。 部署完成後,點選網頁右下角的聊天圖示,即可與代理互動。

您現在已完整部署 Dialogflow 代理程式!試著與代理程式對話。
清除所用資源
完成本教學課程的步驟時,您建立了計費資源。如要避免系統向您的 Google Cloud 帳戶收取額外費用,請採取下列行動:
更多資訊
如要進一步瞭解上述步驟,請參閱: