สร้างส่วนเสริม Dialogflow CX ที่ขยาย Google Chat ซึ่งเข้าใจและตอบกลับด้วยภาษาที่เป็นธรรมชาติ

หน้านี้อธิบายวิธีสร้างแอป Google Chat ที่ทั้ง เข้าใจและตอบกลับด้วยภาษาที่เป็นธรรมชาติโดยใช้ Dialogflow คู่มือนี้ใช้ Dialogflow CX ซึ่งมีการผสานรวมโดยตรงกับ Google Chat นอกจากนี้ คุณยังใช้ Dialogflow ES เพื่อสร้างแอป Google Chat ของ Dialogflow ES ได้โดยทำตามคำแนะนำ Dialogflow ES Google Chat

ตัวอย่างเช่น ลองนึกถึงแอป Chat ที่ช่วยให้ผู้ใช้เช่ารถได้ ผู้ใช้อาจเขียนว่า "ฉันอยากเช่ารถ" แอป Chat อาจตอบกลับด้วยคำถาม เช่น "คุณต้องการรับรถที่ไหน" ซึ่งจะเริ่มการสนทนา กับผู้ใช้ที่เหมือนมนุษย์ โดยแอป Chat จะทั้ง เข้าใจและตอบกลับด้วยคำพูดของมนุษย์ขณะจองรถเช่า

นี่เป็นเพียงตัวอย่างหนึ่ง แอป Dialogflow Chat มีประโยชน์ในการโต้ตอบทุกประเภท หากต้องใช้คำพูดที่เป็นธรรมชาติของมนุษย์ ก็ต้องใช้แอป Dialogflow Chat เอเจนต์ที่สร้างไว้ล่วงหน้า จะช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็ว และแสดงให้เห็นว่า Dialogflow ทำอะไรได้บ้าง เช่น

  • จองเที่ยวบิน
  • นัดหมายแพทย์
  • สั่งบริการส่งอาหาร
  • ตอบคำถามเกี่ยวกับแคตตาล็อกผลิตภัณฑ์ค้าปลีก เช่น สินค้ามีสีอื่นหรือไม่
  • หน้าการเลือก Agent ของ Dialogflow ที่สร้างไว้ล่วงหน้า
    รูปที่ 1 การเลือก Agent ที่สร้างไว้ล่วงหน้าสำหรับแอป Dialogflow Chat
  • การทดสอบ Agent ใน Dialogflow CX
    รูปที่ 2 ทดสอบ Agent ใน Dialogflow CX เพื่อให้มั่นใจว่าตรรกะและการกำหนดค่าของ Agent ทำงานได้ตามที่ต้องการ แผนภาพแสดงชุดหน้าเว็บตามหัวข้อที่ต่อเนื่องกันซึ่งเกี่ยวข้องกับขั้นตอนที่เฉพาะเจาะจงในการสนทนา เช่น การตั้งค่าสถานที่รับและส่งคืนรถเช่า และกำหนดค่าตรรกะที่เชื่อมต่อหน้าเว็บเหล่านั้น ระบบจะทดสอบการสนทนาในโปรแกรมจำลอง
  • การกำหนดค่าแอปแชท Dialogflow
    รูปที่ 3 การกำหนดค่าแอป Chat เพื่อประมวลผลคำตอบโดยใช้ Agent ของ Dialogflow CX ในหน้าการกำหนดค่า Chat API ในคอนโซล Google Cloud
  • การทดสอบแอปแชทของ Dialogflow CX
    รูปที่ 4 การสนทนาเกี่ยวกับการจองรถเช่าด้วยแอป Dialogflow Chat ใน Google Chat

วัตถุประสงค์

  • ตั้งค่าสภาพแวดล้อม
  • สร้างและติดตั้งใช้งาน Agent ของ Dialogflow CX
  • สร้างและติดตั้งใช้งานแอปใน Chat ที่ขับเคลื่อนโดย เอเจนต์ Dialogflow CX
  • ทดสอบแอป Chat

ข้อกำหนดเบื้องต้น

สถาปัตยกรรม

แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของแอป Chat ที่สร้างด้วย Dialogflow

