เพิ่มการครอบคลุมของ Intent และจัดการข้อผิดพลาดได้อย่างลงตัวด้วย Generativeโฆษณาสำรอง

1. ภาพรวม

Last Updated: 2023-08-07

สิ่งที่คุณจะสร้าง

ใน Codelab นี้ คุณจะได้สร้าง ทำให้ใช้งานได้ และกำหนดค่าตัวแทนเสมือนอย่างง่ายใน Dialogflow CX เพื่อช่วยเหลือนักดำน้ำแบบกลุ่มและแบบส่วนตัว ตัวแทนเสมือนจะใช้ Generative AI และโมเดลภาษาขนาดใหญ่ (LLM) แบบ Generative ล่าสุดของ Google เพื่อสร้างคำตอบของตัวแทนเสมือน

สิ่งที่คุณจะได้เรียนรู้

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

สิ่งที่คุณต้องมี

  • โปรเจ็กต์ Google Cloud
  • เบราว์เซอร์ เช่น Chrome

2. การเริ่มต้นใช้งาน

คุณต้องเปิดใช้ Dialogflow API ก่อนจึงจะเริ่มใช้ฟีเจอร์ Fallback แบบ Generative ใน Dialogflow CX ได้

เปิดใช้ Dialogflow API โดยใช้ Cloud Console

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

การใช้ gcloud CLI (ทางเลือก)

หรือจะเปิดใช้ API โดยใช้คำสั่ง gcloud ต่อไปนี้ก็ได้

gcloud services enable dialogflow.googleapis.com

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

Operation "operations/..." finished successfully.

รับรหัส

คุณจะไม่ต้องสร้างตัวแทนเสมือนตั้งแต่ต้น เราจะมอบ Agent ให้คุณ ซึ่งคุณจะต้องกู้คืนจากคอนโซล Dialogflow CX แล้วจึงปรับปรุง

วิธีดาวน์โหลดซอร์สโค้ด

  1. เปิดแท็บเบราว์เซอร์ใหม่ ไปที่ที่เก็บ Agent แล้วโคลนจากบรรทัดคำสั่ง
  2. ระบบได้ส่งออกเอเจนต์เริ่มต้นเป็นแพ็กเกจ JSON แล้ว คลายซิปไฟล์ ตรวจสอบการตั้งค่าเอเจนต์ ดูคำจำกัดความของโฟลว์ Liveaboards.json และสุดท้ายคือเรียกดูหน้าโฟลว์ เจตนา และเอนทิตี

3. สร้างเอเจนต์ใหม่

เปิดคอนโซล Dialogflow

คุณจะใช้คอนโซล Dialogflow CX พร้อมกับโปรเจ็กต์ Google Cloud เพื่อทำขั้นตอนที่เหลือในโค้ดแล็บนี้

  1. ไปที่คอนโซล Dialogflow CX ในเบราว์เซอร์
  2. เลือกโปรเจ็กต์ Google Cloud ที่ต้องการใช้ หรือสร้างโปรเจ็กต์ใหม่เพื่อใช้งาน
  3. คุณจะเห็นรายการ Agent ในคอนโซล Dialogflow CX

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

สร้าง Agent Dialogflow CX ใหม่

  1. หากต้องการกู้คืน Agent ที่ดาวน์โหลดจากที่เก็บ GitHub คุณต้องสร้าง Agent ใหม่ จากคอนโซล Dialogflow CX ให้คลิกสร้าง Agent ใหม่ที่มุมขวาบนของหน้า

สร้าง Agent ใหม่

  1. เลือกตัวเลือก Agent สร้างเอง

เลือกตัวเลือก

  1. กรอกแบบฟอร์มด้วยการตั้งค่า Agent ด้านล่าง แล้วคลิกสร้างเพื่อสร้าง Agent
  • เลือกชื่อที่แสดงเป็น Divebooker
  • เลือกตำแหน่งเป็น us-central1
  • เลือกเขตเวลาที่ต้องการ
  • เลือก en - English เป็นภาษาเริ่มต้น
  1. Dialogflow จะเปิด Agent ให้คุณโดยอัตโนมัติ เรายังมีอะไรให้ดูอีก

กู้คืนตัวแทน Divebooker

  1. กลับไปที่หน้ารายการตัวแทน แล้วระบุตัวแทนที่คุณเพิ่งสร้าง คลิกตัวเลือก 78d2781c655810e7.png แล้วคลิกปุ่มกู้คืน
  2. เลือกตัวเลือกอัปโหลด จากนั้นวางหรือเลือกไฟล์ ZIP ที่คุณดาวน์โหลดจากที่เก็บ GitHub ไว้ก่อนหน้านี้
  3. คลิกปุ่มกู้คืนเพื่อนำเข้าเอเจนต์ที่เราให้ไว้

คลิกปุ่มกู้คืนเพื่อนำเข้าเอเจนต์ที่เราให้ไว้

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

4. ทดสอบ Agent

Dialogflow มีเครื่องจำลองในตัวเพื่อให้คุณแชทกับ Agent และค้นหาข้อบกพร่อง ในแต่ละรอบ คุณสามารถยืนยันค่าที่ถูกต้องสำหรับ Intent ที่ทริกเกอร์ การตอบกลับของเอเจนต์ หน้าที่ใช้งานอยู่ และพารามิเตอร์เซสชัน

