หน้านี้อธิบายวิธีสร้างแอป Google Chat เป็นส่วนเสริมของ Google Workspace ที่ใช้ Dialogflow ES เพื่อทำความเข้าใจและตอบกลับภาษาที่เป็นธรรมชาติ นอกจากนี้ คุณยังใช้ Dialogflow CX ซึ่งผสานรวมกับ Google Chat โดยตรงเพื่อสร้างแอป Google Chat ของ Dialogflow CX ได้โดยทำตามคำแนะนำ Google Chat ของ Dialogflow CX
วัตถุประสงค์
- ตั้งค่าสภาพแวดล้อม
- สร้างและทําให้ Agent ของ Dialogflow ES ใช้งานได้
- สร้างและติดตั้งใช้งานแอปใน Chat ที่ขับเคลื่อนโดย เอเจนต์ Dialogflow ES
- ทดสอบแอป Chat
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน หากต้องการตรวจสอบว่าโปรเจ็กต์ที่มีอยู่เปิดใช้การเรียกเก็บเงินแล้วหรือไม่ โปรดดูยืนยันสถานะการเรียกเก็บเงินของโปรเจ็กต์ หากต้องการสร้างโปรเจ็กต์และตั้งค่าการเรียกเก็บเงิน โปรดดูสร้างโปรเจ็กต์ Google Cloud
สถาปัตยกรรม
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของแอป Chat ที่สร้างด้วย Dialogflow
ในแผนภาพก่อนหน้า ผู้ใช้ที่โต้ตอบกับแอปแชท Dialogflow จะมีขั้นตอนการไหลของข้อมูลดังนี้
- ผู้ใช้ส่งข้อความใน Chat ไปยัง แอป Chat ไม่ว่าจะในข้อความส่วนตัวหรือใน พื้นที่ทำงานใน Chat
- เอเจนต์เสมือนของ Dialogflow ซึ่งอยู่ใน จะรับ และประมวลผลข้อความเพื่อสร้างคำตอบ
- ไม่บังคับ: การใช้Webhook ของ Dialogflow ช่วยให้ Agent ของ Dialogflow โต้ตอบกับบริการของบุคคลที่สามภายนอกได้ เช่น ระบบจัดการโปรเจ็กต์หรือเครื่องมือออกตั๋ว
- เอเจนต์ Dialogflow จะส่งคำตอบกลับไปยัง บริการแอป Chat ใน Chat
- ระบบจะส่งคำตอบไปยังพื้นที่ใน Chat
ตั้งค่าสภาพแวดล้อม
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้เปิดใช้ Google Chat API และ Dialogflow API ในคอนโซล Google API
ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ Cloud ที่ถูกต้อง แล้วคลิกถัดไป
ยืนยันว่าคุณเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
สร้าง Agent ของ Dialogflow ES
หากคุณไม่มีตัวแทน Dialogflow ES อยู่แล้ว ให้ทำดังนี้
- ไปที่คอนโซล Dialogflow ES
- คลิกสร้างเอเจนต์
- ตั้งชื่อ เลือกภาษาเริ่มต้น และเขตเวลา
- เชื่อมโยงกับโปรเจ็กต์ Cloud
- คลิกสร้าง
- สร้าง Intent และเอนทิตีตามที่จำเป็นสำหรับโฟลว์การสนทนาของแอป Chat คุณเริ่มต้นด้วยความตั้งใจในการทักทายได้
- จดรหัสโปรเจ็กต์ไว้
ดูคำแนะนำแบบละเอียดได้ที่สร้างเอเจนต์
สร้างแอป Chat และเชื่อมต่อกับ Agent ของ Dialogflow
หลังจากสร้างเอเจนต์ Dialogflow ES แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยนเอเจนต์ให้เป็น แอปแชท
ไปที่ Google Chat API ในคอนโซล Google 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 นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
- ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
- ในส่วนชื่อแอป ให้ป้อน
คลิกบันทึก
แอป Chat พร้อมรับและตอบกลับ ข้อความใน Chat แล้ว
ทดสอบแอป Chat
ทดสอบแอปแชท Dialogflow ES โดยส่งข้อความถึงแอปใน Google Chat
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุเมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่
- ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น
ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์
Helloแล้ว กดenterแอป Dialogflow Chat จะตอบกลับด้วยข้อความทักทาย
ข้อความตอบกลับ
ข้อความตอบกลับ จะส่งไปยัง Google Chat เป็นข้อความ การจัดรูปแบบนี้ช่วยให้คุณทำข้อความเป็นตัวหนาหรือตัวเอียงได้โดยการใส่สัญลักษณ์ บางอย่าง (มาร์กดาวน์แบบย่อ) คร่อมข้อความ
ข้อความตอบกลับจะดูเหมือนกับข้อความตอบกลับเริ่มต้น ใน Dialogflow Console อย่างไรก็ตาม การตอบกลับจาก 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 ใบอาจมี 1 หรือหลายส่วนก็ได้ แต่ละส่วนอาจมีส่วนหัว คุณสามารถดูคู่มืออ้างอิงส่วนเสริม Google Workspace ที่ขยายการ์ดใน Chat เพื่อดูชุดค่าผสมบางอย่างที่คุณสร้างได้ด้วยส่วนเสริมนี้ อย่างไรก็ตาม การใช้เพย์โหลดที่กำหนดเองหมายความว่าคุณจะต้องระบุรูปแบบ 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 ออบเจ็กต์เหตุการณ์แชท
จะมีข้อจำกัดและข้อควรพิจารณาดังต่อไปนี้
- เหตุการณ์ในหน้าแรกของแอป: ระบบยังไม่รองรับเหตุการณ์
APP_HOME - อินพุตการค้นหาของ Dialogflow: ข้อความที่ส่งเป็นอินพุตการค้นหาไปยัง
Agent ของ Dialogflow จะขึ้นอยู่กับประเภทเหตุการณ์ ดังนี้
MESSAGE: ค่าของฟิลด์argumentTextจาก ข้อความแชทAPP_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 แบบเต็มของ
เหตุการณ์การโต้ตอบในแชทไปยัง Dialogflow ภายในฟิลด์
WebhookRequest.payloadคุณเข้าถึงข้อมูลนี้ได้ใน Webhook ของ Dialogflow ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับคำขอ Webhook ของ Dialogflow ES
- เหตุการณ์ในหน้าแรกของแอป: ระบบยังไม่รองรับเหตุการณ์
- ข้อควรพิจารณาในการตอบกลับคำสั่งและรับข้อมูลจากการ์ดหรือกล่องโต้ตอบ
- หากเอเจนต์ Dialogflow ต้องประมวลผลเพย์โหลด JSON ของเหตุการณ์การโต้ตอบในแชท ก็สามารถทำได้โดยใช้Webhook ของ Dialogflow เพื่อตรวจสอบเพย์โหลดที่กำหนดเองในพารามิเตอร์การค้นหา
- หากต้องการแสดงกล่องโต้ตอบจากเอเจนต์ Dialogflow ให้ตอบกลับด้วยเพย์โหลด JSON ที่กำหนดเองรายการเดียวซึ่งมีออบเจ็กต์
RenderActionsพร้อมการนำทางpushCard - หากต้องการประมวลผลข้อมูลที่ป้อนจากบัตร คุณสามารถใช้เว็บฮุค Dialogflow และตอบกลับด้วยเพย์โหลด JSON ที่กำหนดเองรายการเดียวซึ่งมีการดำเนินการที่เหมาะสม
- ไม่รองรับตัวอย่างลิงก์
- หากเอเจนต์ Dialogflow ตอบกลับด้วยข้อความเพียงข้อความเดียว ระบบจะส่งข้อความ
ไปยัง Google Chat แบบพร้อมกัน หากตัวแทน Dialogflow ตอบกลับ
ด้วยข้อความหลายรายการ ระบบจะส่งข้อความทั้งหมดไปยัง Chat
แบบไม่พร้อมกันโดยการเรียกใช้เมธอด
createในทรัพยากรspaces.messagesใน Chat API 1 ครั้งต่อข้อความ 1 รายการ - เมื่อใช้การผสานรวม Dialogflow ES กับ Chat คุณต้องตั้งค่า Agent ของ Dialogflow และแอป Chat ในโปรเจ็กต์ Google Cloud เดียวกัน
แก้ปัญหา
หากต้องการแก้ไขข้อบกพร่องของแอป Chat ให้เริ่มด้วยการตรวจสอบบันทึกข้อผิดพลาด เนื่องจากแอปนี้ใช้ Dialogflow คุณจึงมีแหล่งข้อมูลการบันทึกและการแก้ปัญหาหลายอย่างให้ใช้
บันทึกส่วนเสริมของ Google Workspace: ค้นหาบันทึกเพื่อดูข้อมูลโดยละเอียดเกี่ยวกับลักษณะการทำงานของส่วนเสริม รวมถึงการโต้ตอบกับ Chat ดูบันทึกการค้นหาสําหรับส่วนเสริมของ Google Workspace
ข้อผิดพลาดของแอป Google Chat: สำหรับข้อความแสดงข้อผิดพลาดและการแก้ไขทั่วไปของแอป Chat โปรดดูแก้ปัญหาและแก้ไขข้อผิดพลาดของแอป Chat
ประวัติการสนทนาของ Dialogflow ES: ประวัติ | Dialogflow ES
การแก้ปัญหาทั่วไปของ Dialogflow: การแก้ปัญหา | Dialogflow
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินจาก บัญชีสำหรับ ทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google API ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบ โปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- Dialogflow CX เป็นอีกวิธีหนึ่งในการใช้ Dialogflow กับแอปแชท