การย้ายข้อมูลโปรเจ็กต์ Dialogflow ไปยัง Actions Builder

ในฐานะนักพัฒนาซอฟต์แวร์ Dialogflow คุณอาจต้องย้ายข้อมูล Actions ที่มีอยู่ไปยัง Actions Builder สิทธิประโยชน์มากมายที่จะได้รับจากการใช้วิธีการใหม่ในคอนโซลสําหรับพัฒนาการดําเนินการ และการย้ายข้อมูลโปรเจ็กต์ Dialogflow ที่มีอยู่นั้นก็ง่ายนิดเดียว หน้านี้จะอธิบายวิธีใช้เครื่องมือย้ายข้อมูล Dialogflow/Actions Builder

ก่อนที่จะดำเนินการตามคู่มือนี้ คุณควรอ่านภาพรวมของการย้ายข้อมูล Dialogflow ไปยัง Actions Builder ซึ่งครอบคลุมแนวคิดสําคัญและความแตกต่างระหว่าง Dialogflow และ Actions Builder

สิ่งที่เครื่องมือย้ายข้อมูลทำ

เครื่องมือย้ายข้อมูล Dialogflow ไปยัง Actions Builder จะแปลงองค์ประกอบ Dialogflow ที่เจาะจง เช่น ความตั้งใจและเอนทิตี เพื่อทำงานกับ Action Builder

เครื่องมือย้ายข้อมูลจะย้ายข้อมูลองค์ประกอบ Dialogflow ต่อไปนี้ไปยัง Actions Builder โดยอัตโนมัติ

  • Intent ต้อนรับเริ่มต้นของ Dialogflow ของ Dialogflow ซึ่งย้ายไปเป็นการเรียกใช้หลัก
  • วลีและเอนทิตีการฝึกทั้งหมดสำหรับแต่ละภาษาที่การดำเนินการของคุณรองรับ
  • Intent ที่ไม่มีบริบทอินพุต ซึ่งย้ายไปเป็น Intent ส่วนกลาง
  • Intent ที่มีบริบทอินพุตเดียว ซึ่งจะย้ายข้อมูลเป็นฉากและ Intent
  • Intent ที่มีบริบทการป้อนข้อมูลหนึ่งรายการและการเติมช่องจะทำให้มี 2 ฉากและจุดประสงค์อีก 1 ฉากในการจัดการการเปลี่ยนไปยังฉากที่มีการเติมช่อง
  • Intent ที่ใช้โฆษณาสำรอง สื่อ และกิจกรรมต้อนรับของ Dialogflow จะทำให้เกิดตัวแฮนเดิล Actions Builder ที่เกี่ยวข้องและ Intent ที่มีวลีการฝึก
  • Intent ที่ใช้วันที่ของ Dialogflow และเอนทิตีระบบตัวเลขจะส่งผลให้เกิดประเภทระบบ Actions Builder ที่เกี่ยวข้อง

เครื่องมือย้ายข้อมูลไม่จัดการองค์ประกอบ Dialogflow ต่อไปนี้

  • Intent ที่มีบริบทการป้อนข้อมูลหลายรายการ คุณต้องสร้างฉากด้วยตนเอง
  • Intent ที่ใช้เหตุการณ์ที่กำหนดเองใน Dialogflow
  • เอนทิตีของระบบ Dialogflow ที่ไม่ใช่วันที่หรือตัวเลข เอนทิตีเหล่านี้สร้างขึ้นเป็นประเภทใหม่ แต่คุณต้องเพิ่มคำพ้องความหมายด้วยตนเอง
  • ซอร์สโค้ดสำหรับการดำเนินการของ Dialogflow ระบบจะไม่ย้ายข้อมูลโค้ดนี้ไปยัง Builder เนื่องจากเวอร์ชัน API แตกต่างกัน

เข้าถึงเครื่องมือย้ายข้อมูล