เราจะทดสอบสถานการณ์ 2-3 สถานการณ์ และในแต่ละสถานการณ์ เราจะดูเหตุผลที่เอเจนต์ให้คำตอบที่เฉพาะเจาะจง มาเริ่มที่ข้อแรกกันเลย

ความตั้งใจที่ยังไม่ได้รับการแก้ไข

  1. ในคอนโซล Dialogflow และจากภายใน Agent ให้คลิกทดสอบ Agent เพื่อเปิดโปรแกรมจำลอง

คลิก "ทดสอบเอเจนต์" เพื่อเปิดโปรแกรมจำลอง

  1. พิมพ์คำทักทายเจ้าหน้าที่ เช่น Hello และถาม what is a liveaboard? หากคำถามไม่ตรงกับเจตนาใดๆ ระบบจะแสดงข้อความทั่วไป เช่น "ขอโทษนะ ไม่แน่ใจว่าจะช่วยได้ยังไง" คุณสามารถตรวจสอบว่ามีการเรียกใช้เหตุการณ์ในตัว sys.no-match-default หรือไม่โดยตรวจสอบการตอบกลับเดิมในเครื่องจำลอง

ทักทายเจ้าหน้าที่และถามว่าไลฟ์อะบอร์ดคืออะไร

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

ตรวจสอบว่า Dialogflow ได้สร้างเหตุการณ์ sys.no-match-default แล้ว

  1. เปลี่ยนไปที่แท็บสร้าง แล้วเปิดหน้าเริ่มต้นของโฟลว์ Liveaboards

เปลี่ยนไปที่แท็บสร้าง แล้วเปิดหน้าเริ่มต้นของโฟลว์ Liveaboards

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

  1. คลิกตัวแฮนเดิลเหตุการณ์ sys.no-match-default แล้วเลื่อนลงไปที่ส่วนคำตอบของเอเจนต์ Dialogflow มีรายการคำตอบสำรอง แต่คุณยังกำหนดข้อความตอบกลับประเภทต่างๆ เพื่อให้ผู้ใช้ปลายทางได้รับคำตอบมากกว่าแค่ข้อความได้ด้วย

ดูคำตอบของตัวแทนที่กำหนดไว้ล่วงหน้า

ตอนนี้เรามาดูเส้นทางที่ราบรื่นกัน

เส้นทางที่ไม่พบข้อผิดพลาด

ในกรณีที่ 2 ให้สมมติว่าคุณเป็นนักดำน้ำที่ต้องการจองทริปล่องเรือดำน้ำสำหรับกลุ่มคน 12 คนไปยังหมู่เกาะกาลาปากอสในเดือนกรกฎาคมปีหน้า

  1. ในแผงจำลอง ให้คลิกไอคอนรีเซ็ตเพื่อเริ่มการสนทนาใหม่กับตัวแทน

รีเซ็ตเพื่อเริ่มการสนทนาใหม่

ลองเปลี่ยนเป็นมุมมองแนวตั้งเพื่อประสบการณ์การใช้งานที่ดียิ่งขึ้น

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

ทดสอบเส้นทางที่ไม่พบข้อผิดพลาด

  1. เปิดหน้าเริ่มต้น แล้วคลิกเส้นทาง head.send.group.request เลื่อนลงไปที่ส่วนการเปลี่ยนหน้า ซึ่งจะบอก Dialogflow ว่าจะเปลี่ยนไปที่หน้าใดเมื่อตรงกับ Intent นี้

เปลี่ยนไปที่หน้า "รวบรวมข้อมูลเพิ่มเติม"

  1. ปิดคำจำกัดความเส้นทางและขยายหน้ารวบรวมข้อมูลเพิ่มเติม สังเกตการดำเนินการตามรายการและรายการพารามิเตอร์

หน้าเก็บรวบรวมข้อมูลเพิ่มเติม

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

  1. เปลี่ยนไปที่แท็บจัดการ แล้วคลิกเจตนา head.send group request ในส่วนเจตนา ดูวลีฝึกที่ระบุไว้สำหรับความตั้งใจนี้และส่วนที่อธิบายประกอบของวลีฝึก

ดูวลีฝึกที่ระบุไว้สำหรับความตั้งใจนี้และส่วนที่อธิบายประกอบของวลีฝึก

  1. ลองพิจารณาวลีการฝึก "ฉันต้องการจัดการทริปไปคอสตาริกาสำหรับนักดำน้ำ 15 คน" "คอสตาริกา" มีคำอธิบายประกอบเป็นจุดหมาย และ "15" มีคำอธิบายประกอบเป็นจำนวนแขก เมื่อคุณใส่คำอธิบายประกอบในส่วนต่างๆ ของวลีการฝึก Dialogflow จะรับรู้ว่าส่วนต่างๆ เหล่านี้เป็นเพียงตัวอย่างของค่าจริงที่ผู้ใช้ปลายทางจะระบุในขณะรันไทม์ ด้วยเหตุนี้ สำหรับอินพุตเริ่มต้น "คุณมีบริการเช่าเหมาลำไปยังหมู่เกาะกาลาปาโกสไหม" Dialogflow ดึงพารามิเตอร์ปลายทางจาก "หมู่เกาะกาลาปากอส"

