השלב האחרון במדריך הזה הוא לארח את נציג Dialogflow. App Engine משמש לאירוח, כי קל להגדיר אותו והוא מתאים את עצמו בקלות. השילוב של Dialogflow Messenger משמש לממשק משתמש של נציג.
הגדרות אישיות של פרויקט
במצב אידיאלי, הנציג של Dialogflow והמכונה של App Engine נמצאים באותו פרויקט. בנוסף, צריך להפעיל את Cloud Build API.
לפני שיוצרים את המכונה, בוחרים את הפרויקט במסוף Google Cloud .
מפעילים את Cloud Build API בפרויקט.
הגדרת הסביבה
כדי לפתח אפליקציית Go ל-App Engine, צריך להתקין ולהגדיר כמה דברים. מבצעים את כל השלבים שעדיין לא הושלמו בקטע הגדרת סביבת הפיתוח.
יצירת הקוד של שירות האינטרנט
הקוד לדוגמה במדריך הזה כתוב ב-Go, אבל אתם יכולים להשתמש בכל שפה שנתמכת ב-App Engine. יוצרים את מבנה הקבצים הבא בכל מקום במחשב המקומי:
-
go-app/: הספרייה של שירות Go.-
templates/: ספרייה לתבניות ה-HTML של Go.-
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 1.12 ואילך מופיעה רשימה של גרסאות Go נתמכות. ממלאים את הקובץ בתוכן הבא:
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
בספרייה
go-appשבה נמצא הקובץapp.yaml, פורסים את שירות האינטרנט ב-App Engine באמצעות הפקודה הבאה:gcloud app deploy
הפקודה תבקש מכם לבחור אזור. חשוב לבחור באותו אזור שבו נמצא הנציג שלכם ב-Dialogflow. הפקודה תפיק את הערך
target url, שהוא כתובת ה-URL של שירות האינטרנט.כדי להפעיל את הדפדפן ולראות את שירות האינטרנט, אתם יכולים לפתוח את כתובת ה-URL של היעד מהשלב הקודם או להריץ את הפקודה הבאה:
gcloud app browse
הגדרת Dialogflow Messenger
כדי להגדיר ולהפעיל את Dialogflow Messenger:
- נכנסים למסוף Dialogflow ES.
- בתפריט הצדדי שמימין, לוחצים על Integrations (שילובים).
- לוחצים על Dialogflow Messenger.
- נפתחת תיבת דו-שיח של הגדרות.
- בוחרים סביבה.
- לוחצים על Enable.
- מעתיקים את קוד ההטמעה כדי להדביק אותו באתר.
- לוחצים על Close.
הטמעת הסוכן בשירות האינטרנט
מדביקים את קוד ההטמעה שהעתקתם קודם בקובץ index.html.
רכיבי ה-HTML <script> ו-<df-messenger> צריכים להיות ברכיב <body> של הדף.
פורסים מחדש את אפליקציית שירות האינטרנט באמצעות gcloud. אחרי הפריסה, תוכלו לקיים אינטראקציה עם הנציג דרך דף האינטרנט בלחיצה על סמל הצ'אט בפינה הימנית התחתונה.

זהו, סוכן Dialogflow שלכם פרוס ומוכן לשימוש. נסו לנהל שיחה עם הסוכן.
הסרת המשאבים
במהלך השלבים של המדריך הזה, יצרתם משאבים שניתן לחייב עליהם. כדי להימנע מחיובים נוספים בחשבון Google Cloud:
- מוחקים את המכונה של מסד הנתונים.
מוחקים את הפונקציה:
gcloud functions delete tutorial-telecommunications-webhook
מידע נוסף
למידע נוסף על השלבים שלמעלה, אפשר לעיין במאמרים הבאים: