หน้านี้อธิบายวิธีสร้างแอป Google Chat ที่ใช้ Dialogflow ES เพื่อทำความเข้าใจและตอบกลับภาษาที่เป็นธรรมชาติ นอกจากนี้ คุณยังใช้ Dialogflow CX ซึ่งมีการผสานรวมโดยตรงกับ Google Chat เพื่อสร้างแอป Dialogflow CX Google Chat ได้โดยทำตามคำแนะนำของ Dialogflow CX Google Chat
วัตถุประสงค์
- ตั้งค่าสภาพแวดล้อม
- สร้างและทําให้ Agent ของ Dialogflow ES ใช้งานได้
- สร้างและติดตั้งใช้งานแอปใน Chat ที่ขับเคลื่อนโดย เอเจนต์ Dialogflow ES
- ทดสอบแอป Chat
ข้อกำหนดเบื้องต้น
- บัญชี Google Workspace สำหรับธุรกิจหรือองค์กร ที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน หากต้องการตรวจสอบว่าโปรเจ็กต์ที่มีอยู่เปิดใช้การเรียกเก็บเงินหรือไม่ โปรดดูยืนยัน สถานะการเรียกเก็บเงินของโปรเจ็กต์ หากต้องการสร้างโปรเจ็กต์และตั้งค่าการเรียกเก็บเงิน โปรดดูสร้างโปรเจ็กต์ Google Cloud
สถาปัตยกรรม
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของแอป Chat ที่สร้างด้วย Dialogflow
ในแผนภาพก่อนหน้า ผู้ใช้ที่โต้ตอบกับแอปแชท Dialogflow จะมีลำดับการไหลของข้อมูลดังนี้
- ผู้ใช้ส่งข้อความใน Chat ไปยัง แอป Chat ไม่ว่าจะในข้อความส่วนตัวหรือใน พื้นที่ทำงานใน Chat
- เอเจนต์เสมือนของ Dialogflow ซึ่งอยู่ใน จะรับ และประมวลผลข้อความเพื่อสร้างคำตอบ
- ไม่บังคับ: การใช้Webhook ของ Dialogflow ช่วยให้เอเจนต์ Dialogflow โต้ตอบกับบริการของบุคคลที่สามภายนอกได้ เช่น ระบบจัดการโปรเจ็กต์หรือเครื่องมือออกตั๋ว
- เอเจนต์ Dialogflow จะส่งคำตอบกลับไปยัง บริการแอป Chat ใน Chat
- ระบบจะส่งคำตอบไปยังพื้นที่ใน Chat
ตั้งค่าสภาพแวดล้อม
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้ในคอนโซล Google API ให้เปิดใช้ Google Chat API และ Dialogflow API
ยืนยันว่าคุณกำลังเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่ถูกต้อง แล้วคลิกถัดไป
ยืนยันว่าคุณกำลังเปิดใช้ API ที่ถูกต้อง แล้วคลิกเปิดใช้
สร้าง Agent ของ Dialogflow ES
หากคุณไม่มี Agent ของ Dialogflow ES อยู่แล้ว ให้ทำดังนี้
- ไปที่คอนโซล Dialogflow ES
- คลิกสร้างเอเจนต์
- ตั้งชื่อ เลือกภาษาเริ่มต้น และเขตเวลา
- เชื่อมโยงกับโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- คลิกสร้าง
- สร้างความตั้งใจและเอนทิตีตามที่จำเป็นสำหรับโฟลว์การสนทนาของแอป Chat คุณเริ่มต้นด้วย Intent ทักทายได้
- จดรหัสโปรเจ็กต์ไว้
ดูคำแนะนำแบบละเอียดได้ที่สร้างเอเจนต์
สร้างแอป Chat และเชื่อมต่อกับเอเจนต์ Dialogflow
หลังจากสร้างเอเจนต์ Dialogflow ES แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยนเอเจนต์ให้เป็นแอปแชท
ในคอนโซล 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 นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
- ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
- ในส่วนชื่อแอป ให้ป้อน
คลิกบันทึก
แอป Chat พร้อมรับและตอบกลับ ข้อความใน Chat แล้ว
ทดสอบแอป Chat
ทดสอบแอปแชท Dialogflow ES โดยส่งข้อความถึงแอปใน Google Chat
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่
- ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัวจะเปิดขึ้น
ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์
Helloแล้ว กดenterแอป Dialogflow Chat จะตอบกลับด้วยข้อความทักทาย
ข้อความตอบกลับ
ข้อความตอบกลับ จะส่งไปยัง Google Chat เป็น ข้อความ การจัดรูปแบบนี้ช่วยให้คุณทำข้อความเป็นตัวหนาหรือตัวเอียงได้โดยการใส่สัญลักษณ์ บางอย่าง (มาร์กดาวน์แบบย่อ) คร่อมข้อความ
ข้อความตอบกลับจะมีลักษณะเหมือนกับข้อความตอบกลับเริ่มต้น ในคอนโซล Dialogflow อย่างไรก็ตาม การตอบกลับจาก API ดิบจะมีลักษณะแตกต่างออกไปเล็กน้อย นอกจากนี้ยังตั้งค่าแพลตฟอร์มเป็น GOOGLE_HANGOUTS ซึ่งอาจเป็นประโยชน์ เมื่อสร้างเอเจนต์สำหรับการผสานรวมหลายรายการ
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
การ์ด
การตอบกลับการ์ด จะส่งไปยัง Google Chat เป็น ข้อความการ์ด
รูปภาพ
คำตอบที่เป็นรูปภาพ จะส่งไปยัง Google Chat เป็น วิดเจ็ตรูปภาพของ Google Chat
เพย์โหลดที่กำหนดเอง
หากต้องการส่งข้อความ Google Chat ประเภทอื่นๆ คุณสามารถใช้เพย์โหลดที่กำหนดเองได้
Custom Payload ของ Google Chat ช่วยให้คุณสร้างการ์ดที่ซับซ้อนยิ่งขึ้นได้ การ์ด 1 ใบอาจมีส่วนเดียวหรือหลายส่วนก็ได้ แต่ละส่วนจะมีส่วนหัวได้ คุณดูข้อมูลเพิ่มเติมได้ในคู่มือข้อความในการ์ดเพื่อดูชุดค่าผสมบางส่วนที่คุณสร้างได้ด้วยฟีเจอร์นี้ อย่างไรก็ตาม การใช้เพย์โหลดที่กำหนดเองหมายความว่าคุณจะต้องระบุรูปแบบ 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 Chat กับ Dialogflow
ออบเจ็กต์เหตุการณ์แชท
จะมีข้อจำกัดและข้อควรพิจารณาดังนี้
- เหตุการณ์ในหน้าแรกของแอป: ระบบยังไม่รองรับเหตุการณ์
APP_HOME - อินพุตการค้นหา Dialogflow: ข้อความที่ส่งเป็นอินพุตการค้นหาไปยัง
เอเจนต์ 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การนำทาง - หากต้องการประมวลผลข้อมูลที่ป้อนจากบัตร คุณสามารถใช้ Webhook ของ Dialogflow และตอบกลับด้วยเพย์โหลด JSON ที่กำหนดเองรายการเดียวซึ่งมีการดำเนินการที่เหมาะสม
- ไม่รองรับตัวอย่างลิงก์
- หากเอเจนต์ Dialogflow ตอบกลับด้วยข้อความเพียงข้อความเดียว ระบบจะส่งข้อความ
ไปยัง Google Chat แบบซิงโครนัส หากเอเจนต์ Dialogflow ตอบกลับ
ด้วยข้อความหลายรายการ ระบบจะส่งข้อความทั้งหมดไปยัง Chat
แบบไม่พร้อมกันโดยการเรียกใช้เมธอด
createในทรัพยากรspaces.messagesใน Chat API 1 ครั้งต่อข้อความ - เมื่อใช้การผสานรวม Dialogflow ES กับ Chat คุณต้องตั้งค่าเอเจนต์ Dialogflow และแอป Chat ในโปรเจ็กต์ Google Cloud เดียวกัน
แก้ปัญหา
หากต้องการแก้ไขข้อบกพร่องของแอป Chat ให้เริ่มด้วยการตรวจสอบบันทึกข้อผิดพลาด เนื่องจากแอปนี้ใช้ Dialogflow คุณจึงมีแหล่งข้อมูลการบันทึกและการแก้ปัญหาหลายอย่างให้ใช้งานได้ ดังนี้
บันทึกส่วนเสริมของ Google Workspace: บันทึกการค้นหาสำหรับข้อมูลโดยละเอียดเกี่ยวกับ ลักษณะการทำงานของแอป Chat รวมถึงการโต้ตอบกับ Chat ดูบันทึกการค้นหาสําหรับส่วนเสริมของ Google Workspace
ข้อผิดพลาดของแอป Google Chat: สำหรับข้อความแสดงข้อผิดพลาดและการแก้ไขทั่วไปของแอป Chat โปรดดูแก้ปัญหาและแก้ไขข้อผิดพลาดของแอป Chat
ประวัติการสนทนาของ Dialogflow ES: ประวัติ | Dialogflow ES
การแก้ปัญหาทั่วไปของ Dialogflow: การแก้ปัญหา | Dialogflow
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์เพื่อหลีกเลี่ยงการเรียกเก็บเงินจาก บัญชีของคุณสำหรับ ทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google API ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบ โปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
- Dialogflow CX เป็นอีกวิธีหนึ่งในการใช้ Dialogflow กับแอปแชท