จากนั้นเราจะมาดูสิ่งที่เกิดขึ้นหากเราไม่ได้ระบุอินพุตที่ถูกต้องให้กับ Agent เมื่อถูกขอให้กรอกพารามิเตอร์แบบฟอร์ม

ข้อมูลที่ป้อนไม่ถูกต้อง

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

ป้อนปลายทางที่ไม่ถูกต้อง

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

เอนทิตีที่กำหนดเองปลายทาง

  1. คลิกเอนทิตีปลายทางเพื่อดูว่าเอนทิตีตรงกับค่าใด "ยุโรป" ไม่ใช่รายการใดรายการหนึ่งและไม่ใช่คำพ้องความหมายด้วย
  2. ในโฟลว์ไดอะแกรม ให้ขยายหน้ารวบรวมข้อมูลเพิ่มเติมที่มีพารามิเตอร์แบบฟอร์ม คลิกพารามิเตอร์ปลายทาง
  3. ในแผงพารามิเตอร์ ให้เลื่อนลงไปที่ส่วนตัวแฮนเดิลเหตุการณ์แจ้งอีกครั้ง แล้วคลิกตัวแฮนเดิลเหตุการณ์ค่าเริ่มต้นเมื่อไม่พบรายการที่ตรงกัน

ตัวแฮนเดิลเหตุการณ์ระดับพารามิเตอร์นี้มีไว้เพื่อจัดการอินพุตของผู้ใช้ปลายทางที่ไม่ถูกต้องในระหว่างการกรอกแบบฟอร์มโดยเฉพาะ เนื่องจาก "Europe'' เป็นอินพุตที่ไม่คาดคิด ระบบจึงเรียกใช้เหตุการณ์ sys.no-match-default และเรียกใช้เครื่องจัดการการแจ้งให้พูดซ้ำที่เกี่ยวข้องซึ่งกำหนดไว้สำหรับเหตุการณ์นี้ ส่วนตัวแทนพูดแสดงข้อความแจ้งอีกครั้ง 2 ข้อความ

ข้อความแจ้งให้ลองอีกครั้งแบบคงที่เมื่อผู้ใช้ปลายทางป้อนปลายทางที่ไม่ถูกต้อง

ทำได้ดีมาก กรณีทดสอบเหล่านี้แสดงถึงสถานการณ์ทั่วไปที่คาดว่าเอเจนต์จะจัดการได้อย่างเหมาะสม บ่อยครั้งที่ผู้ใช้ถามคำถามที่บ็อตตอบไม่ได้ หรือส่งคำขอที่บ็อตดำเนินการให้ไม่ได้ การออกแบบสำหรับ Long Tail นั้นซับซ้อนมาก ซึ่งหมายถึงการออกแบบนอกเส้นทางที่ผู้ใช้ส่วนใหญ่จะทำตาม ลองคิดถึงสิ่งต่างๆ ที่อาจผิดพลาดในการสนทนา รวมถึงเส้นทางที่ไม่คาดคิดหรือไม่รองรับที่ผู้ใช้อาจเลือก

ความก้าวหน้าในการจดจำเสียงอัตโนมัติ (ASR) ทำให้เรารู้สิ่งที่ผู้ใช้พูดได้อย่างแม่นยำเกือบทุกครั้ง อย่างไรก็ตาม การพิจารณาว่าผู้ใช้ต้องการอะไรยังคงเป็นเรื่องที่ท้าทาย โดยมักจะเข้าใจคำพูดแบบแยกกันไม่ได้ แต่จะเข้าใจได้ในบริบทเท่านั้น ในส่วนถัดไปของ Codelab นี้ เราจะมาดูว่าโมเดลภาษาขนาดใหญ่ (LLM) แบบ Generative ล่าสุดของ Google จะช่วยให้การสนทนากลับมาอยู่ในเส้นทางเดิมและดำเนินต่อไปได้อย่างไร

5. เปิดใช้การสำรองข้อมูลแบบ Generative

ฟีเจอร์ Generative Fallback คืออะไร

ฟีเจอร์การสำรองข้อมูลแบบ Generative เป็นฟีเจอร์ของ Dialogflow CX ที่ใช้โมเดลภาษาขนาดใหญ่ (LLM) ของ Google เพื่อสร้างคำตอบของตัวแทนเสมือน

ฟีเจอร์นี้ช่วยอะไรได้บ้าง

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

แม้ว่าจะมีเจตนาที่ชัดเจน แต่ก็ยังอาจเกิดข้อผิดพลาดได้ ผู้ใช้อาจพูดนอกสคริปต์ด้วยการเงียบ (ข้อผิดพลาด "ไม่มีอินพุต") หรือพูดสิ่งที่ไม่ได้คาดไว้ (ข้อผิดพลาด "ไม่พบรายการที่ตรงกัน") แม้ว่าการป้องกันไม่ให้เกิดข้อผิดพลาดจะดีกว่าการจัดการข้อผิดพลาดหลังจากที่เกิดขึ้นแล้ว แต่ก็ไม่สามารถหลีกเลี่ยงข้อผิดพลาดได้โดยสิ้นเชิง พรอมต์ทั่วไป เช่น "ขอโทษนะ ไม่แน่ใจว่าจะช่วยได้ยังไง" หรือโซลูชันที่คล้ายกันซึ่งมีฟีเจอร์น้อยที่สุดมักไม่ดีพอ พรอมต์ข้อผิดพลาดควรได้รับแรงบันดาลใจจากหลักการความร่วมมือ ซึ่งการสื่อสารที่มีประสิทธิภาพขึ้นอยู่กับสมมติฐานที่ว่าผู้เข้าร่วมการสนทนามีความร่วมมือกัน

