สร้าง Agent RBM ที่ขับเคลื่อนโดย Dialogflow (พื้นฐาน)

ใน Codelab นี้ คุณจะได้เรียนรู้วิธีใช้ Dialogflow เพื่อสร้างอินเทอร์เฟซการสนทนา เพื่อขับเคลื่อนตัวแทน RBM โดยไม่ต้องเขียนโค้ด

คุณจะสร้างอะไรใน Codelab นี้

  • Agent ของ Dialogflow ที่ขับเคลื่อนการสนทนาของตัวแทน RBM
  • อินเทอร์เฟซสนทนาสําหรับร้านพิซซ่าสมมติที่ส่งข้อเสนอส่วนลดให้แก่ผู้ใช้และอนุญาตให้ลูกค้าดูเมนูของร้านอาหาร

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้เป้าหมายหลักของ Dialogflow' เพื่อสร้างอินเทอร์เฟซการสนทนา
  • วิธีสร้างประเภทการตอบกลับ RBM จาก Dialogflow เพื่อสร้างประสบการณ์ RBM ที่สมบูรณ์สําหรับผู้ใช้

สิ่งที่ต้องมี

  • บัญชี Google สําหรับแพลตฟอร์ม RBM ของคุณ

สร้างและค้นหา Agent แรก

ระยะเวลา: 30:00

สร้าง Agent ของ Dialogflow แรก

วิธีสร้าง Agent ของ Dialogflow

  1. เปิดแท็บใหม่และลงชื่อเข้าใช้ Dialogflow
  2. คลิกสร้าง Agent ในการนําทางด้านซ้าย

  3. ป้อน "CodelabRBMPizzaPlace" สําหรับชื่อของตัวแทน' "ภาษาอังกฤษ" เป็นภาษาเริ่มต้น และตั้งเขตเวลาเริ่มต้นเป็นเขตเวลาของคุณ

  4. คลิกสร้าง

คอนโซล Dialogflow

ถึงตอนนี้คุณควรเห็นคอนโซล Dialogflow แล้ว หากคุณใช้งานในหน้าจอขนาดเล็ก และซ่อนการนําทางด้านซ้ายมือไว้ ให้คลิกปุ่มการนําทางที่มุมซ้ายบน ปุ่มการตั้งค่าจะนําคุณไปยังการตั้งค่าของ Agent ปัจจุบัน

ตรงกลางหน้าจะแสดงรายการ Intent ของ Agent โดยค่าเริ่มต้น Agent ของ Dialogflow จะเริ่มจาก Intent 2 เวอร์ชัน ตัวแทนของคุณจับคู่กับการทํางานเริ่มต้น ความตั้งใจเมื่อไม่เข้าใจสิ่งที่ผู้ใช้พูด เจตจํานงต้อนรับเริ่มต้นเป็นการทักทายผู้ใช้ โดยคุณจะปรับเปลี่ยนความตั้งใจเหล่านี้เพื่อปรับแต่งประสบการณ์การใช้งานได้

ทางด้านขวาคือเครื่องจําลอง Dialogflow ซึ่งจะช่วยให้คุณได้ลองใช้ Agent ด้วยการพูดหรือพิมพ์ข้อความ

กําลังค้นหา Agent ของคุณ

เราอธิบายลักษณะของ Agent ใน Dialogflow ได้ดีที่สุดว่าโมดูล NLU (Natural Language Interpreting) ซึ่งอาจรวมอยู่ในแอป ผลิตภัณฑ์ หรือบริการเพื่อเปลี่ยนคําขอของผู้ใช้ทั่วไปให้เป็นข้อมูลที่นําไปใช้ได้จริง

ได้เวลาลองใช้ตัวแทนของคุณแล้ว ในเครื่องจําลองทางด้านขวา ให้คลิกช่องข้อความ ลองใช้เลย พิมพ์ "Hi" และกด Enter

Dialogflow จะระบุคําค้นหา ตรงกับ Intent ต้อนรับเริ่มต้น และตอบคําทักทายทั่วไป เนื่องจาก Dialogflow จะฝึกความตั้งใจต้อนรับเริ่มต้นโดยอัตโนมัติด้วยคําทักทายตัวอย่าง