สถาปัตยกรรมของแอปใน Chat ที่ใช้งานด้วย Dialogflow

ในแผนภาพก่อนหน้า ผู้ใช้ที่โต้ตอบกับแอปแชท Dialogflow จะมีโฟลว์ข้อมูลดังนี้

  1. ผู้ใช้ส่งข้อความใน Chat ไปยัง แอป Chat ไม่ว่าจะในข้อความส่วนตัวหรือใน พื้นที่ใน Chat
  2. ตัวแทนเสมือนของ Dialogflow ซึ่งอยู่ใน Google Cloud จะรับและประมวลผลข้อความเพื่อสร้างคำตอบ
  3. ไม่บังคับ: การใช้Webhook ของ Dialogflow ช่วยให้ Agent ของ Dialogflow โต้ตอบกับบริการของบุคคลที่สามภายนอกได้ เช่น ระบบการจัดการโปรเจ็กต์หรือเครื่องมือออกตั๋ว
  4. เอเจนต์ Dialogflow จะส่งคำตอบกลับไปยัง บริการแอป Chat ใน Chat
  5. ระบบจะส่งคำตอบไปยังพื้นที่ใน Chat

ตั้งค่าสภาพแวดล้อม

ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้
  1. ในคอนโซล Google Cloud ให้เปิดใช้ Google Chat API และ Dialogflow API

    เปิดใช้ API

  2. ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่ถูกต้อง แล้วคลิกถัดไป

  3. ยืนยันว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้

สร้างเอเจนต์ Dialogflow CX

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

ตัวแทน Dialogflow ก็เหมือนเจ้าหน้าที่คอลเซ็นเตอร์ที่เป็นมนุษย์ คุณฝึกทั้ง 2 โมเดล เพื่อจัดการกับสถานการณ์การสนทนาที่คาดไว้ และการฝึกไม่จำเป็นต้อง เจาะจงมากเกินไป

วิธีสร้างเอเจนต์ Dialogflow CX มีดังนี้

  1. ในคอนโซล Dialogflow CX ให้เปิดคอนโซล Dialogflow CX คลิก เมนู > Dialogflow CX

    ไปที่คอนโซล Dialogflow CX

  2. เลือกโปรเจ็กต์ Google Cloud หากต้องการค้นหาโปรเจ็กต์ คุณอาจต้อง คลิกทั้งหมด แล้วค้นหา

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

    หากต้องการเลือกเอเจนต์ที่สร้างไว้ล่วงหน้า ให้ทำตามขั้นตอนต่อไปนี้

    1. คลิกใช้เอเจนต์ที่สร้างไว้ล่วงหน้า
    2. เลือกเอเจนต์ที่สร้างไว้ล่วงหน้า สำหรับคู่มือนี้ ให้เลือก การเดินทาง: เช่ารถ

      ระบบจะจัดประเภท Agent เป็นระดับเริ่มต้น ระดับกลาง หรือระดับสูง โดยอิงตามจำนวนฟีเจอร์ที่ Agent ใช้ และตามความซับซ้อนของตรรกะการสนทนา การเลือกเอเจนต์ระดับกลางหรือระดับสูงอาจต้องมีการปรับแต่งและการตั้งค่าเฉพาะเอเจนต์ ซึ่งรวมถึงการเปิดใช้ฟีเจอร์และ API ในคอนโซล Google Cloud

    3. คลิกนำเข้าในฐานะตัวแทน

    หากต้องการสร้างเอเจนต์ของคุณเอง ให้ทำตามขั้นตอนต่อไปนี้

    1. คลิกสร้างเอเจนต์
    2. เลือกสร้างอัตโนมัติเพื่อสร้างตัวแทนที่เก็บข้อมูล หรือเลือกสร้างเองเพื่อสร้างตัวแทนประเภทอื่นๆ

    ดูคำแนะนำแบบทีละขั้นตอนโดยละเอียดเกี่ยวกับกระบวนการสร้างเอเจนต์ได้ที่ สร้างเอเจนต์ Dialogflow CX

  4. กำหนดการตั้งค่าพื้นฐานของเอเจนต์

    1. ในชื่อที่แสดง ให้ป้อนชื่อที่แสดง
    2. เลือกสถานที่ที่ต้องการ หากต้องการเปลี่ยนการตั้งค่าตำแหน่งขั้นสูง ให้คลิกแก้ไข
    3. เลือกเขตเวลาที่ต้องการ
    4. เลือกภาษาเริ่มต้นสำหรับตัวแทน คุณเปลี่ยนภาษาเริ่มต้นของตัวแทนหลังจากสร้างแล้วไม่ได้
  5. คลิกสร้าง Dialogflow CX จะเริ่มสร้าง Agent แล้วแสดงโฟลว์เริ่มต้นเริ่มต้นของ Agent

  6. ปรับแต่งเอเจนต์ (ไม่บังคับ) ดูคำแนะนำแบบทีละขั้นตอนโดยละเอียดเกี่ยวกับกระบวนการปรับแต่งเอเจนต์ได้ที่สร้างเอเจนต์ Dialogflow CX

  7. แนวทางปฏิบัติแนะนำคือการทดสอบเอเจนต์

    1. คลิกทดสอบเอเจนต์
    2. เลือกทดสอบเอเจนต์ในสภาพแวดล้อม
    3. เลือกฉบับร่างในสภาพแวดล้อม
    4. ใน Flow ให้เลือก Default Start Flow
    5. ใน Page ให้เลือก Start Page
    6. ในช่องสำหรับเขียนของพูดคุยกับตัวแทน ให้พิมพ์ Hello แล้วกด Enter เอเจนต์จะตอบกลับด้วยการแนะนำตัว
    7. ทำการทดสอบให้เสร็จสิ้นโดยสนทนาตัวอย่างการทดสอบ
  8. สร้าง Agent ของ Dialogflow CX แล้ว กลับไปที่คอนโซล Dialogflow CX คลิกเมนู > Dialogflow CX

    ไปที่คอนโซล Dialogflow CX

  9. ในส่วนตัวแทน ให้คลิก > คัดลอกชื่อ บันทึกชื่อนี้ไว้ เนื่องจาก คุณจะใช้ชื่อนี้เมื่อกำหนดค่าแอป Chat