หากต้องการเข้าถึงเครื่องมือย้ายข้อมูล ให้เปิดโปรเจ็กต์ Dialogflow ในคอนโซล Actions และไปที่พัฒนา > การดำเนินการ

หากไม่แน่ใจเกี่ยวกับโปรเจ็กต์ที่ใช้ในคอนโซล Actions ให้ไปที่คอนโซล Dialogflow และทำตามขั้นตอนต่อไปนี้

  1. เปิดโปรเจ็กต์ที่ต้องการย้ายข้อมูลและคลิกไอคอนการตั้งค่า
  2. ในส่วนทั่วไป > รหัสโปรเจ็กต์ ให้คลิกลิงก์ Actions on Google ซึ่งจะนำคุณไปยังคอนโซล Actions สําหรับโปรเจ็กต์ที่เฉพาะเจาะจง
  3. ไปที่พัฒนา > การทำงาน แล้วคลิกแสดงตัวอย่างการย้ายข้อมูล

เลื่อนดูสไลด์ให้ข้อมูลแล้วคลิกเริ่มต้นย้ายข้อมูลเพื่อดูแดชบอร์ดการย้ายข้อมูล

แดชบอร์ดการย้ายข้อมูล

แดชบอร์ดการย้ายข้อมูลจะแสดงตัวเลือกการย้ายข้อมูล รวมถึงข้อมูลที่เกี่ยวข้องกับรายการที่จะย้าย

ตัวเลือกการย้ายข้อมูล

เครื่องมือย้ายข้อมูลมี 2 ตัวเลือกสำหรับการย้ายข้อมูลโปรเจ็กต์ Dialogflow ไปยัง Actions Builder ดังนี้

  • ย้ายข้อมูลเป็นโปรเจ็กต์ใหม่ (แนะนำ)
    • เก็บโปรเจ็กต์ Dialogflow ที่มีอยู่ไว้เหมือนเดิมและย้ายข้อมูลสําเนาไปยังโปรเจ็กต์ใหม่
    • ชื่อที่แสดงและข้อมูลไดเรกทอรียังคงเชื่อมโยงกับโปรเจ็กต์ที่ใช้งานจริงที่มีอยู่ ดูขั้นตอนที่แนะนำเกี่ยวกับวิธีเขียนทับโปรเจ็กต์ที่ใช้งานอยู่ด้วยโปรเจ็กต์ที่มีการย้ายข้อมูล
  • ย้ายข้อมูลโปรเจ็กต์นี้
    • แทนที่โปรเจ็กต์ Dialogflow ที่มีอยู่ และเก็บชื่อที่แสดงและข้อมูลไดเรกทอรี Assistant ที่คุณกำหนดไว้สำหรับโปรเจ็กต์ของคุณ

รายงานการย้ายข้อมูล

คุณขยายแต่ละส่วนของรายงานการย้ายข้อมูลเพื่อแสดงรายละเอียดเฉพาะโปรเจ็กต์ที่เกี่ยวข้องกับข้อมูลต่อไปนี้ได้

  • สิ่งที่จะย้ายข้อมูลทั้งหมด
  • ข้อมูลที่จะย้ายแต่ต้องมีการตั้งค่าเพิ่มเติมหลังการย้ายข้อมูล
  • ข้อมูลที่ระบบจะไม่ย้ายข้อมูลและต้องเพิ่มด้วยตนเอง (หากจำเป็น)
  • ฟีเจอร์ใดที่โปรเจ็กต์ Dialogflow ของคุณใช้อยู่ซึ่งไม่มีอยู่ใน Actions Builder

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

ตั้งค่าหลังการย้ายข้อมูล

แม้ว่าเครื่องมือย้ายข้อมูลจะช่วยย้ายส่วนสำคัญของโปรเจ็กต์ Dialogflow ไปยัง Actions Builder แต่ก็จำเป็นต้องมีการพัฒนาเพิ่มเติมเพื่อตั้งค่าการเปลี่ยน ข้อความแจ้ง และเว็บฮุคที่ไม่ได้ย้ายข้อมูล