ในส่วนถัดไป เราจะดูวิธีกําหนดค่าฟีเจอร์สำรองของ Generative AI เพื่อเพิ่มความครอบคลุมของเจตนาและลดความซับซ้อนในการจัดการข้อผิดพลาดเพื่อประสบการณ์ของลูกค้าที่ดีขึ้น

เปิดใช้การสำรองข้อมูลแบบ Generative สำหรับเหตุการณ์ที่ไม่มีการจับคู่ของทั้งโฟลว์

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

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

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

  1. ขยายหน้าเริ่มต้นของโฟลว์
  2. คลิก sys.no-match-default ในส่วนตัวแฮนเดิลเหตุการณ์
  3. เลือกเปิดใช้การสำรองข้อมูลแบบ Generative ในส่วนคำตอบของเอเจนต์ แล้วคลิกบันทึก

เลือก "เปิดใช้การสำรองข้อมูลแบบ Generative" ในส่วน "การตอบกลับของ Agent"บันทึกเพื่อเปิดใช้การสำรองข้อมูลแบบ Generative ในหน้าเริ่มต้นของ Liveaboards

เปิดใช้คำตอบสำรองแบบ Generative ในเหตุการณ์ที่ไม่มีรายการที่ตรงกันที่เฉพาะเจาะจง

ตอนนี้เราต้องการเปิดใช้การสำรองข้อมูลแบบ Generative เพื่อจัดการอินพุตที่ไม่ถูกต้องเมื่อตัวแทนถามจำนวนผู้โดยสาร

  1. เปิดหน้ารวบรวมข้อมูลเพิ่มเติมที่มีพารามิเตอร์ของแบบฟอร์ม คลิกพารามิเตอร์ number-of-guests
  2. ไปที่ตัวแฮนเดิลเหตุการณ์ไม่ตรงกันเป้าหมาย (เลื่อนลงไปที่ส่วนตัวแฮนเดิลเหตุการณ์แจ้งอีกครั้ง แล้วคลิกตัวแฮนเดิลเหตุการณ์ค่าเริ่มต้นไม่ตรงกัน)

ไปที่ตัวแฮนเดิลเหตุการณ์ที่ไม่ตรงกันเป้าหมาย (เลื่อนลงไปที่ส่วนตัวแฮนเดิลเหตุการณ์แจ้งอีกครั้ง แล้วคลิกตัวแฮนเดิลเหตุการณ์เริ่มต้นที่ไม่ตรงกัน)

  1. เลือกเปิดใช้การสำรองข้อมูลแบบ Generative ในส่วนคำตอบของตัวแทน

เปิดใช้การสำรองข้อมูลแบบ Generative ในพารามิเตอร์ number-of-guest

  1. สุดท้ายคลิกบันทึก
  2. ตอนนี้ให้ทำซ้ำขั้นตอนเดิมเพื่อเปิดใช้การสำรองข้อมูลแบบ Generative สำหรับ destination และ email-address

ทำได้ดีมาก คุณได้เปิดใช้การสำรองข้อมูลแบบ Generative เพื่อจัดการเจตนาที่ไม่คาดคิดและค่าพารามิเตอร์ที่ไม่ถูกต้อง ต่อไปเราจะมาดูวิธีกำหนดค่าฟีเจอร์สำรองแบบ Generative ด้วยพรอมต์ข้อความที่สั่งให้ LLM ตอบสนองอย่างไร

6. กำหนดค่าสำรองแบบ Generative AI

ฟีเจอร์สำรองแบบ Generative จะส่งคำขอไปยังโมเดลภาษาขนาดใหญ่เพื่อสร้างคำตอบที่สร้างขึ้น คำขอจะอยู่ในรูปแบบของพรอมต์ข้อความซึ่งเป็นการผสมผสานระหว่างภาษาธรรมชาติและข้อมูลเกี่ยวกับสถานะปัจจุบันของเอเจนต์และการสนทนา คุณกำหนดค่าฟีเจอร์นี้ได้หลายวิธี ดังนี้

  1. เลือกพรอมต์ที่เฉพาะเจาะจง (ที่กำหนดไว้แล้ว) เพื่อใช้ในการสร้างคำตอบ
  2. กำหนดพรอมต์ที่กำหนดเอง

เลือกพรอมต์ที่กำหนดไว้แล้ว

  1. ในคอนโซล Dialogflow CX ให้คลิกการตั้งค่า Agent

ไปที่การตั้งค่าตัวแทน

  1. ไปที่แท็บ ML แล้วไปที่แท็บย่อย Generative AI

แท็บย่อย Generative AI

ฟีเจอร์นี้มาพร้อมกับพรอมต์เทมเพลต 2 รายการ ได้แก่ เทมเพลตค่าเริ่มต้น (ซึ่งมองไม่เห็น) และเทมเพลตตัวอย่างที่จะแนะนำวิธีเขียนพรอมต์ของคุณเอง

  1. เลือกเทมเพลตตัวอย่าง แล้วคลิกปุ่มแก้ไขทางด้านขวาของเมนูแบบเลื่อนลงเพื่อตรวจสอบ

