สร้างส่วนเสริมของ Google Chat ด้วย Dialogflow ES

หน้านี้อธิบายวิธีสร้างแอป 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

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

สถาปัตยกรรม

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

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

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

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

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

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

    เปิดใช้ API

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

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

สร้าง Agent ของ Dialogflow ES

หากคุณไม่มีตัวแทน Dialogflow ES อยู่แล้ว ให้ทำดังนี้

  1. ไปที่คอนโซล Dialogflow ES
  2. คลิกสร้างเอเจนต์
  3. ตั้งชื่อ เลือกภาษาเริ่มต้น และเขตเวลา
  4. เชื่อมโยงกับโปรเจ็กต์ Cloud
  5. คลิกสร้าง
  6. สร้าง Intent และเอนทิตีตามที่จำเป็นสำหรับโฟลว์การสนทนาของแอป Chat คุณเริ่มต้นด้วยความตั้งใจในการทักทายได้
  7. จดรหัสโปรเจ็กต์ไว้

ดูคำแนะนำแบบละเอียดได้ที่สร้างเอเจนต์

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

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

  1. ไปที่ Google Chat API ในคอนโซล Google 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 ES
    7. ทำให้แอป Chat นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
    8. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดไปยังการบันทึก
  3. คลิกบันทึก

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

ทดสอบแอป Chat

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

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

    ไปที่ Google Chat

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

  5. ในข้อความส่วนตัวใหม่กับแอป ให้พิมพ์ 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 ตอบกลับด้วยข้อความเพียงข้อความเดียว ระบบจะส่งข้อความ ไปยัง Google Chat แบบพร้อมกัน หากตัวแทน Dialogflow ตอบกลับ ด้วยข้อความหลายรายการ ระบบจะส่งข้อความทั้งหมดไปยัง Chat แบบไม่พร้อมกันโดยการเรียกใช้เมธอด create ในทรัพยากร spaces.messages ใน Chat API 1 ครั้งต่อข้อความ 1 รายการ
  • เมื่อใช้การผสานรวม Dialogflow ES กับ Chat คุณต้องตั้งค่า Agent ของ Dialogflow และแอป Chat ในโปรเจ็กต์ Google Cloud เดียวกัน

แก้ปัญหา

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

ล้างข้อมูล

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

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

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

  2. ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ
  3. ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบ โปรเจ็กต์
  • Dialogflow CX เป็นอีกวิธีหนึ่งในการใช้ Dialogflow กับแอปแชท