อัปเดตขั้นตอนการสนทนาเพื่อใช้ฉาก

แม้ว่าเครื่องมือย้ายข้อมูลจะสร้างฉากโดยอิงตาม Intent ของ Dialogflow ซึ่งมีบริบทอินพุตเดียว แต่นี่ไม่ใช่ความสัมพันธ์แบบหนึ่งต่อหนึ่ง บางฉากที่ย้ายมาอาจไม่สมเหตุสมผลใน Actions Builder เมื่อใช้โมเดลการสนทนาใหม่

คุณอาจต้องทบทวนขั้นตอนการสนทนาใหม่โดยประเมินฉากที่จำเป็น คุณอาจลบฉากที่สร้างขึ้นบางฉากได้ง่ายขึ้น หากฉากนั้นไม่เหมาะกับการสนทนาของคุณ ทั้งนี้ขึ้นอยู่กับความซับซ้อนของการดำเนินการของคุณ

ตรวจสอบและอัปเดต Intent ส่วนกลาง

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

Intent ร่วมยังใช้เพื่อการทำ Deep Link ผู้ใช้ไปยังขั้นตอนที่เฉพาะเจาะจงเมื่อผู้ใช้เรียกใช้การดำเนินการของคุณได้ด้วย สิ่งสำคัญคือต้องตรวจสอบว่า Intent ส่วนกลางที่สร้างขึ้นควรทำงานและเข้าถึงได้สำหรับผู้ใช้ในขอบเขตส่วนกลางหรือไม่ หากต้องการเปลี่ยน Intent ส่วนกลางเป็น Intent ปกติ ให้คลิก Intent แล้วเปลี่ยนตัวเลือกการจัดการ Intent ส่วนกลางเป็น NO

รวม Intent กับวลีการฝึกที่คล้ายกัน

หาก Intent บางรายการมีวลีการฝึกที่คล้ายกันมาก คุณควรรวม Intent เป็น Intent ทั่วไปรายการเดียว ซึ่งจะช่วยเพิ่มความแม่นยำในการจับคู่ความตั้งใจ

เช่น Intent A มีวลีการฝึกต่อไปนี้

  • "ได้ ฉันอยากตรวจสอบว่าพร้อมแล้ว"
  • "เอาละ พร้อมแล้ว"
  • "มาเริ่มกันเลย"

Intent B มีวลีการฝึกต่อไปนี้

  • "ได้ ฉันอยากตรวจสอบว่าพร้อมแล้ว"
  • "เอาละ ฉันว่าพร้อมแล้ว"

เนื่องจากวลีการฝึกระหว่าง Intent ทั้ง 2 มีความคล้ายคลึงกัน ให้รวม Intent A และ Intent B เป็น Intent ทั่วไปมากกว่า (Intent C) และลบต้นฉบับออก ใช้ Intent C ในฉากที่อ้างถึง Intent A หรือ Intent B

Intent C มีวลีการฝึกต่อไปนี้

  • "ได้ ฉันอยากตรวจสอบว่าพร้อมแล้ว"
  • "เอาละ พร้อมแล้ว"
  • "มาเริ่มกันเลย"
  • "เอาละ ฉันว่าพร้อมแล้ว"

อัปเดตการจัดการเหตุการณ์

สำหรับ Intent ที่ใช้เหตุการณ์บางอย่าง (fallback, media และ welcome) ใน Dialogflow เครื่องมือการย้ายข้อมูลจะสร้าง Intent ของระบบที่เกี่ยวข้องสำหรับเหตุการณ์นั้น หาก Intent ของ Dialogflow เดียวกันมีวลีการฝึก ระบบจะสร้าง Intent เพิ่มเติมโดยใช้วลีการฝึกเดียวกัน

คุณต้องตั้งค่าเครื่องจัดการเว็บฮุคและการเปลี่ยนตามความจำเป็นเพื่อตั้งค่าเหตุการณ์ใน Actions Builder