สร้างแอป Chat และเชื่อมต่อกับ Agent ของ Dialogflow

หลังจากสร้างเอเจนต์ Dialogflow CX แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยนเอเจนต์ให้เป็นแอปแชท

  1. ในคอนโซล Google Cloud ให้ไปที่ Google Chat API ค้นหา "Google Chat API" แล้วคลิก Google Chat API จากนั้นคลิกจัดการ

    ไปที่ Chat API

  2. คลิกการกำหนดค่า แล้วตั้งค่าแอป Chat ดังนี้

    1. ในส่วนชื่อแอป ให้ป้อน Dialogflow App
    2. ใน URL ของรูปโปรไฟล์ ให้ป้อน https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
    3. ในคำอธิบาย ให้ป้อน Responds to real human conversation
    4. ในส่วนฟังก์ชันการทำงาน ให้เลือกเข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
    5. เลือก Dialogflow ในส่วนการตั้งค่าการเชื่อมต่อ
    6. ในส่วนการตั้งค่า Dialogflow ให้เลือก Dialogflow CX
    7. ในชื่อทรัพยากรของ Agent หรือสภาพแวดล้อม ให้วางชื่อ Agent ของ Dialogflow CX ที่คุณคัดลอกไว้ที่ส่วนท้ายของ สร้าง Agent ของ Dialogflow CX
    8. ทำให้แอป Chat นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
    9. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
  3. คลิกบันทึก

แอป Chat พร้อมรับและตอบกลับ ข้อความใน Chat แล้ว

ทดสอบแอป Chat

ทดสอบแอปแชท Dialogflow CX โดยส่งข้อความถึงแอปใน Google Chat

  1. เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุเมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้

    ไปที่ Google Chat

  2. คลิก แชทใหม่
  3. ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
  4. เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น

  5. ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์ Hello แล้ว กด enter

    แอป Dialogflow Chat จะตอบกลับด้วยการแนะนำตัว

  6. ทำการทดสอบให้เสร็จโดยมีการสนทนาทดสอบตัวอย่าง