คลิกปุ่มแก้ไขทางด้านขวาของเมนูแบบเลื่อนลงของเทมเพลตเพื่อตรวจสอบ

พรอมต์ที่กำหนดไว้ล่วงหน้าจะช่วยให้ตัวแทนเสมือนจัดการสถานการณ์การสนทนาขั้นพื้นฐานได้ เช่น

  • กล่าวทักทายและบอกลาผู้ใช้
  • พูดซ้ำสิ่งที่ตัวแทนพูดในกรณีที่ผู้ใช้ไม่เข้าใจ
  • รอสายเมื่อผู้ใช้ขอ
  • สรุปการสนทนา

มาลองกำหนดพรอมต์ข้อความที่เฉพาะเจาะจงสำหรับเอเจนต์ Divebooker กัน

7. กำหนดพรอมต์ของคุณเอง

  1. คัดลอกพรอมต์ด้านล่างและวางในพื้นที่พรอมต์ข้อความ
You are a friendly agent that likes helping traveling divers.
You are under development and you can only help
$flow-description

At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts.

Currently you can $route-descriptions

The conversation between the human and you so far was:
${conversation USER:"Human:" AGENT:"AI"}

Then the human asked:
$last-user-utterance

You say:
  1. เลือกบันทึกเป็นเทมเพลตใหม่เพื่อจัดเก็บพรอมต์ใหม่เป็นเทมเพลตใหม่ (เลือกชื่อเทมเพลตใหม่) แล้วคลิกบันทึกที่มุมขวาล่างของแผง

สร้างพรอมต์ข้อความที่กำหนดเองสำหรับเอเจนต์โดยเฉพาะ แล้วบันทึกเป็นเทมเพลตใหม่

  1. หากต้องการให้พรอมต์ที่สร้างขึ้นใหม่เป็นพรอมต์ที่ใช้งานอยู่ คุณต้องบันทึกการตั้งค่าด้วย

บันทึกการตั้งค่าใหม่

เมื่อเขียนพรอมต์ข้อความของคุณเอง ให้เขียนให้ชัดเจน กระชับ และเป็นคำสั่ง วิธีสร้างพรอมต์สำหรับ LLM อาจส่งผลอย่างมากต่อคุณภาพของคำตอบจาก LLM LLM ได้รับการฝึกให้ทําตามคําสั่ง ดังนั้นยิ่งพรอมต์ของคุณดูเหมือนคําสั่งที่แม่นยํามากเท่าใด คุณก็ยิ่งมีแนวโน้มที่จะได้รับผลลัพธ์ที่ดีขึ้นเท่านั้น สร้างพรอมต์และอิงตามผลลัพธ์ที่ได้รับ จากนั้นจึงทำซ้ำเพื่อปรับปรุง

หากต้องการสร้างพรอมต์ที่มีประสิทธิภาพ ให้ทําตามแนวทางปฏิบัติแนะนําต่อไปนี้

  1. ระบุคำอธิบายที่ชัดเจนและกระชับเกี่ยวกับงานที่คุณต้องการให้ LLM ทำ ไม่มากหรือน้อยไปกว่านี้ ทำให้สมบูรณ์และสั้น
  2. นอกจากนี้ พรอมต์ควรมีความเฉพาะเจาะจงและกำหนดไว้อย่างชัดเจน โดยหลีกเลี่ยงการใช้ภาษาที่คลุมเครือหรือกำกวม
  3. แบ่งงานที่ซับซ้อนออกเป็นส่วนย่อยๆ ที่จัดการได้ง่ายขึ้น การแบ่งงานออกเป็นขั้นตอนย่อยๆ จะช่วยให้โมเดลจดจ่อกับสิ่งใดสิ่งหนึ่งได้ในแต่ละครั้ง และลดโอกาสที่จะเกิดข้อผิดพลาดหรือความสับสน
  4. หากต้องการปรับปรุงคุณภาพคำตอบ ให้เพิ่มตัวอย่างในพรอมต์ LLM จะเรียนรู้ในบริบทจากตัวอย่างเกี่ยวกับวิธีตอบ

เมื่อสร้างพรอมต์ นอกเหนือจากคำอธิบายภาษาธรรมชาติเกี่ยวกับบริบทประเภทที่ควรสร้างแล้ว คุณยังใช้ตัวยึดตำแหน่งต่อไปนี้ได้ด้วย

  • $conversation การสนทนาระหว่าง Agent กับผู้ใช้ โดยไม่รวมคำพูดสุดท้ายของผู้ใช้ คุณสามารถปรับคำนำหน้าเลี้ยว (เช่น "มนุษย์" "AI" หรือ "คุณ" "เอเจนต์") ในพรอมต์ข้อความ
  • $last-user-utterance คำพูดของผู้ใช้ล่าสุด
  • $flow-description คำอธิบายโฟลว์ของโฟลว์ที่ใช้งานอยู่
  • $route-descriptions คำอธิบายความตั้งใจของความตั้งใจที่ใช้งานอยู่

ตอนนี้เรามีพรอมต์ข้อความเริ่มต้นแล้ว งานต่อไปคือการตรวจสอบว่าโฟลว์และเจตนาได้รับการอธิบายอย่างดี