เพิ่ม Intent ของระบบเพื่อจัดการ Intent สำรอง

ใน Dialogflow Intent สำรองจะจัดการกรณีที่ Intent ไม่จดจำอินพุตของผู้ใช้ Actions Builder ใช้ Intent ของระบบ NO_MATCH และ NO_INPOUT เพื่อพิจารณากรณีเหล่านี้

คุณเพิ่มทั้ง Intent ของระบบ NO_MATCH และ NO_INPUT ไปยังฉากได้สูงสุด 3 ครั้ง เช่น การเพิ่ม Intent NO_MATCH 3 รายการในฉากหมายความว่าคุณจะค่อยๆ ตอบกลับรายละเอียดเกี่ยวกับสิ่งที่การดำเนินการของคุณกำลังมองหาในการตอบสนองของผู้ใช้ได้

คุณควรเพิ่ม Intent ของระบบที่โปรเจ็กต์ Dialogflow ใช้ Intent สำรอง ตัวอย่างบางส่วนของ Intent ของระบบ Actions Builder ที่ใช้กันโดยทั่วไป ได้แก่ NO_MATCH และ NO_INPUT ดูข้อมูลเพิ่มเติมเกี่ยวกับ Intent ของระบบเหล่านี้ได้ที่ Intent ของระบบ

อัปเดตกลยุทธ์การดำเนินการตามคำสั่งซื้อ

การย้ายโค้ด Fulfillment ของ Dialogflow ไปยัง Actions Builder นั้นเป็นหนึ่งในขั้นตอนการย้ายข้อมูลที่ใหญ่กว่า แม้ว่าแนวคิดการเรียกใช้เว็บฮุคและ Fulfillment ทั่วไปจะยังคงเหมือนเดิม แต่ Actions Builder จะมีตัวเลือกในการใช้ฟังก์ชันซ้ำและเพิ่มโอกาสการทริกเกอร์เว็บฮุค

ด้วยเหตุนี้ คุณจึงอาจต้องพิจารณากลับไปใช้การดำเนินการของโปรเจ็กต์อีกครั้งเพื่อใช้ประโยชน์จากฟีเจอร์ของ Actions Builder

  • ชื่อเครื่องจัดการเว็บฮุคที่กำหนดเองหมายความว่าคุณจะเรียกใช้ฟังก์ชันเว็บฮุคเดียวกันจากหลายๆ ส่วนของฉากที่ต่างกันได้
  • การเรียกเว็บฮุคทำได้โดยอิงตามการเข้าฉาก การตรวจสอบแบบมีเงื่อนไข การป้อนข้อมูลในช่อง และการจับคู่ Intent ควบคุมเวลาและสถานที่ในการเรียกใช้เว็บฮุคที่ละเอียดยิ่งขึ้น ช่วยให้มีโซลูชัน Fulfillment ครีเอทีฟโฆษณามากขึ้น

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

ตัวอย่างการย้ายข้อมูล

โปรเจ็กต์ที่ย้ายข้อมูลจาก Dialogflow ไปยัง Actions Builder มีโครงสร้างแตกต่างกันอย่างมาก เนื่องจากความแตกต่างของโมเดลการสนทนาที่เครื่องมือแต่ละรายการใช้ การใช้ฉาก พรอมต์ และการเปลี่ยนใน Actions Builder รวมถึงฟีเจอร์ต่างๆ เช่น เครื่องจัดการเว็บฮุคที่นํากลับมาใช้ใหม่ได้ ทําให้โค้ดของโปรเจ็กต์ที่ย้ายข้อมูลแตกต่างจากต้นฉบับอย่างมาก

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

โปรเจ็กต์ตัวอย่าง รหัส Dialogflow โค้ดเครื่องมือสร้างการกระทำ
ข้อเท็จจริงเกี่ยวกับ Google รหัสโปรเจ็กต์ รหัสโปรเจ็กต์
ธุรกรรม รหัสโปรเจ็กต์ รหัสโปรเจ็กต์
การลิงก์บัญชี รหัสโปรเจ็กต์ รหัสโปรเจ็กต์