ตัวอย่างการสนทนาทดสอบ

หากต้องการทดสอบแอปแชทของ Dialogflow CX ในคอนโซล Dialogflow CX หรือใน Google Chat ให้สนทนาดังนี้ คำอธิบายจะช่วยให้คุณเข้าใจวิธีที่เอเจนต์ Dialogflow CX ตีความภาษาธรรมชาติของผู้ใช้และสร้างคำตอบเป็นภาษาธรรมชาติของตัวเองในแต่ละขั้นตอนของการสนทนา การสนทนาตัวอย่างนี้อิงตาม เอเจนต์ที่สร้างไว้ล่วงหน้า ชื่อ Travel: car rental

Dialog คำอธิบาย
ผู้ใช้ปลายทาง: สวัสดี
ตัวแทน: สวัสดี ฉันคือตัวแทนบริษัทรถเช่าเสมือน เราช่วยคุณเริ่มการจองรถเช่าใหม่ได้ วันนี้เราจะช่วยคุณในเรื่องใด
  1. ระบบจะเรียกเส้นทาง Default Welcome Intent ใน Default Start Flow
  2. การดำเนินการตามคำสั่งซื้อสำหรับตัวแฮนเดิลสถานะนี้ ("สวัสดี ฉัน...") จะเพิ่มลงในคิวการตอบกลับ
  3. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: ฉันต้องการเช่ารถ
ตัวแทน: คุณต้องการไปรับยานพาหนะที่ใด
  1. ระบบจะจับคู่เส้นทาง Intent car_rental.reservation_create ในหน้าเริ่มต้น
  2. เซสชันจะเปลี่ยนไปที่หน้าสถานที่รับ
  3. แบบฟอร์มหน้าสถานที่รับสินค้าไม่สมบูรณ์ ดังนั้นตัวแทนจึงใช้พารามิเตอร์ pickup_location เพื่อแจ้งให้ผู้ใช้ทราบ ("คุณต้องการรับสินค้าที่ใด") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  4. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: ลาสเวกัส
ตัวแทน: โอเค การรับสินค้าของคุณจะอยู่ในลาสเวกัส
ตัวแทน: สถานที่นำส่งแตกต่างจากสถานที่ รับสินค้าไหม
  1. ข้อมูลที่ผู้ใช้ปลายทางป้อนจะกรอกพารามิเตอร์ pickup_location ที่ Agent ร้องขอใน การสนทนาก่อนหน้า
  2. ระบบจะจับคู่เส้นทางในโฟลว์เริ่มต้นเริ่มต้นกับเจตนา car_rental.return_different_location
  3. ระบบจะประเมินและเรียกเส้นทางการกรอกแบบฟอร์มในหน้าสถานที่รับสินค้า โดยมีข้อความแจ้งการดำเนินการ ("โอเค การรับสินค้า...") ซึ่งจะเพิ่ม ลงในคิวการตอบกลับโดยมีการอ้างอิงพารามิเตอร์ที่แปลงเป็น ค่าจริงที่ผู้ใช้ปลายทางระบุ
  4. เซสชันจะเปลี่ยนไปที่หน้ายืนยันตำแหน่ง
  5. หน้ายืนยันสถานที่มีรายการที่ต้องดำเนินการ ("สถานที่ส่งของคุณแตกต่างจาก...") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  6. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: ได้ ฉันจะคืนรถที่ลอสแองเจลิส
ตัวแทน: โอเค จุดส่งของคุณจะอยู่ที่ลอสแอนเจลิส
ตัวแทน: คุณต้องการรับรถวันและเวลาใด
  1. ระบบจะจับคู่เส้นทางในโฟลว์เริ่มต้นเริ่มต้นกับเจตนา car_rental.return_different_location
  2. เซสชันจะเปลี่ยนไปที่หน้าสถานที่ตั้งที่ส่ง
  3. อินพุตของผู้ใช้ปลายทางจะกรอกพารามิเตอร์ drop_off_location ที่ Agent ร้องขอใน การสนทนาก่อนหน้า
  4. ระบบจะประเมินและเรียกเส้นทางการกรอกแบบฟอร์มในหน้าสถานที่ส่ง โดยมีข้อความตอบกลับ ("โอเค เราจะส่งรถไปรับคุณ...") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  5. เซสชันจะเปลี่ยนไปที่หน้าระยะเวลาการเช่า
  6. หน้าระยะเวลาการเช่ามีค่าแบบฟอร์มที่ไม่สมบูรณ์ จึงแจ้งให้ผู้ใช้ระบุพารามิเตอร์ pickup_date_time ("คุณต้องการรับรถในวันที่และเวลาใด") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  7. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: ฉันต้องการไปรับรถในวันที่ 5 มีนาคมตอนเที่ยง