8. เพิ่มคำอธิบายโฟลว์และเจตนา

เพิ่มคำอธิบายโฟลว์

  1. หากต้องการเพิ่มคำอธิบายลงในโฟลว์ Liveaboards ให้เข้าถึงการตั้งค่าโฟลว์โดยวางเมาส์เหนือโฟลว์ในส่วนโฟลว์

เข้าถึงการตั้งค่าโฟลว์โดยวางเมาส์เหนือโฟลว์ในส่วนโฟลว์

  1. คลิกปุ่มตัวเลือก 78d2781c655810e7.png
  2. เลือกการตั้งค่าโฟลว์ แล้วเพิ่มคำอธิบายต่อไปนี้ (หรือคำอธิบายที่คล้ายกัน) search, find and book liveaboards

เพิ่มคำอธิบายลงในขั้นตอนการจองเรือดำน้ำ

  1. คลิกบันทึก

เพิ่มคำอธิบายความตั้งใจ

  1. ตอนนี้มาเพิ่มคำอธิบายที่ดีให้กับ Intent head.send.group.request กัน เปลี่ยนไปที่แท็บจัดการ เลือกเจตนาในส่วนทรัพยากร แล้วเลือกเจตนา head.send.group.request
  2. เพิ่มคำอธิบายต่อไปนี้ assist users with group or full charter reservations. Initially collect travel details including departure period, destination, number of guests (min 4 max 15 people), contact details. The destination must be one of the following in the Pacific: Costa Rica, Mexico, Galapagos Islands

โปรดทราบว่าคำอธิบายมีข้อมูลสำคัญ เช่น จำนวนผู้โดยสารขั้นต่ำและสูงสุดที่อนุญาตบนเรือ โปรดทราบ

  1. คลิกบันทึก

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

ในส่วนถัดไป คุณจะทดสอบเอเจนต์อีกครั้งเพื่อดูว่าเอเจนต์ตอบคำถามที่ท้าทายคำถามเดิมจากก่อนหน้านี้ได้อย่างไร

9. ทดสอบ Agent อีกครั้ง

ตอนนี้คุณได้กำหนดค่าและเปิดใช้การสำรองข้อมูลแบบ Generative ในตัวแทนเสมือนแล้ว คุณสามารถถามคำถามที่คล้ายกันซึ่งมีความท้าทายและดูวิธีจัดการคำตอบได้

คลิกทดสอบเอเจนต์เพื่อเปิดโปรแกรมจำลองอีกครั้ง

ทดสอบเอเจนต์อีกครั้ง

ถามตัวแทนอีกครั้งเกี่ยวกับเรือนอนและดำน้ำจากเรือนอน จากนี้ไป โปรดสังเกตว่าทุกกล่องโต้ตอบจะมีข้อความที่ผู้ใช้กำหนดไว้ รวมถึงคำตอบที่สร้างขึ้นซึ่งไฮไลต์ไว้ในกรอบสีแดง

ทดสอบตัวแทนอีกครั้งและถามอีกครั้งว่าไลฟ์อะบอร์ดคืออะไร

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

อย่าอายที่จะท้าทายตัวแทน ถามว่าช่วยคุณหาหลักสูตรดำน้ำได้ไหมเนื่องจากคุณยังไม่ใช่นักดำน้ำที่ได้รับการรับรอง

 สอบถามตัวแทนว่าช่วยคุณหาหลักสูตรดำน้ำได้ไหม

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

ตอนนี้ให้ทดสอบสถานการณ์ที่ราบรื่นอีกครั้งและเพิ่มเนื้อหาในการสนทนา มาดูกันว่าประสบการณ์การใช้งานเปลี่ยนแปลงไปอย่างไร

ทดสอบสถานการณ์ที่ราบรื่นอีกครั้งและใช้ความคิดสร้างสรรค์ในบทสนทนาทดสอบสถานการณ์ที่ราบรื่นอีกครั้งและใช้ความคิดสร้างสรรค์ในบทสนทนา

เมื่อ Dialogflow จับคู่เจตนาหรือพยายามรวบรวมพารามิเตอร์ตามการออกแบบโฟลว์ ระบบจะแสดงการดำเนินการตามที่กำหนดไว้ในเวลาออกแบบ เมื่อผู้ใช้ไม่ได้ทำตามสคริปต์และขอสรุปรายละเอียดการเดินทางหรือเสนอที่จะให้หมายเลขโทรศัพท์ ฟีเจอร์การสำรองข้อมูลแบบ Generative จะทำงาน

เยี่ยมไปเลย คุณได้ทดสอบสถานการณ์ที่ราบรื่นอีกครั้งแล้ว และเราหวังว่าคุณจะได้รับประสบการณ์การสนทนากับตัวแทนอย่างราบรื่นและเป็นธรรมชาติมากที่สุดเท่าที่จะเป็นไปได้ ซึ่งใกล้เคียงกับประสบการณ์ที่คุณจะได้รับจากตัวแทนแบบเรียลไทม์

แต่ก็อาจเกิดข้อผิดพลาดในการสนทนาได้ มาลองทดสอบอีกครั้ง คราวนี้เมื่อระบบขอให้คุณระบุจำนวนแขก ให้พูดตัวเลขที่มากกว่า 15

ระบุจำนวนแขกที่มากกว่า 15 คนระบุจำนวนแขกที่มากกว่า 15 คน