ส่วนนี้จะอธิบายกระบวนการย้ายข้อมูลที่แนะนำและช่วยให้คุณสามารถเก็บชื่อที่แสดง (การเรียกใช้) ข้อมูลไดเรกทอรี และข้อมูลวิเคราะห์ที่ผ่านมาได้

กระบวนการนี้ต้องอาศัยการทำงานร่วมกับโปรเจ็กต์ Actions Builder ที่ต่างกัน 2 โปรเจ็กต์ ซึ่งโปรเจ็กต์ทั้งสองได้ย้ายข้อมูลจากโปรเจ็กต์ Dialogflow เดียวกัน เพื่อความชัดเจน โปรเจ็กต์เหล่านี้เรียกว่าโปรเจ็กต์ต่อไปนี้

  • experimental: โปรเจ็กต์นี้ใช้เพื่อตั้งค่าและทดสอบการย้ายข้อมูล
  • ต้นฉบับ: โปรเจ็กต์นี้พร้อมใช้งานและให้บริการแก่ผู้ใช้แล้ว

ในการย้ายข้อมูลโปรเจ็กต์ ให้ทำดังนี้

  1. สร้างข้อมูลสำรองของโครงการ Dialogflow โดยใช้ฟีเจอร์การส่งออกของ Dialogflow
  2. ไปที่คอนโซล Actions และเปิดโปรเจ็กต์ที่ต้องการย้ายข้อมูล
  3. ไปที่พัฒนา > การทำงาน แล้วคลิกแสดงตัวอย่างการย้ายข้อมูล
  4. คลิกสไลด์แสดงข้อมูลแล้วคลิกเริ่มต้นการย้ายข้อมูล
  5. เลือกย้ายข้อมูลเป็นโปรเจ็กต์ใหม่
  6. ตรวจสอบรายงานการย้ายข้อมูลและเลือกดาวน์โหลดรายงานเพื่อใช้อ้างอิงในอนาคต
  7. คลิกย้ายข้อมูล
  8. ป้อนชื่อให้โครงการ "ทดลอง" แล้วคลิกสร้างโครงการ จดรหัสโครงการไว้
  9. ตั้งค่าหลังการย้ายข้อมูลให้เรียบร้อยและยืนยันว่าการดำเนินการทำงานได้ตามที่ต้องการ
  10. ใช้ CLI gactions เพื่อดึงแบบร่างของโปรเจ็กต์ "ทดลอง"

    gactions pull --project-id experimental-project-id

  11. เปิดโปรเจ็กต์ Dialogflow "เดิม" อีกครั้งในคอนโซล Actions

  12. ไปที่พัฒนา > การทำงาน แล้วคลิกแสดงตัวอย่างการย้ายข้อมูล

  13. เลือกย้ายข้อมูลโปรเจ็กต์นี้

  14. คลิกย้ายข้อมูล

  15. คลิกไอคอนเพิ่มเติม > การตั้งค่าโปรเจ็กต์ และจดบันทึกรหัสโปรเจ็กต์

  16. ในระบบของคุณ ให้เปิดไฟล์ settings.yaml ของโครงการ "ทดลอง" ที่คุณดึงมา และแทนที่ projectId ด้วยรหัสโปรเจ็กต์ของโปรเจ็กต์ "ดั้งเดิม"

  17. ใช้ CLI สำหรับ gactions เพื่อส่งแบบร่างของโปรเจ็กต์ที่บันทึกไว้ในเครื่อง

    gactions push

  18. ทำตามขั้นตอนสำหรับการเผยแพร่ผ่านช่องอัลฟ่าหรือเบต้า หรือเผยแพร่การดำเนินการของคุณเป็นเวอร์ชันที่ใช้งานจริง