ตัวแทน: คุณต้องการนำรถมาส่งวันและเวลาใด
  1. ข้อมูลที่ผู้ใช้ปลายทางป้อนจะกรอกพารามิเตอร์ pickup_date_time ที่ Agent ร้องขอใน การสนทนาก่อนหน้า
  2. หน้าระยะเวลาการเช่ามีค่าแบบฟอร์มที่ขาดหายไปอีก จึงแจ้งให้ผู้ใช้ระบุพารามิเตอร์ drop_off_date_time ("คุณต้องการคืนรถวันที่และเวลาใด") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  3. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: 15 มีนาคม เวลา 12:00 น.
ตัวแทน: เพื่อยืนยัน

คุณจะรับรถที่ ลาสเวกัส 2024-03-05 12:00:00 และส่งคืนที่ ลอสแอนเจลิส 2024-03-15 12:00:00

ข้อมูลถูกต้องไหม
  1. ข้อมูลที่ผู้ใช้ปลายทางป้อนจะกรอกข้อมูลในพารามิเตอร์ drop_off_date_time ที่ Agent ร้องขอใน การสนทนาก่อนหน้า
  2. เซสชันจะเปลี่ยนไปที่หน้ายืนยันระยะเวลาการเช่า
  3. หน้ายืนยันระยะเวลาการเช่ามีรายการที่ต้องดำเนินการ ("ดังนั้นเพื่อยืนยัน...") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  4. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: ได้ ขอบคุณ
ตัวแทน: ยอดเยี่ยม ตอนนี้มาเลือกรถกัน
ตัวแทน: คุณต้องการรถราคาประหยัดหรือรถหรู
  1. ระบบจะจับคู่เส้นทางในเจตนา small_talk.confirmation.yes ในหน้ายืนยันระยะเวลาการเช่า
  2. ตัวแทนจะยืนยันตัวเลือกของผู้ใช้ด้วยข้อความ ("เยี่ยมเลย มาเลือกกันเลย") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  3. เซสชันจะเปลี่ยนไปที่หน้าการแยกความกำกวมของยานพาหนะ
  4. แบบฟอร์มหน้าการแยกความกำกวมของยานพาหนะไม่สมบูรณ์ ดังนั้น เอเจนต์จึงใช้พารามิเตอร์ vehicle_type เพื่อแจ้งผู้ใช้ ("คุณต้องการรถยนต์แบบประหยัดหรือหรูหรา...") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  5. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: ขอแบบประหยัด
ตัวแทน: คุณต้องการรถยนต์หรือรถบรรทุกของ Cymbal
  1. ระบบจะจับคู่เส้นทางเจตนา $session.params.vehicle_type="economy_vehicle"
  2. เซสชันจะเปลี่ยนไปที่หน้าตัวเลือกเศรษฐกิจ
  3. หน้าตัวเลือกประหยัดมีรายการที่ต้องดำเนินการ ("คุณต้องการ... ไหม") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  4. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง: Cymbal Truck
ตัวแทน: รถบรรทุก Cymbal มีราคา $50.33 ต่อวัน โดยสามารถจุคนได้ 4 คนและมีวิทยุ AM/FM คุณต้องการดำเนินการชำระเงินไหม
ผู้ใช้ปลายทาง: ได้เลย
  1. ระบบจะจับคู่เส้นทางของเจตนา $session.params.vehicle_type="Cymbal Truck" และกรอกพารามิเตอร์ vehicle_model
  2. เซสชันจะเปลี่ยนไปที่หน้ายืนยันรถบรรทุก Cymbal
  3. หน้ายืนยันรถบรรทุกฉาบมีรายการการปฏิบัติตามคำสั่ง ("รถบรรทุกฉาบราคา $50.33 ต่อวัน...") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  4. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
  5. คำตอบของผู้ใช้ตรงกับเส้นทาง small_talk.confirmation.yes
