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

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

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

สถาปัตยกรรม

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

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

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

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

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

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

    เปิดใช้ API

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

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

สร้าง Dialogflow ES Agent

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

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

ดูคำแนะนำโดยละเอียดได้ที่สร้าง Agent

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

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

  1. ในคอนโซล Google API ให้ไปที่ Google Chat 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. ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดลงใน Logging
  3. คลิกบันทึก

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

ทดสอบแอป Chat

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

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

    ไปที่ Google Chat

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

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

แก้ปัญหา

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

ล้างข้อมูล

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

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

    ไปที่ Resource Manager

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