หน้านี้อธิบายวิธีสร้างแอป Google Chat ที่ทั้งเข้าใจและตอบสนองด้วยภาษาธรรมชาติได้โดยใช้ Dialogflow คู่มือนี้ใช้ Dialogflow CX ซึ่งมีการผสานรวมกับ Google Chat โดยตรงในตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ นอกจากนี้ คุณยังใช้ Dialogflow ES เพื่อสร้างแอป Google Chat ของ Dialogflow ES ได้โดยทำตามคู่มือ Dialogflow ES Google Chat
ตัวอย่างเช่น ลองพิจารณาแอป Chat ที่ช่วยผู้คนในการเช่ารถ ผู้ใช้อาจเขียนว่า "ฉันอยากเช่ารถ" แอป Chat อาจตอบกลับด้วยคำถาม เช่น "คุณต้องการไปรับรถที่ไหน" ซึ่งจะเริ่มต้นการสนทนาที่คล้ายกับผู้ใช้ ซึ่งแอป Chat นั้นทั้งทำความเข้าใจและโต้ตอบด้วยคำพูดของมนุษย์ขณะจองรถเช่า
นี่เป็นเพียงตัวอย่างหนึ่ง แอป Dialogflow Chat มีประโยชน์ ในการโต้ตอบทุกรูปแบบ หากต้องใช้คำพูดที่มนุษย์พูดเป็นธรรมชาติ แอปก็ต้องมีแอป Chat สำหรับ Dialogflow ตัวแทนที่สร้างไว้ล่วงหน้า ช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็วและแสดงสิ่งที่ Dialogflow ทำได้ เช่น
- จองเที่ยวบิน
- นัดพบแพทย์
- สั่งอาหารส่งถึงบ้าน
- ตอบคำถามเกี่ยวกับแคตตาล็อกผลิตภัณฑ์ค้าปลีก เช่น สินค้ามีในสีอื่นๆ หรือไม่
-
รูปที่ 2 ทดสอบ Agent ใน Dialogflow CX เพื่อให้แน่ใจว่าตรรกะและการกำหนดค่าของ Agent ทำงานได้ตามที่ต้องการ แผนภาพนี้แสดงชุดหน้าเว็บตามหัวข้อตามลำดับที่เกี่ยวข้องกับขั้นตอนที่เจาะจงในการสนทนา เช่น การตั้งค่าสถานที่รับและส่งคืนรถเช่า รวมทั้งกำหนดค่าตรรกะที่เชื่อมโยงคำขอนั้น ระบบจะทดสอบการสนทนาในเครื่องมือจำลอง -
รูปที่ 3 การกำหนดค่าแอป Chat เพื่อประมวลผลคำตอบโดยใช้ Agent ของ Dialogflow CX ในหน้าการกำหนดค่า Chat API ในคอนโซล Google Cloud -
รูปที่ 4 พูดคุยเกี่ยวกับการจองรถเช่าด้วยแอป Dialogflow Chat ใน Google Chat
วัตถุประสงค์
- ตั้งค่าสภาพแวดล้อมของคุณ
- สร้างและทำให้ Agent ของ Dialogflow CX ใช้งานได้
- สร้างและทำให้แอป Chat ที่ขับเคลื่อนโดย Agent ของ Dialogflow CX ใช้งานได้
- ทดสอบแอป Chat
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace ที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud
- โปรดตรวจสอบว่าได้เปิดการเรียกเก็บเงินสําหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์แล้ว ดูวิธีตรวจสอบสถานะการเรียกเก็บเงินของโปรเจ็กต์
สถาปัตยกรรม
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของแอป Chat ที่สร้างด้วย Dialogflow
ในแผนภาพก่อนหน้า ผู้ใช้ที่โต้ตอบกับแอป Dialogflow Chat จะมีโฟลว์ข้อมูลต่อไปนี้
- ผู้ใช้ส่งข้อความใน Chat ไปยังแอป Chat ทั้งในข้อความส่วนตัวหรือในพื้นที่ใน Chat
- Agent เสมือนของ Dialogflow ซึ่งอยู่ใน Google Cloud รับและประมวลผลข้อความเพื่อสร้างคำตอบ
- นอกจากนี้ คุณยังสามารถใช้เว็บฮุคของ Dialogflow เพื่อโต้ตอบกับบริการของบุคคลที่สามภายนอกได้ เช่น ระบบการจัดการโปรเจ็กต์หรือเครื่องมือจำหน่ายตั๋ว
- Agent ของ Dialogflow จะส่งการตอบกลับกลับไปยังบริการ แอปใน Chat ใน Chat
- คำตอบจะส่งไปยังพื้นที่ใน Chat
ตั้งค่าสภาพแวดล้อม
ก่อนใช้ Google APIs คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API ได้มากกว่า 1 รายการในโปรเจ็กต์ Google Cloud เดียวเปิดใช้ Google Chat API และ Dialogflow API ในคอนโซล Google Cloud
ยืนยันว่าคุณเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่ถูกต้อง แล้วคลิกถัดไป
ยืนยันว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
สร้าง Agent ของ Dialogflow CX
เอเจนต์ Dialogflow CX คือตัวแทนเสมือนที่จัดการการสนทนากับผู้ใช้ปลายทางพร้อมกัน เป็นโมดูลทำความเข้าใจภาษาธรรมชาติ ที่เข้าใจความแตกต่างของภาษามนุษย์ Dialogflow แปลข้อความของผู้ใช้ปลายทางระหว่างการสนทนาเป็นข้อมูลที่มีโครงสร้างที่แอปและบริการของคุณเข้าใจได้ คุณออกแบบและสร้าง Agent ของ Dialogflow เพื่อจัดการประเภทของการสนทนาที่จำเป็นสำหรับระบบ
ตัวแทน Dialogflow ก็เหมือนกับเจ้าหน้าที่คอลเซ็นเตอร์ คุณฝึกให้บุคลากรทั้งสองคนรับมือกับสถานการณ์การสนทนาที่คาดไว้ และการฝึกอบรมไม่จำเป็นต้องชัดเจนเกินไป
วิธีสร้าง Agent ของ Dialogflow CX
เปิดคอนโซล Dialogflow CX ในคอนโซล Dialogflow CX คลิก เมนู > Dialogflow CX
เลือกโปรเจ็กต์ Google Cloud หากต้องการค้นหาโปรเจ็กต์ คุณอาจต้องคลิกทั้งหมด แล้วค้นหา
ตอนนี้คุณมีตัวเลือกในการเลือก Agent ที่สร้างไว้ล่วงหน้าหรือ สร้างของคุณเอง หากต้องการศึกษาการปรับแต่ง Agent โดยละเอียดในภายหลัง ให้เลือก Agent ที่สร้างไว้ล่วงหน้าซึ่งจะเป็นประโยชน์เช่นกันหากต้องการทราบสิ่งที่ Agent ทำได้
หากต้องการเลือก Agent ที่สร้างไว้ล่วงหน้า ให้ทำตามขั้นตอนต่อไปนี้
- คลิกใช้ Agent ที่สร้างไว้ล่วงหน้า
เลือก Agent ที่สร้างไว้ล่วงหน้า หากต้องการดูคู่มือนี้ ให้เลือกการเดินทาง: บริการรถเช่า
ตัวแทนจะได้รับการจัดประเภทเป็นระดับเริ่มต้น ระดับกลาง หรือระดับสูง ขึ้นอยู่กับจำนวนฟีเจอร์ที่ตัวแทนใช้และความซับซ้อนของตรรกะการสนทนา การเลือก Agent ระดับกลางหรือขั้นสูงอาจต้องมีการปรับแต่งและการตั้งค่าเฉพาะ Agent รวมถึงการเปิดใช้ฟีเจอร์และ API ในคอนโซล Google Cloud
คลิกนำเข้าในฐานะตัวแทน
หากต้องการสร้าง Agent ของตนเอง ให้ทำตามขั้นตอนต่อไปนี้
- คลิกสร้างตัวแทน
- เลือกสร้างอัตโนมัติเพื่อสร้างAgent พื้นที่เก็บข้อมูลหรือเลือกสร้างของคุณเองเพื่อสร้าง Agent ประเภทอื่นๆ
ดูคำแนะนำโดยละเอียดเกี่ยวกับกระบวนการสร้าง Agent ได้ที่สร้าง Agent ของ Dialogflow CX
กำหนดการตั้งค่า Agent พื้นฐานดังนี้
- ป้อนชื่อที่แสดงในชื่อที่แสดง
- เลือกตำแหน่งที่ต้องการ หากต้องการเปลี่ยนการตั้งค่าตำแหน่งขั้นสูง ให้คลิกแก้ไข
- เลือกเขตเวลาที่ต้องการ
- เลือกภาษาเริ่มต้นสำหรับตัวแทนของคุณ คุณจะเปลี่ยนภาษาเริ่มต้นสำหรับตัวแทนหลังจากสร้างแล้วไม่ได้
คลิกสร้าง Dialogflow CX เริ่มสร้าง Agent จากนั้นจะแสดงโฟลว์เริ่มต้นเริ่มต้นของเอเจนต์
ปรับแต่ง Agent (ไม่บังคับ) ดูคำแนะนำโดยละเอียดเกี่ยวกับกระบวนการปรับแต่ง Agent ได้ที่สร้าง Agent ของ Dialogflow CX
แนวทางปฏิบัติแนะนำคือให้ทดสอบตัวแทน ดังนี้
- คลิกทดสอบตัวแทน
- เลือก Test Agent ในสภาพแวดล้อม
- ในสภาพแวดล้อม ให้เลือกฉบับร่าง
- ในโฟลว์ ให้เลือกโฟลว์เริ่มต้นเริ่มต้น
- ในหน้า ให้เลือกหน้าเริ่มต้น
- ในแถบการเขียน พูดคุยกับตัวแทน ให้พิมพ์
Hello
แล้วกด Enter ตัวแทนจะตอบสนองด้วยการแนะนำตัวเอง - ทำการทดสอบโดยดูตัวอย่างการสนทนาทดสอบ
สร้าง Agent ของ Dialogflow CX แล้ว กลับไปที่คอนโซล Dialogflow CX คลิกเมนู > Dialogflow CX
ในส่วนตัวแทน ให้คลิก > คัดลอกชื่อ บันทึกชื่อนี้เพราะจะใช้ เมื่อกำหนดค่าแอป Chat
สร้างแอป Chat และเชื่อมต่อกับ Agent ของ Dialogflow
หลังจากสร้าง Agent ของ Dialogflow CX แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยน Agent ดังกล่าวเป็นแอป Chat
ไปที่ Google Chat API ในคอนโซล Google Cloud ค้นหา "Google Chat API" แล้วคลิก Google Chat API จากนั้นคลิกจัดการ
คลิกการกำหนดค่าแล้วตั้งค่าแอป Chat โดยทำดังนี้
- ในชื่อแอป ให้ป้อน
Dialogflow App
- ใน URL ของรูปโปรไฟล์ ให้ป้อน
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
- ในคำอธิบาย ให้ป้อน
Responds to real human conversation
- ในส่วนฟังก์ชันการทำงาน ให้เลือกรับข้อความแบบ 1:1 และ เข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
- ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก Dialogflow
- เลือก Dialogflow CX ในส่วนการตั้งค่า Dialogflow
- ใน Agent หรือ Environment resource name ให้วางชื่อ Agent ของ Dialogflow CX ที่คุณคัดลอกไว้ท้ายสุดของ Create a Dialogflow CX agent
- ทำให้แอป Chat นี้พร้อมใช้งานสำหรับบุคคลหรือกลุ่มที่ระบุในโดเมน และป้อนที่อยู่อีเมลของคุณ
- ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดในการบันทึก
- ในชื่อแอป ให้ป้อน
คลิกบันทึก
แอป Chat พร้อมที่จะรับและตอบ ข้อความใน Chat แล้ว
ทดสอบแอป Chat
ทดสอบแอป Chat ของ Dialogflow CX โดยส่งข้อความใน Google Chat
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณให้ไว้เมื่อเพิ่มตัวคุณเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่
- พิมพ์ชื่อแอป Chat ในช่องเพิ่มผู้คนอย่างน้อย 1 คน
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น
ในข้อความส่วนตัวใหม่ที่มีแอป ให้พิมพ์
Hello
แล้วกดenter
แอป Dialogflow Chat จะตอบสนอง ด้วยการแนะนำตัวเอง
- ทำแบบทดสอบให้เสร็จโดยดูตัวอย่างการสนทนาทดสอบ
ตัวอย่างบทสนทนาทดสอบ
หากต้องการทดสอบแอป Chat ของ Dialogflow CX ในคอนโซล Dialogflow CX หรือใน Google Chat ให้ใช้การสนทนาต่อไปนี้ คำอธิบายช่วยให้คุณเข้าใจว่า Agent ของ Dialogflow CX ตีความภาษาธรรมชาติของผู้ใช้อย่างไร และสร้างคำตอบเป็นภาษาธรรมชาติในแต่ละขั้นตอนของการสนทนา การสนทนาตัวอย่างนี้อิงตาม ตัวแทนที่สร้างไว้ล่วงหน้า ซึ่งมีชื่อว่าการเดินทาง: การเช่ารถ
Dialog | คำอธิบาย |
---|---|
ผู้ใช้ปลายทาง: สวัสดี ตัวแทน: สวัสดี ฉันเป็นตัวแทนบริการรถเช่าเสมือนจริง เราช่วยคุณเริ่มจองรถเช่าใหม่ได้ วันนี้คุณต้องการความช่วยเหลือในด้านใด |
|
ผู้ใช้ปลายทาง: ฉันต้องการเช่ารถยนต์ ตัวแทน: คุณต้องการไปรับยานพาหนะที่ไหน |
|
ผู้ใช้ปลายทาง: ลาสเวกัส ตัวแทน: โอเค บริการรับสินค้าจะอยู่ในลาสเวกัส ตัวแทน: สถานที่ส่งคืนแตกต่างจากสถานที่รับสินค้าหรือไม่ |
|
ผู้ใช้ปลายทาง: ใช่ ฉันจะไปส่งรถที่ลอสแอนเจลิส ตัวแทน: โอเค จุดส่งคืนจะอยู่ที่ลอสแอนเจลิส ตัวแทน: คุณต้องการมารับยานพาหนะเมื่อใด |
|
ผู้ใช้ปลายทาง: ฉันต้องการไปรับรถในวันที่ 5 มีนาคม ตอนเที่ยง ตัวแทน: คุณต้องการนำยานพาหนะออกวันที่และเวลาใด |
|
ผู้ใช้ปลายทาง: 15 มีนาคมตอนเที่ยง ตัวแทน: ขอยืนยันดังต่อไปนี้ คุณจะไปรับยานพาหนะที่ ลาสเวกัส 05-03-2024 เวลา 12:00:00 น. และไปส่ง ที่ลอสแอนเจลิส 2024-03-15 12:00:00 ถูกต้องไหม |
|
ผู้ใช้ปลายทาง: ใช่ ขอบคุณ ตัวแทน: เยี่ยมเลย ต่อไปเรามาเลือกพาหนะ ตัวแทน: คุณต้องการยานพาหนะแบบประหยัดหรือหรู |
|
ผู้ใช้ปลายทาง: ประหยัดเถอะ ตัวแทน: คุณต้องการใช้รถ Cymbal หรือรถบรรทุก Cymbal |
|
ผู้ใช้ปลายทาง: รถบรรทุก Cymbal ตัวแทน: รถบรรทุก Cymbal ราคา $50.33 ต่อวัน เข้าพักได้สูงสุด 4 คน มาพร้อมวิทยุ AM/FM ต้องการดำเนินการชำระเงินต่อไหม ผู้ใช้ปลายทาง: ใช่ |
|
ตัวแทน: คุณจะใช้บัตรประเภทใด ผู้ใช้ปลายทาง: Altostrat ตัวแทน: โปรดป้อนหมายเลขบัตร ผู้ใช้ปลายทาง: 1234 1234 1234 1234 ตัวแทน: ชื่อบนบัตรคืออะไร ผู้ใช้ปลายทาง: ชาลี ตัวแทน: ที่อยู่สำหรับการเรียกเก็บเงินคืออะไร ผู้ใช้ปลายทาง: 1800 Amphibious Blvd. Mountain View, CA Agent: รหัสไปรษณีย์สำหรับการเรียกเก็บเงินคืออะไร ผู้ใช้ปลายทาง: 94045 ตัวแทน: คุณจะไปรับรถ Cymbal Car ในลาสเวกัส 05-03-2024 เวลา 12:00:00 น. แล้วไปส่ง 15-03-2024 12:00:00 ราคารวมของการเดินทางนี้จะอยู่ที่ $175.38 ตัวแทน: ขอขอบคุณที่เช่ากับเรา ขอให้มีความสุข |
|
ส่งข้อความการ์ดจาก Dialogflow
Dialogflow สามารถตอบกลับด้วย ข้อความที่เป็นข้อความหรือ การ์ด หากต้องการตอบกลับด้วยข้อความการ์ด ให้ระบุเป็นเพย์โหลดที่กำหนดเองในการดำเนินการตามคำสั่งซื้อ
JSON ต่อไปนี้แสดงวิธีส่งข้อความการ์ดเป็นเพย์โหลดที่กำหนดเองใน Fulfillment
json
{
'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'
}
}
}
]
}
}
]
}
]
}
}]
}
ข้อจำกัดและข้อควรพิจารณา
- กิจกรรมการโต้ตอบในแชท
รองรับการใช้งานที่จำกัดและมีข้อควรพิจารณาบางประการ ดังนี้
- ระบบรองรับประเภทเหตุการณ์การโต้ตอบต่อไปนี้
MESSAGE
ADDED_TO_SPACE
- อินพุตการค้นหาที่ส่งไปยัง Agent ของ Dialogflow จะสอดคล้องกับค่าของช่อง
argumentText
ในข้อความแชท หากข้อความมีคำสั่งเครื่องหมายทับ ระบบจะใช้ค่าของช่องtext
แทน - เพย์โหลด JSON แบบเต็มของเหตุการณ์การโต้ตอบกับ Chat แต่ละรายการจะส่งไปยัง Dialogflow เป็นเพย์โหลดที่กำหนดเองในพารามิเตอร์การค้นหา และเข้าถึงได้ด้วยเว็บฮุคของ Dialogflow โดยค้นหาค่าของช่อง
WebhookRequest.payload
- ระบบรองรับประเภทเหตุการณ์การโต้ตอบต่อไปนี้
- คำสั่งเครื่องหมายทับมีการรองรับอย่างจำกัด ดังนี้
- แอป Dialogflow Chat ไม่รองรับคำสั่งเครื่องหมายทับที่เปิดกล่องโต้ตอบ
- เมื่อแอป Dialogflow Chat ได้รับข้อความที่มีคำสั่งเครื่องหมายทับ อินพุตการค้นหาจะมีเฉพาะค่าของช่อง
text
ช่องtext
จะเริ่มต้นด้วยชื่อของคำสั่งเครื่องหมายทับ (เช่น/command
) ซึ่งใช้เพื่อกำหนดค่า Intent ของ Agent ของ Dialogflow เพื่อตรวจหาคำสั่งเครื่องหมายทับ - หาก Agent ของ Dialogflow ต้องประมวลผลเพย์โหลด JSON ของเหตุการณ์การโต้ตอบใน Chat ของคำสั่งเครื่องหมายทับ ก็สามารถทำได้โดยใช้เว็บฮุคของ Dialogflow เพื่อตรวจสอบเพย์โหลดที่กำหนดเองในพารามิเตอร์การค้นหา
- ไม่รองรับตัวอย่างลิงก์
- หาก Agent ของ Dialogflow ตอบกลับเพียงข้อความเดียว ระบบจะส่งข้อความไปยัง Google Chat แบบพร้อมกัน หาก Agent ของ Dialogflow ตอบกลับด้วยข้อความหลายข้อความ ระบบจะส่งข้อความทั้งหมดไปยัง Chat แบบไม่พร้อมกันโดยเรียกใช้เมธอด
create
ในทรัพยากรspaces.messages
ใน Chat API 1 ครั้งสำหรับแต่ละข้อความ
แก้ปัญหา
เมื่อแอป Google Chat หรือการ์ดแสดงผลข้อผิดพลาด อินเทอร์เฟซ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ดำเนินการตามคำขอของคุณไม่ได้" บางครั้ง UI ของ Chat ไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอปหรือการ์ด Chat จะให้ผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ปรากฏ
แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat แต่ก็จะมีข้อความแสดงข้อผิดพลาดที่สื่อความหมายและข้อมูลบันทึกที่จะช่วยคุณแก้ไขข้อผิดพลาดเมื่อเปิดการบันทึกข้อผิดพลาดสำหรับแอป Chat ไว้ หากต้องการความช่วยเหลือในการดู แก้ไขข้อบกพร่อง และแก้ไขข้อผิดพลาด โปรดดูหัวข้อแก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินในบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์แล้วคลิกปิดเพื่อลบโปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- Dialogflow CX ใช้
เครื่องบ่งชี้สถานะ
ในการออกแบบ Agent ของ Dialogflow ซึ่งให้คุณควบคุมการสนทนาได้ชัดเจนและชัดเจน มอบประสบการณ์การใช้งานของผู้ใช้ปลายทางที่ดีขึ้น และเวิร์กโฟลว์
การพัฒนาที่ดีขึ้น เมื่อสร้างแอป Chat ของ Dialogflow
เราขอแนะนำให้ใช้ Dialogflow CX
- หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและการกำหนดค่า Agent โปรดดูAgent ของ Dialogflow CX
- ดูคำแนะนำโดยละเอียดเกี่ยวกับวิธีสร้างและกำหนดค่า Agent โดยละเอียดได้ที่ สร้าง Agent ของ Dialogflow
- Dialogflow ES เป็นอีกวิธีในการใช้ Dialogflow กับแอปแชท