ตัวแทน: คุณจะใช้บัตรประเภทใด
ผู้ใช้ปลายทาง: Altostrat
ตัวแทน: โปรดป้อนหมายเลขบัตรเครดิต
ผู้ใช้ปลายทาง: 1234 1234 1234 1234
ตัวแทน: ชื่อบนบัตรคืออะไร
ผู้ใช้ปลายทาง: ชาร์ลี
ตัวแทน: ที่อยู่สำหรับการเรียกเก็บเงินคืออะไร
ผู้ใช้ปลายทาง: 1800 Amphibious Blvd. Mountain View, CA
ตัวแทน: รหัสไปรษณีย์สำหรับการเรียกเก็บเงินคืออะไร
ผู้ใช้ปลายทาง: 94045
ตัวแทน: คุณจะรับรถ Cymbal ในลาสเวกัส วันที่ 05-03-2024 เวลา 12:00:00 และส่งคืนวันที่ 15-03-2024 เวลา 12:00:00 ราคารวมสำหรับการเดินทางนี้คือ $175.38
ตัวแทน: ขอขอบคุณที่เช่ากับเราและขอให้มีความสุข
  1. เซสชันจะเปลี่ยนไปที่หน้าการชำระเงิน
  2. แบบฟอร์มการชำระเงินยังไม่สมบูรณ์ ดังนั้นเอเจนต์จึงแจ้งให้ ผู้ใช้ระบุพารามิเตอร์ card_type, card_number, billing_name, billing_street_address และ billing_zip_code ("คุณจะใช้บัตรประเภทใด...") ซึ่งจะเพิ่มลงในคิวการตอบกลับตามลำดับและส่งเมื่อผู้ใช้ตอบกลับ คำตอบของผู้ใช้จะกำหนดค่าพารามิเตอร์แต่ละค่า
  3. เซสชันจะเปลี่ยนไปที่หน้าการยืนยันการเช่า
  4. หน้าการยืนยันการเช่ามีรายการที่ดำเนินการ ("โอเค การรับรถของคุณจะ...") ซึ่งจะเพิ่มลงในคิวการตอบกลับ
  5. เอเจนต์จะส่งคิวการตอบกลับไปยังผู้ใช้ปลายทาง
  6. ระบบจะเปลี่ยนเซสชันไปที่หน้าสิ้นสุดเซสชัน

ส่งข้อความการ์ดจาก Dialogflow

Dialogflow สามารถตอบกลับด้วยข้อความหรือข้อความการ์ด หากต้องการตอบกลับด้วยข้อความการ์ด ให้ระบุเป็นเพย์โหลดที่กำหนดเองในการดำเนินการตามคำสั่งซื้อ

JSON ต่อไปนี้แสดงวิธีส่งข้อความการ์ดเป็นเพย์โหลดที่กำหนดเองในการ ดำเนินการตามคำสั่ง

json

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": { "cardsV2": [{
    "cardId": "createCardMessage",
    "card": {
      "header": {
        "title": "A card message!",
        "subtitle": "Sent from Dialogflow",
        "imageUrl": "https://developers.google.com/chat/images/chat-product-icon.png",
        "imageType": "CIRCLE"
      },
      "sections": [{ "widgets": [{ "buttonList": { "buttons": [{
        "text": "Read the docs!",
        "onClick": { "openLink": {
          "url": "https://developers.google.com/workspace/chat"
        }}
      }]}}]}]
    }
  }]}
}}}}

