หน้านี้อธิบายวิธีสร้างแอป Google Chat เป็นส่วนเสริมของ Google Workspace ที่ใช้ Dialogflow ES เพื่อทำความเข้าใจและตอบกลับภาษาที่เป็นธรรมชาติ นอกจากนี้ คุณยังใช้ Dialogflow CX ซึ่งผสานรวมกับ Google Chat โดยตรงเพื่อสร้าง แอป Dialogflow CX Google Chat ได้โดยทำตาม คู่มือ Dialogflow CX Google Chat
วัตถุประสงค์
- ตั้งค่าสภาพแวดล้อม
- สร้างและติดตั้งใช้งาน Dialogflow ES Agent
- สร้างและติดตั้งใช้งานแอป Chat ที่ขับเคลื่อนโดย Dialogflow ES Agent
- ทดสอบแอป Chat
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กรที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงินแล้ว หากต้องการตรวจสอบว่าโปรเจ็กต์ที่มีอยู่เปิดใช้การเรียกเก็บเงินแล้ว ให้ดูที่ ยืนยัน สถานะการเรียกเก็บเงินของโปรเจ็กต์ หากต้องการสร้างโปรเจ็กต์และตั้งค่าการเรียกเก็บเงิน ให้ดูที่ สร้างโปรเจ็กต์ Google Cloud
สถาปัตยกรรม
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของแอป Chat ที่สร้างด้วย Dialogflow
ในแผนภาพก่อนหน้า ผู้ใช้ที่โต้ตอบกับแอป Dialogflow Chat จะมีขั้นตอนการไหลของข้อมูลดังนี้
- ผู้ใช้ส่งข้อความใน Chat ไปยังแอป Chat ไม่ว่าจะเป็นในข้อความส่วนตัวหรือในพื้นที่ใน Chat
- ตัวแทนเสมือนของ Dialogflow ซึ่งอยู่ใน จะรับ และประมวลผลข้อความเพื่อสร้างการตอบกลับ
- ตัวแทน Dialogflow สามารถโต้ตอบกับบริการของบุคคลที่สามภายนอก เช่น ระบบการจัดการโปรเจ็กต์หรือเครื่องมือออกตั๋ว โดยใช้ เว็บฮุคของ Dialogflow (ไม่บังคับ)
- ตัวแทน Dialogflow จะส่งการตอบกลับกลับไปยังบริการแอป Chat ใน Chat
- การตอบกลับจะส่งไปยังพื้นที่ใน Chat
ตั้งค่าสภาพแวดล้อม
ก่อนใช้ Google API คุณต้องเปิด API เหล่านั้นในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google คุณสามารถเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้ในคอนโซล Google API ให้เปิดใช้ Google Chat API และ Dialogflow API
ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่ถูกต้อง แล้วคลิกถัดไป
ยืนยันว่าคุณกำลังเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
สร้าง Dialogflow ES Agent
หากคุณไม่มี Dialogflow ES Agent อยู่แล้ว ให้ทำดังนี้
- ไปที่คอนโซล Dialogflow ES
- คลิกสร้าง Agent
- ตั้งชื่อ เลือกภาษาเริ่มต้น และเขตเวลา
- เชื่อมโยงกับโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- คลิกสร้าง
- สร้าง Intent และเอนทิตีตามที่จำเป็นสำหรับโฟลว์การสนทนาของแอป Chat คุณสามารถเริ่มต้นด้วย Intent ทักทาย
- จดรหัสโปรเจ็กต์ ไว้
ดูคำแนะนำโดยละเอียดได้ที่สร้าง Agent
สร้างแอป Chat และเชื่อมต่อกับ Dialogflow Agent
หลังจากสร้าง Dialogflow ES Agent แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยน Agent ให้เป็นแอป Chat
ในคอนโซล Google API ให้ไปที่ Google Chat API ค้นหา "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 - ในส่วนฟังก์ชันการทำงาน ให้เลือกเข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
- ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก Dialogflow
- ในส่วนการตั้งค่า Dialogflow ให้เลือก Dialogflow ES
- ทำให้แอป Chat นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
- ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดลงใน Logging
- ในส่วนชื่อแอป ให้ป้อน
คลิกบันทึก
แอป Chat พร้อมรับและตอบกลับข้อความใน Chat แล้ว
ทดสอบแอป Chat
ทดสอบแอป Dialogflow ES Chat โดยส่งข้อความถึงแอปใน Google Chat
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่.
- ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัว จะเปิดขึ้น
ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์
Helloแล้ว กดenterแอป Dialogflow Chat จะตอบกลับด้วยข้อความทักทาย
ข้อความตอบกลับ
ระบบจะส่งข้อความตอบกลับ ไปยัง Google Chat เป็น ข้อความ การจัดรูปแบบนี้ช่วยให้คุณทำข้อความเป็นตัวหนาหรือตัวเอียงได้โดยใส่ข้อความไว้ในสัญลักษณ์บางอย่าง (มาร์กดาวน์แบบย่อ)
ข้อความตอบกลับจะดูเหมือนกับข้อความตอบกลับเริ่มต้นในคอนโซล Dialogflow แต่การตอบกลับ API ดิบจะมีลักษณะแตกต่างออกไปเล็กน้อย นอกจากนี้ยังตั้งค่าการกำหนดค่าแพลตฟอร์มเป็น GOOGLE_HANGOUTS ซึ่งอาจเป็นประโยชน์ เมื่อสร้าง Agent สำหรับการผสานรวมหลายรายการ
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
การ์ด
ระบบจะส่งการตอบกลับแบบการ์ด ไปยัง Google Chat เป็น ข้อความการ์ด
รูปภาพ
ระบบจะส่งการตอบกลับแบบรูปภาพ ไปยัง Google Chat เป็น วิดเจ็ตรูปภาพของ Google Chat
เพย์โหลดที่กำหนดเอง
หากต้องการส่งข้อความ Google Chat ประเภทอื่นๆ คุณสามารถใช้เพย์โหลดที่กำหนดเองได้
เพย์โหลดที่กำหนดเองของ Google Chat ช่วยให้คุณสร้างการ์ดที่ซับซ้อนมากขึ้นได้ การ์ด 1 ใบอาจมีส่วนเดียวหรือหลายส่วนก็ได้ แต่ละส่วนอาจมีส่วนหัว คุณสามารถดูคู่มืออ้างอิงการ์ด Chat ของส่วนขยาย Google Workspace เพื่อดูชุดค่าผสมบางอย่างที่คุณสร้างได้ด้วยฟีเจอร์นี้ อย่างไรก็ตาม การใช้เพย์โหลดที่กำหนดเองหมายความว่าคุณจะต้องระบุรูปแบบ JSON
ต่อไปนี้เป็นตัวอย่างเพย์โหลดที่กำหนดเองสำหรับการสร้างข้อความที่มีการ์ด
{ "hangouts": { "hostAppDataAction": { "chatDataAction": { "createMessageAction": { "message": { "cardsV2": [{ "cardId": "pizza", "card": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "textParagraph": { "text": " Your pizza is here!" }}]}] } }]}} }}}}
ข้อจำกัดและข้อควรพิจารณา
- เมื่อใช้ส่วนเสริมของ Google Workspace กับ Dialogflow ออบเจ็กต์เหตุการณ์ Chat
มีข้อจำกัดและข้อควรพิจารณาดังนี้
- เหตุการณ์หน้าแรกของแอป: ยังไม่รองรับเหตุการณ์
APP_HOME - อินพุตการค้นหาของ Dialogflow: ข้อความที่ส่งเป็นอินพุตการค้นหาไปยัง Dialogflow Agent จะขึ้นอยู่กับประเภทเหตุการณ์ ดังนี้
MESSAGE: ค่าของช่องargumentTextจากข้อความ ChatAPP_COMMAND: สตริง"APP_COMMAND_PAYLOAD"ADDED_TO_SPACE: ระบบจะส่งเหตุการณ์ต้อนรับเริ่มต้นREMOVED_FROM_SPACE: สตริง"REMOVED_FROM_SPACE_PAYLOAD"CARD_CLICKED: สตริง"BUTTON_CLICKED_PAYLOAD"WIDGET_UPDATED: สตริง"WIDGET_UPDATED_PAYLOAD"(ใช้สำหรับ การเติมข้อความอัตโนมัติ)
- เพย์โหลดเหตุการณ์แบบเต็ม: ระบบจะส่งเพย์โหลด JSON แบบเต็มของเหตุการณ์การโต้ตอบ Chat ไปยัง Dialogflow ในช่อง
WebhookRequest.payloadคุณเข้าถึงเพย์โหลดนี้ได้ในเว็บฮุคของ Dialogflow ดูข้อมูลเพิ่มเติมได้ใน เอกสารประกอบคำขอเว็บฮุคของ Dialogflow ES
- เหตุการณ์หน้าแรกของแอป: ยังไม่รองรับเหตุการณ์
- ข้อควรพิจารณาสำหรับการตอบกลับ
คำสั่งและ
การรับข้อมูลจากการ์ดหรือกล่องโต้ตอบ:
- หาก Dialogflow Agent ต้องประมวลผล เพย์โหลด JSON ของเหตุการณ์การโต้ตอบ Chat, ก็สามารถทำได้โดยใช้ เว็บฮุคของ Dialogflow เพื่อตรวจสอบเพย์โหลดที่กำหนดเองในพารามิเตอร์การค้นหา
- หากต้องการแสดงกล่องโต้ตอบจาก
Dialogflow Agent ให้ตอบกลับด้วยเพย์โหลด JSON ที่กำหนดเองรายการเดียวซึ่ง
มี
RenderActionsออบเจ็กต์ที่มีการนำทางpushCard - หากต้องการประมวลผลข้อมูลที่ป้อนจากการ์ด คุณสามารถใช้ เว็บฮุคของ Dialogflow และตอบกลับด้วยเพย์โหลด JSON ที่กำหนดเองรายการเดียวซึ่งมีการดำเนินการที่เหมาะสม
- ระบบไม่รองรับการแสดงตัวอย่างลิงก์
- หาก Dialogflow Agent ตอบกลับด้วยข้อความเพียงข้อความเดียว ระบบจะส่งข้อความไปยัง Google Chat แบบซิงโครนัส หาก Dialogflow Agent ตอบกลับ
ด้วยข้อความหลายข้อความ ระบบจะส่งข้อความทั้งหมดไปยัง Chat
แบบอะซิงโครนัสโดยเรียกใช้
createเมธอดในทรัพยากรspaces.messagesใน Chat API 1 ครั้งสำหรับแต่ละ ข้อความ - เมื่อใช้การผสานรวม Dialogflow ES กับ Chat คุณต้องตั้งค่า Dialogflow Agent และแอป Chat ในโปรเจ็กต์ Google Cloud เดียวกัน
แก้ปัญหา
หากต้องการแก้ไขข้อบกพร่องของแอป Chat ให้เริ่มโดยตรวจสอบบันทึกข้อผิดพลาด เนื่องจากแอปนี้ใช้ Dialogflow คุณจึงมีทรัพยากรการบันทึกและการแก้ปัญหาหลายอย่างให้เลือกใช้
บันทึกส่วนเสริมของ Google Workspace: บันทึกการค้นหาเพื่อดูข้อมูลโดยละเอียดเกี่ยวกับลักษณะการทำงานของส่วนเสริม รวมถึงการโต้ตอบกับ Chat ดูบันทึกการค้นหาสำหรับส่วนเสริมของ Google Workspace
ข้อผิดพลาดของแอป Google Chat: โปรดดูข้อความแสดงข้อผิดพลาดและการแก้ไขทั่วไปของแอป Chat ได้ที่หัวข้อแก้ปัญหาและแก้ไขข้อผิดพลาดของแอป Chat
ประวัติการสนทนาของ Dialogflow ES: ประวัติ | Dialogflow ES
การแก้ปัญหาทั่วไปของ Dialogflow: การแก้ปัญหา | Dialogflow
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์ เพื่อหลีกเลี่ยงการเรียกเก็บเงินจาก บัญชีสำหรับ ทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google API ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร.
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ .
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิด เพื่อลบ โปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- Dialogflow CX เป็นอีกวิธีหนึ่งในการใช้ Dialogflow กับแอป Chat