สร้าง Agent ของ RBM

ลงชื่อเข้าใช้ Console สําหรับนักพัฒนาซอฟต์แวร์ทางธุรกิจ แล้วคลิกสร้าง Agent

ในช่องชื่อ ให้ป้อน "ชื่อร้านพิซซ่าของคุณ" (เช่น "พิซซ่าซีน่า&&tt;) เลือกภูมิภาค แล้วคลิกสร้างตัวแทน

เชื่อมต่อตัวแทน RBM ของคุณกับ Dialogflow

หลังจากสร้าง Agent ของ RBM แล้ว ให้คลิก Agent เพื่อดูหน้าภาพรวมของ Agent คลิกลิงก์การผสานรวมในการนําทางด้านซ้าย

โดยค่าเริ่มต้น ตัวแทน RBM จะใช้ Google Cloud Pub/Sub เพื่อจัดการข้อความสําหรับผู้ใช้ หากต้องการเชื่อมต่อ Agent RBM กับ Agent ของ Dialogflow ที่สร้างไว้ก่อนหน้านี้ ให้คลิกการผสานรวม Dialogflow

ในกล่องโต้ตอบ ให้คลิกเชื่อมต่อโมเดลที่มีอยู่ ทําตามวิธีการเพื่อให้สิทธิ์ตัวแทน RBM เพื่อเรียกใช้ตัวแทน Dialogflow เมื่อทําตามวิธีการเรียบร้อยแล้ว ให้คลิกถัดไป

สุดท้าย คุณจะต้องระบุรหัสโปรเจ็กต์ Dialogflow ในแท็บของเบราว์เซอร์ ต่างจาก Developer Communications สําหรับนักพัฒนาซอฟต์แวร์ ให้ไปที่ Dialogflow แล้วเปิด CodelabRBMPizzaPlace ที่สร้างไว้ก่อนหน้านี้ คลิกไอคอนรูปเฟืองใกล้กับชื่อโปรเจ็กต์ในการนําทางด้านซ้าย

เมื่อคลิกแล้วระบบจะนําคุณไปยังการตั้งค่าของโมเดล ในส่วน GOOGLE PROJECT ให้ค้นหาและคัดลอกรหัสโปรเจ็กต์

กลับไปยังแท็บของคุณโดยเปิด Business Communications Developer Console วางรหัสโปรเจ็กต์ลงในกล่องโต้ตอบ แล้วคลิกเริ่มการผสานรวม

ขั้นตอนนี้อาจใช้เวลาประมาณ 2 นาที เมื่อดําเนินการเสร็จสิ้น คุณควรเห็นตัวเลือกการผสานรวม Dialogflow อยู่และลิงก์ View Agent พร้อมให้ใช้งาน

ขณะนี้ข้อความทั้งหมดจาก Agent ของคุณจะส่งไปยัง Agent CodelabRBMPizzaPlace Dialogflow

เชิญอุปกรณ์ทดสอบและส่งข้อความ

ก่อนเจาะลึกงาน Dialogflow มาตั้งค่าอุปกรณ์ทดสอบกันก่อน หากคุณไม่มีอุปกรณ์ที่สามารถรับข้อความ RBM ได้ โปรดทําตามคําแนะนํานี้เพื่อเตรียมอุปกรณ์ของคุณให้พร้อม

จาก Google Business Communications Developer ให้คลิกอุปกรณ์ในการนําทางด้านซ้าย ในแบบฟอร์ม ให้ป้อนหมายเลขโทรศัพท์แบบเต็มของอุปกรณ์ในรูปแบบ E.164 (เช่น +12223334444) แล้วคลิกเพิ่ม

คุณจะได้รับคําเชิญให้ทดสอบในอุปกรณ์ แตะทําให้ฉันเป็นผู้ทดสอบ

ในเบราว์เซอร์ ให้ค้นหาอุปกรณ์ในรายการอุปกรณ์ และส่งข้อความทดสอบไปยังอุปกรณ์ หากคุณได้รับข้อความบนอุปกรณ์จากตัวแทน RBM ของคุณ แสดงว่าพร้อมใช้งาน Codelab นี้แล้ว

กําลังสร้าง Intent ต้อนรับ

โดยปกติแล้ว ตัวแทน RBM ที่ขับเคลื่อนโดย Dialogflow จะทําการสนทนาโดยเริ่มจากการเรียก API ที่ระบุหมายเลขโทรศัพท์ของผู้ใช้และ Intent ของ Dialogflow ที่เริ่มการสนทนา (โดยปกติจะเป็นการต้อนรับความตั้งใจของตัวแทน) สําหรับ Codelab นี้ เราจะข้ามขั้นตอนนี้และใช้ชุดข้อความการสนทนาที่เราสร้างไว้แล้วในขั้นตอนก่อนหน้าด้วยอุปกรณ์ทดสอบจากแผงควบคุมสําหรับนักพัฒนาซอฟต์แวร์ Business Communications แต่หากต้องการอ่านเพิ่มเติมเกี่ยวกับฟีเจอร์ API นี้ โปรดอ่านคู่มือนี้

เริ่มด้วยการเพิ่มการตอบกลับ RBM ใน Intent ต้อนรับเริ่มต้น เพื่อให้ Dialogflow ใช้กับ Agent ของ RBM ได้ ขั้นแรก ให้ไปที่แท็บเบราว์เซอร์ ที่มี Dialogflow เปิดอยู่ คลิกลิงก์ความตั้งใจในการนําทางด้านซ้าย ลบตัวอย่าง "ข้อความตอบกลับ&quot ตัวอย่างทั่วไป ด้วยการคลิกถังขยะที่มุมขวาบน จากนั้นคลิกความตั้งใจต้อนรับเริ่มต้น จากนั้นเลื่อนลงไปที่ส่วนคําตอบ คลิก + ในรายการประเภทคําตอบ และเลือก RCS Business Messaging (RBM)

คลิกเพิ่มคําตอบ แล้วเลือกคําตอบง่ายๆ ในช่องข้อความสําหรับการตอบกลับอย่างง่าย ให้ป้อน "ลองดูดีลร้านพิซซ่าพิซซ่าของวันนี้! ซื้อพิซซ่า 12 นิ้วใดก็ได้เพื่อรับฟรี 1! (แทนที่ Sean ด้วยชื่อของคุณ) จากนั้นคลิก บันทึก

การเริ่มต้นการสนทนา

เมื่อกําหนดค่าตามความตั้งใจต้อนรับแล้ว ให้กลับไปที่อุปกรณ์ทดสอบและส่งข้อความ "Hi" ข้อความนี้จะทริกเกอร์ความตั้งใจเริ่มต้นต้อนรับ และคุณจะเห็นบางอย่างที่คล้ายรูปภาพด้านล่างนี้

อัปเดตความตั้งใจต้อนรับ

เมื่อคุณมี Dialogflow ส่งข้อความแบบง่ายๆ แล้ว เรามาอัปเดตข้อความ ให้น่าสนใจมากขึ้นอีกสักหน่อย เราไม่เพียงต้องการส่งข้อความเกี่ยวกับดีลประจําวันเท่านั้น แต่ยังส่งรูปภาพที่ดึงดูดผู้ใช้ที่เป็นรับและส่งการดําเนินการอื่นๆ ที่ต้องการทํา

มาแทนที่ข้อความโฆษณาตอบกลับของเราที่เรียบง่ายด้วยการ์ดที่มีรูปภาพ และมีตัวเลือกให้ดูเมนูแบบเต็มและเว็บไซต์ของร้านอาหารด้วย

ในส่วนความตั้งใจต้อนรับเริ่มต้น's คําตอบ ให้เลือกแท็บRCS Business Messaging (RBM) อัปเดตข้อความ Simple Response ที่มีอยู่ ด้วย "ยินดีต้อนรับสู่ร้าน Sean’s Pizza Place ดูข้อเสนอโปรโมชันวันนี้&#39!" จากนั้นคลิกเพิ่มคําตอบ แล้วเลือกการ์ดสื่อสมบูรณ์แบบสแตนด์อโลน

ในแบบฟอร์ม Rich Card แบบสแตนด์อโลน ให้ป้อนข้อมูลต่อไปนี้

  • ชื่อการ์ด: ซื้อพิซซ่า 12 นิ้วพร้อมรับฟรี 1 รายการ
  • รายละเอียดบัตร: แสดงข้อความนี้ในสถานที่ที่เข้าร่วมเพื่อแลกสิทธิ์รับข้อเสนอนี้ ข้อเสนอจะหมดอายุวันที่ 17/2
  • เลือกการวางแนวการ์ด: แนวตั้ง
  • URL รูปภาพ/วิดีโอ: https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • เลือกความสูงของสื่อ: ปานกลาง

คลิกเพิ่มคําแนะนํา แล้วป้อนข้อมูลต่อไปนี้

  • ข้อความแนะนํา: ดูเมนู
  • ระบบรายงานผล Conversion สําหรับคําแนะนํา: โปรดตอบกลับ_view_menu

เพิ่มการกระทําของ URL แบบเปิดโดยคลิกเพิ่มคําแนะนํา แล้วเลือกการทํางานของ URL แบบเปิดจากเมนูแบบเลื่อนลง แล้วป้อนข้อมูลต่อไปนี้

  • ข้อความแนะนํา: ดูเว็บไซต์
  • ระบบรายงานผล Conversion สําหรับคําแนะนํา: โปรดตอบกลับ_view_website
  • URL ที่เปิด: https://www.google.com (หรือ URL ที่ถูกต้อง)

คลิกบันทึก

ลองใช้เลย

เมื่อโมเดลระบุว่า "การฝึกอบรมเสร็จสิ้นของตัวแทน" ให้กลับไปที่อุปกรณ์ของคุณและส่งข้อความ "สวัสดี" ไปยังตัวแทนของคุณ ตอนนี้ คุณควรเห็นการตอบกลับแบบง่าย ตามด้วยการ์ดริชมีเดียแบบสแตนด์อโลนที่เพิ่งออกแบบไว้

ลองแตะเมนูมุมมอง โปรดสังเกตว่าจะมีการเรียกใช้ Intent Fallback Intent เริ่มต้น ซึ่งเป็นเพราะตัวแทน Dialogflow ไม่ทราบวิธีจัดการข้อมูลระบบรายงานผล Conversion ที่คุณกําหนดค่าให้กับคําแนะนํานี้ "reply_view_menu"

มาแก้ปัญหานี้กัน

การสร้าง Intent ของเมนู

Dialogflow ใช้ความตั้งใจในการจัดหมวดหมู่ความตั้งใจของผู้ใช้ Intent มีวลีการฝึก ซึ่งเป็นตัวอย่างของสิ่งที่ผู้ใช้พูดกับตัวแทนของคุณ เช่น มีคนที่อยากรู้เมนู อาจถาม "เมนูอะไรในแบบของคุณquot; "ฉันจะกินอะไรบ้าง หรือ{/4}

คําค้นหาเหล่านี้ไม่ซ้ําแต่มีจุดประสงค์เหมือนกัน นั่นคือการรับข้อมูลเกี่ยวกับเมนู

หากต้องการครอบคลุมการค้นหานี้ ให้สร้าง "เมนู" ความตั้งใจ:

  1. ในการนําทางด้านซ้าย ให้คลิก + ข้าง Intent
  2. สําหรับชื่อ Intent ให้ป้อน "เมนู"
  3. ในส่วนวลีการฝึก ให้คลิกเพิ่มนิพจน์ผู้ใช้ และป้อนข้อมูลต่อไปนี้ จากนั้นกด Enter หลังจากแต่ละรายการ

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    วลีการฝึกล่าสุดจะใช้ในการแมปข้อมูล Postback ที่คุณกําหนดค่าไว้ในส่วนก่อนหน้าโดยมีเจตนานี้

เพื่อเป็นการตอบรับความตั้งใจนี้ เราจะสร้างภาพสไลด์ที่แสดงตัวเลือกเมนูต่างๆ สําหรับเมนูขนาดใหญ่ขึ้น คุณอาจต้องลิงก์ไปยังเว็บไซต์ หรือแชร์ภาพเดียวของรูปภาพ

  1. ในส่วนคําตอบ ให้คลิก + และเลือก RCS Business Messaging (RBM)
  2. คลิกเพิ่มคําตอบ แล้วเลือกการ์ดริชมีเดียแบบภาพสไลด์
  3. ตั้งค่าตัวเลือกเลือกความกว้างของการ์ดเป็นปานกลาง
  4. คลิกเพิ่มบัตร 2 ครั้งใต้ตัวเลือกความกว้าง การ์ดนี้จะเพิ่มจํานวนการ์ดเป็นทั้งหมด 4 ใบ
  5. ในการ์ด 1 ให้ป้อนข้อมูลต่อไปนี้
    • ชื่อการ์ด: ไส้กรอกและเปปเปอโรนี
    • คําอธิบายการ์ด: ไส้กรอก เปปเปอโรนี มะกอก และพริกหยวก
    • URL รูปภาพ/วิดีโอ: https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. ในการ์ด 3 ให้ป้อนข้อมูลต่อไปนี้
    • ชื่อการ์ด: อิตาลี
    • คําอธิบายการ์ด: ซอสจากมะเขือเทศ ชีส และไส้กรอก
    • URL รูปภาพ/วิดีโอ: https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. ในการ์ด 2 ให้ป้อนข้อมูลต่อไปนี้
    • ชื่อการ์ด: มาร์เกริต้า
    • คําอธิบายการ์ด: มะเขือเทศ San Marzano, ชีสมอซซาเรลล่า ใบโหระพาสด เกลือ และน้ํามันมะกอกบริสุทธิ์
    • URL รูปภาพ/วิดีโอ: https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. ในการ์ด 4 ให้ป้อนข้อมูลต่อไปนี้
    • ชื่อการ์ด: คํานํา
    • คําอธิบายการ์ด: ไส้กรอก, เปปเปอโรนี, แฮมเบอร์เกอร์, เบคอนแคนาดา, หอมใหญ่, มะกอก, เห็ด และพริกหยวก
    • URL รูปภาพ/วิดีโอ: https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

หลังทําตามรายการบัตรแล้ว เราต้องมีวิธีให้ผู้ใช้สนทนาต่อไปได้ หากต้องการสนับสนุน ให้คลิก เพิ่มคําตอบ แล้วเลือก แบบง่าย คําตอบ และป้อนข้อความ "ต้องการทําอย่างอื่น:quoquo;

ภายในคําตอบแบบง่าย ให้คลิกเพิ่มคําแนะนํา แล้วป้อนข้อมูลต่อไปนี้

  • ข้อความแนะนํา: ดูโปรโมชัน
  • ระบบรายงานผล Conversion สําหรับคําแนะนํา: สวัสดีคุณ

คลิกบันทึก

ลองใช้เลย

ทีนี้ลองขอเมนูจากตัวแทนของคุณ ในอุปกรณ์ ในการสนทนาสําหรับ ตัวแทน RBM ของคุณ ให้ป้อน "สิ่งที่อยู่ในเมนู?" และส่งข้อความถึงตัวแทนของคุณ

ในตอนนี้ Agent ของคุณตอบสนองต่อคําค้นหาได้อย่างถูกต้อง โปรดสังเกตว่า แม้ว่าคําค้นหาของคุณจะแตกต่างจากวลีการฝึกเล็กน้อย ("เมนูอะไร Dialogflow ยังจับคู่คําค้นหากับ Intent ที่ถูกต้อง นอกจากนี้ คุณยังลองแตะเมนูมุมมองในการ์ดริชมีเดียได้ด้วย

Dialogflow ใช้วลีการฝึกเป็นตัวอย่างสําหรับโมเดลแมชชีนเลิร์นนิงเพื่อจับคู่ผู้ใช้&#39 การค้นหากับความตั้งใจที่ถูกต้อง โมเดลแมชชีนเลิร์นนิงจะตรวจสอบการค้นหาโดยเทียบกับความตั้งใจทั้งหมดใน Agent ด้วย แล้วให้คะแนนความตั้งใจทั้งหมดและ ระบบจะจับคู่ความตั้งใจที่ได้คะแนนสูงสุด หากความตั้งใจในการให้คะแนนสูงสุดมีคะแนนต่ํามาก ระบบจะจับคู่ความตั้งใจสํารอง

บันทึก Intent โดยไม่ตอบกลับ

คุณดําเนินการใกล้เสร็จแล้ว แต่มีขั้นตอนสุดท้ายที่ต้องทํา หากคุณกลับไปที่อุปกรณ์ทดสอบแล้วแตะคําแนะนําดูเว็บไซต์ในการ์ดริชมีเดียเริ่มต้น คุณจะพบว่าการแตะคําแนะนํานี้ไม่เพียงเปิด URL ที่เชื่อมโยงเท่านั้น แต่ยังได้รับข้อความทริกเกอร์โดย Intent สํารองเริ่มต้นอีกด้วย

นั่นเป็นเพราะการดําเนินการ URL แบบเปิดส่งข้อความ Postback ของ "reply_view_website" ไปยัง Dialogflow เมื่อคุณแตะการดําเนินการและ Dialogflow จับคู่สิ่งนี้กับ Intent สํารองเริ่มต้น

หากต้องการบันทึกข้อมูล Postback โดยไม่ต้องตอบกลับทันที เราจะสร้าง Intent ที่มีวลีการฝึกที่ตรงกับข้อมูล Postback และลบการตอบกลับทั้งหมดของ Intent Dialogflow จะจับคู่ข้อมูล Postback กับ Intent แต่จะไม่ตอบกลับเพราะ Intent ไม่มีการตอบกลับ# เลย

กําลังสร้าง Intent การไม่ตอบกลับ

หากต้องการครอบคลุมการกระทําที่คุณต้องการละเว้น โปรดสร้าง "ไม่มีการตอบกลับ" ความตั้งใจ:

  1. ในการนําทางด้านซ้าย ให้คลิก + ข้าง Intent
  2. สําหรับชื่อ Intent ให้ป้อน "ไม่มีการตอบกลับ"
  3. ในส่วนวลีการฝึก ให้คลิกเพิ่มนิพจน์ผู้ใช้ และป้อนข้อมูลต่อไปนี้ จากนั้นกด Enter หลังจากแต่ละรายการ
    • reply_view_website
  4. เลื่อนลงไปที่คําตอบแล้วนําคําตอบทั้งหมดออกโดยใช้ไอคอนถังขยะ

คลิกบันทึก

ลองใช้เลย

บนอุปกรณ์ของคุณ สําหรับตัวแทน RBM ของคุณ ให้ป้อน "hi" และส่งข้อความถึงตัวแทนของคุณ ซึ่งจะทริกเกอร์ข้อเสนอโปรโมชันจากความตั้งใจต้อนรับเริ่มต้น คลิกดูคําแนะนําเว็บไซต์ แล้วสังเกตว่าเว็บไซต์เปิดในเบราว์เซอร์ และจะไม่มีการส่งการตอบกลับจากตัวแทน

เสร็จแล้ว

ระยะเวลา: 1:00

เยี่ยมไปเลย

คุณได้ผ่านขั้นตอนทั้งหมดในการสร้าง Agent ของ RBM ที่เรียบง่ายและขับเคลื่อนโดย Dialogflow แล้ว

หากสนใจดูข้อมูลเพิ่มเติม โปรดดู Codelab ขั้นสูง

ขอให้สนุกกับการพัฒนาสําหรับแพลตฟอร์มใหม่ที่น่าตื่นเต้นนี้