ข้อจำกัดและข้อควรพิจารณา

  • เมื่อใช้ส่วนเสริม Google Workspace กับ Dialogflow ออบเจ็กต์เหตุการณ์แชท จะมีข้อจำกัดและข้อควรพิจารณาดังต่อไปนี้
    • เหตุการณ์ในหน้าแรกของแอป: ระบบยังไม่รองรับเหตุการณ์ APP_HOME
    • อินพุตการค้นหาของ Dialogflow: ข้อความที่ส่งเป็นอินพุตการค้นหาไปยัง Agent ของ Dialogflow จะขึ้นอยู่กับประเภทเหตุการณ์ ดังนี้
      • MESSAGE: ค่าของฟิลด์ argumentText จาก ข้อความแชท
      • APP_COMMAND: สตริง "APP_COMMAND_PAYLOAD"
      • ADDED_TO_SPACE: สตริง "ADDED_TO_SPACE_PAYLOAD"
      • REMOVED_FROM_SPACE: สตริง "REMOVED_FROM_SPACE_PAYLOAD"
      • CARD_CLICKED: สตริง "BUTTON_CLICKED_PAYLOAD"
      • WIDGET_UPDATED: สตริง "WIDGET_UPDATED_PAYLOAD" (ใช้สำหรับการ เติมข้อความอัตโนมัติ)
    • เพย์โหลดของเหตุการณ์แบบเต็ม: ระบบจะส่งเพย์โหลด JSON แบบเต็มของเหตุการณ์การโต้ตอบในแชทไปยัง Dialogflow ภายในฟิลด์ WebhookRequest.payload คุณเข้าถึงข้อมูลนี้ได้ใน Webhook ของ Dialogflow ดูข้อมูลเพิ่มเติมได้ที่ เอกสารประกอบเกี่ยวกับคำขอ Webhook ของ Dialogflow CX
  • ข้อควรพิจารณาในการตอบกลับคำสั่งและรับข้อมูลจากการ์ดหรือกล่องโต้ตอบ
  • ไม่รองรับตัวอย่างลิงก์
  • หากเอเจนต์ Dialogflow ตอบกลับด้วยข้อความเพียงข้อความเดียว ระบบจะส่งข้อความ ไปยัง Google Chat แบบพร้อมกัน หากตัวแทน Dialogflow ตอบกลับ ด้วยข้อความหลายรายการ ระบบจะส่งข้อความทั้งหมดไปยัง Chat แบบไม่พร้อมกันโดยการเรียกใช้เมธอด create ในทรัพยากร spaces.messages ใน Chat API 1 ครั้งต่อข้อความ 1 รายการ
  • เมื่อใช้การผสานรวม Dialogflow CX กับ Chat คุณต้องตั้งค่าเอเจนต์ Dialogflow และแอป Chat ในโปรเจ็กต์ Google Cloud เดียวกัน หากต้องการตั้งค่า Dialogflow และ Chat ในโปรเจ็กต์ Cloud ที่ต่างกัน คุณสามารถ ตั้งค่าเซิร์ฟเวอร์กลางเพื่ออำนวยความสะดวกในการเชื่อมต่อได้ ดูวิธีได้ที่ ตัวอย่างการผสานรวม Chat สำหรับ Dialogflow CX ใน GitHub

แก้ปัญหา

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

ล้างข้อมูล

เราขอแนะนำให้คุณลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร

    ไปที่เครื่องมือจัดการทรัพยากร

  2. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ
  3. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบ โปรเจ็กต์
  • Dialogflow CX ใช้แนวทาง เครื่องสถานะ ในการออกแบบเอเจนต์ Dialogflow ซึ่งช่วยให้คุณควบคุมการสนทนาได้อย่างชัดเจนและตรงไปตรงมา รวมถึงมอบประสบการณ์การใช้งานที่ดียิ่งขึ้นแก่ผู้ใช้ปลายทางและเวิร์กโฟลว์การพัฒนาที่ดียิ่งขึ้น เมื่อสร้างแอป Dialogflow Chat เราขอแนะนำให้ใช้ Dialogflow CX
    • ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและกำหนดค่าเอเจนต์ได้ที่เอเจนต์ Dialogflow CX
    • ดูคำแนะนำแบบทีละขั้นตอนโดยละเอียดเกี่ยวกับวิธีสร้างและกำหนดค่าเอเจนต์ได้ที่สร้างเอเจนต์ Dialogflow CX
  • Dialogflow ES เป็นอีกวิธีหนึ่งในการใช้ Dialogflow กับแอปแชท