มี 2-3 ประเด็นที่อยากจะพูดถึง

  1. ทำไม 20 จึงไม่ใช่หมายเลขที่ถูกต้อง เนื่องจากเราได้กำหนดขีดจำกัดจำนวนแขกที่อนุญาตไว้เป็นส่วนหนึ่งของคำอธิบายความตั้งใจว่า "เอเจนต์รวบรวมข้อมูล เช่น ระยะเวลาออกเดินทาง จุดหมายปลายทาง จำนวนแขก ***(ขั้นต่ำ 4 คน สูงสุด 15 คน)* รายละเอียดการติดต่อ" คำตอบที่ Generative AI ของ LLM ส่งกลับมาว่า "ขออภัย เราช่วยเหลือได้เฉพาะการจองแบบกลุ่มสำหรับแขกไม่เกิน 15 คนเท่านั้น" สอดคล้องกับข้อจำกัดที่เรากำหนดไว้เกี่ยวกับจำนวนแขกอย่างสมบูรณ์ เพื่อบังคับใช้ข้อกำหนดนี้เพิ่มเติม จำนวนแขกเป็นเอนทิตี RegExp ที่กำหนดเองซึ่งตรงกับเฉพาะตัวเลขที่รวมอยู่ในช่วง 4-15
  2. การสนทนาจึงดำเนินต่อไปเนื่องจากท้ายที่สุดแล้วผู้ใช้ยังคงต้องการรับข้อเสนอสำหรับนักดำน้ำ 15 คน ซึ่งเกิดขึ้นบ่อยครั้งในการสนทนาตามปกติ เราเปลี่ยนใจกันบ่อยมาก สังเกตว่าเอเจนต์ให้ความร่วมมือและค่อยๆ นำผู้ใช้กลับไปสู่เส้นทางที่ประสบความสำเร็จ

การออกแบบการสนทนาเกี่ยวข้องกับการเขียนสคริปต์ครึ่งหนึ่งของกล่องโต้ตอบ โดยหวังว่าสคริปต์นั้นจะแข็งแกร่งพอที่ใครๆ ก็สามารถเข้ามาและแสดงอีกครึ่งหนึ่งได้ เมื่อออกแบบสำหรับ Long Tail นักพัฒนาแอปต้องมุ่งเน้นสิ่งที่ผู้ใช้อาจพูดในทุกขั้นตอนของกล่องโต้ตอบเพื่อกำหนดเส้นทาง ตัวแฮนเดิล และพารามิเตอร์ ด้วยเหตุนี้ เราจึงเพิ่มฟีเจอร์สำรองข้อมูลแบบ Generative ลงใน Dialogflow CX เพื่อให้นักพัฒนาแอปมุ่งเน้นที่หลักการออกแบบการสนทนาและรายละเอียดการใช้งานน้อยลง เพื่อมอบประสบการณ์การสนทนาที่แข็งแกร่งแก่ผู้ใช้

มาทดสอบอีกครั้งกันดีกว่า คราวนี้ลองท้าทายบอทอีกครั้งด้วยสถานที่ที่ไม่อยู่ในรายชื่อจุดหมายปลายทางที่พร้อมให้บริการ เช่น มัลดีฟส์ จากนั้นเราจะมาดูเบื้องหลังการทำงานกัน

ท้าทายบอทอีกครั้งด้วยสถานที่ที่ไม่อยู่ในรายการปลายทางที่พร้อมให้บริการ เช่น มัลดีฟส์

โปรดทราบว่าเนื่องจากเราได้เปิดใช้การสำรองข้อมูลแบบ Generative ในเหตุการณ์ no-match สำหรับพารามิเตอร์ปลายทางด้วย ระบบจึงส่งคำขอไปยังโมเดลภาษาขนาดใหญ่เพื่อสร้างคำตอบที่สร้างขึ้น ระบบจะไม่สนใจคำตอบที่กำหนดไว้ล่วงหน้าตามปกติ (ในส่วน "ตัวแทนกล่าวว่า")

ช่องข้อความด้านล่างจะช่วยให้คุณเข้าใจได้ดียิ่งขึ้นว่าตัวยึดตำแหน่งช่วยกำหนดคำขอที่ส่งไปยังโมเดลภาษาขนาดใหญ่ได้อย่างไร

นี่คือพรอมต์ข้อความที่กำหนดเองซึ่งเราได้กำหนดค่าไว้ใน Dialogflow โดยมีตัวยึดตำแหน่งที่ไฮไลต์เป็นตัวหนา

You are a friendly agent that likes helping traveling divers.
You are under development and you can only help
$flow-description

At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts.

Currently you can $route-descriptions

The conversation between the human and you so far was:
${conversation USER:"Human:" AGENT:"AI"}

Then the human asked:
$last-user-utterance

You say:

ในกล่องข้อความด้านล่างนี้ ฉันได้รวมอินพุตที่โมเดลภาษาขนาดใหญ่ได้รับและเอาต์พุตที่มีคำตอบที่สร้างขึ้นซึ่งจะพูดกลับไปหาผู้ใช้

llm_input:
You are a friendly agent that likes helping traveling divers.
You are under development and you can only help search, find and book liveaboards.

At the moment you can't help customers with land-based diving and courses. You cannot recommend local dive shops and diving resorts.

Currently you can assist users who are looking for a group reservation or a full charter. Initially collect travel details including departure period, destination, number of guests (min 4 max 15 people), contact details. The destination must be one of the following in the Pacific: Costa Rica, Mexico, Galapagos Islands.

The conversation between the human and you so far was:
Human: Hi, my name's Alessia
AI Hi Alessia, what can I help you with today?
Human: Can you help me find a nice boat for myself and my family?
AI To assist you with that I need to collect the details of your travel and then we'll get back to you with an offer shortly.
Where would you like to go? We can organize a charter in Costa Rica, Galapagos Islands and several locations around Mexico

Then the human asked:
The kids want to go to the Maldives

llm_output:
You say:
I'm sorry Alessia, we can only help you with liveaboards in Costa Rica, Galapagos Islands and several locations around Mexico.

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

แก้ไขรายการวลีที่ถูกแบน

คุณกำหนดค่าฟีเจอร์การสำรองข้อมูลแบบ Generative ได้หลายวิธี ดังนี้

  1. เลือกพรอมต์ที่เฉพาะเจาะจง (ที่กำหนดไว้แล้ว) เพื่อใช้ในการสร้างคำตอบ
  2. กำหนดพรอมต์ที่กำหนดเอง
  3. เปลี่ยนรายการวลีที่ถูกแบน

ที่ผ่านมาเราได้ดู 2 วิธีแรกไปแล้ว มาดูตัวเลือกที่ 3 กัน

  1. ในการตั้งค่าเอเจนต์ ให้ไปที่แท็บ ML แล้วไปที่แท็บย่อย Generative AI
  2. ในส่วนวลีที่ถูกแบน ให้เพิ่มประโยคต่อไปนี้ลงในรายการ
  3. Dangerous country
  4. Hateful place
  5. Medical assistance
  6. คลิกบันทึก
  7. คลิกไอคอนรีเซ็ตและทดสอบสถานการณ์ล่าสุดอีกครั้ง แทนที่จะระบุจุดดำน้ำที่สวยงามทั่วโลก ให้ป้อนวลีที่ถูกแบน

ทดสอบวลีที่ถูกแบน

ระบบจะตรวจสอบพรอมต์และคำตอบที่สร้างขึ้นกับรายการวลีที่ถูกแบน วลีที่ถูกแบนคือวลีที่ถูกแบนสำหรับ Generative AI หากอินพุตมีวลีที่ถูกแบนหรือวลีที่ถือว่าไม่ปลอดภัย การสร้างจะไม่สำเร็จ และระบบจะออกการตอบกลับตามปกติที่กำหนดไว้ (ภายใต้ "Agent พูด" ในการดำเนินการเดียวกัน) แทน

ยอดเยี่ยม เราได้ครอบคลุมสถานการณ์การสนทนาที่หลากหลายซึ่งคำตอบที่สร้างขึ้นสามารถสร้างความแตกต่างได้อย่างแท้จริง คุณสามารถทดสอบต่อไปได้

10. ขอแสดงความยินดี

ขอแสดงความยินดีที่ทำ Codelab เสร็จสมบูรณ์ ได้เวลาพักผ่อนแล้ว

Cbo Chill

คุณสร้างตัวแทนเสมือนเรียบร้อยแล้ว และได้เปิดใช้การสำรองข้อมูลแบบ Generative ในตัวแฮนเดิลเหตุการณ์ no-match ที่ใช้ในโฟลว์และระหว่างการกรอกพารามิเตอร์

ฟีเจอร์ Fallback แบบ Generative เมื่อใช้ร่วมกับคำอธิบายโฟลว์และเจตนาที่ดีจะช่วยให้เอเจนต์ตอบกลับได้อย่างเฉพาะเจาะจงและให้ความร่วมมือ แทนที่จะใช้พรอมต์ทั่วไป เช่น "ขออภัย ฉันไม่แน่ใจว่าจะช่วยคุณได้อย่างไร" หรือ "ขออภัย คุณป้อนตัวเลือกที่ไม่ถูกต้อง" ข้อความแสดงข้อผิดพลาดที่โมเดลภาษาขนาดใหญ่สร้างขึ้นจะช่วยนำผู้ใช้กลับไปสู่เส้นทางที่ประสบความสำเร็จหรือปรับความคาดหวังของผู้ใช้เกี่ยวกับสิ่งที่เป็นไปได้และเป็นไปไม่ได้

คุณสามารถทดสอบสถานการณ์การสนทนาอื่นๆ และสำรวจฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับ Dialogflow CX และ Generative AI ได้

ล้าง

คุณสามารถล้างข้อมูลต่อไปนี้เพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ใน Codelab นี้

  • ไปที่คอนโซล Dialogflow CX แล้วลบ Agent ทั้งหมดที่คุณสร้าง
  • ในคอนโซล Google Cloud ให้ไปที่หน้า API และบริการ แล้วปิดใช้ Dialogflow API

อ่านเพิ่มเติม

ดูข้อมูลเพิ่มเติมเกี่ยวกับ AI แบบสนทนาและ Generative AI ได้จากคำแนะนำและแหล่งข้อมูลต่อไปนี้

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์สำหรับยอมรับสิทธิของผู้สร้าง (Creative Commons Attribution License) 2.0 แบบทั่วไป