มีข้อมูลประกอบการตัดสินใจด้วยเครื่องสร้างและพื้นที่เก็บข้อมูลของ Dialogflow CX

1. ภาพรวม

อัปเดตล่าสุด: 10-10-2023

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

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

ฟีเจอร์ที่คุณจะใช้

หากต้องการทำ Codelab ให้เสร็จสมบูรณ์ คุณจะต้องกำหนดค่าและใช้ฟีเจอร์ที่แตกต่างกัน 3 อย่าง ได้แก่

ตัวแทนพื้นที่เก็บข้อมูล

ฟีเจอร์ Vertex AI Conversation จะสร้างเอเจนต์ Dialogflow พิเศษที่เรียกว่าเอเจนต์พื้นที่เก็บข้อมูล

ฟีเจอร์นี้ช่วยให้คุณระบุ URL ของเว็บไซต์, Structured Data หรือ Unstructured Data (ที่เก็บข้อมูล) จากนั้น Google จะแยกวิเคราะห์เนื้อหาและสร้างเอเจนต์เสมือนที่ขับเคลื่อนโดยที่เก็บข้อมูลและโมเดลภาษาขนาดใหญ่ จากนั้นลูกค้าและผู้ใช้ปลายทางจะสนทนากับตัวแทนและถามคำถามเกี่ยวกับเนื้อหาได้ ดูข้อมูลเกี่ยวกับเอเจนต์ประเภทนี้ได้ที่ข้อมูลเบื้องต้นเกี่ยวกับ Vertex AI Conversation

เครื่องกำเนิดไฟฟ้า

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

การสำรองข้อมูลด้วย Generative AI

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

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

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

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

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

2. เปิดใช้ API

ก่อนที่จะสร้าง Agent พื้นที่เก็บข้อมูลใน Vertex AI Conversation ได้ คุณต้องเปิดใช้ Dialogflow รวมถึง Vertex AI Search และ Conversation API

หากต้องการเปิดใช้ Dialogflow API ให้ทำตามขั้นตอนต่อไปนี้

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

หากต้องการเปิดใช้ Vertex AI Search and Conversation API ให้ทำตามขั้นตอนต่อไปนี้

  1. ใน Google Cloud Console ให้ไปที่คอนโซล Vertex AI Search and Conversation
  2. อ่านและยอมรับข้อกำหนดในการให้บริการ แล้วคลิกดำเนินการต่อและเปิดใช้งาน API

3. สร้างแอปแชทใหม่และที่เก็บข้อมูลสำหรับแอป

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

  1. หากต้องการสร้างแอปแชทใหม่ใน Vertex AI Conversation คุณสามารถทำอย่างใดอย่างหนึ่งต่อไปนี้
    1. ไปที่คอนโซล Vertex AI Conversation แล้วคลิก +แอปใหม่ที่ด้านบนของคอนโซล
    2. ไปที่คอนโซล Dialogflow CX คลิก +สร้าง Agent ใหม่ แล้วเลือกตัวเลือกสร้างอัตโนมัติ จากนั้นระบบจะเปลี่ยนเส้นทางคุณไปยังขั้นตอนถัดไปในคอนโซลการสนทนาของ Vertex AI
  2. จากคอนโซล Vertex AI Conversation ให้เลือก Chat เป็นประเภทแอปที่ต้องการสร้าง
  3. ป้อนชื่อบริษัทของ Save a Life พารามิเตอร์นี้ใช้เพื่อกำหนดบริษัทที่เอเจนต์ของคุณเป็นตัวแทนและขอบเขตของเอเจนต์
  4. ระบุชื่อตัวแทนของ Blood Donation Agent
  5. คลิกต่อไป
  6. คลิกสร้างที่เก็บข้อมูลใหม่
  7. เลือก Cloud Storage เป็นแหล่งข้อมูลสำหรับที่เก็บข้อมูล
  8. ระบุโฟลเดอร์ Google Cloud Storage ต่อไปนี้ที่มีข้อมูลตัวอย่างสำหรับ Codelab นี้ และโปรดทราบว่าไม่จำเป็นต้องมีคำนำหน้า gs://
    cloud-samples-data/dialogflow-cx/arc-lifeblood
    
  9. เลือกเอกสารที่ไม่มีโครงสร้างเป็นประเภทข้อมูลที่จะนําเข้า
  10. คลิกต่อไป
  11. ระบุชื่อพื้นที่เก็บข้อมูลของ Australian Red Cross Lifeblood Unstructured
  12. คลิกสร้างเพื่อสร้างที่เก็บข้อมูล
  13. ในรายการพื้นที่เก็บข้อมูล ให้เลือก Australian Red Cross Lifeblood Unstructured ที่สร้างขึ้นใหม่
  14. คลิกสร้างเพื่อสร้างแชทแอป

ยินดีด้วย คุณสร้างแอปแชทที่ขับเคลื่อนด้วยความรู้ซึ่งพร้อมช่วยผู้บริจาคที่มีศักยภาพเสร็จแล้ว ขอแสดงความยินดีด้วย

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

4. กำหนดค่าเอเจนต์ให้ตอบคำถามที่พบบ่อยเกี่ยวกับการมีสิทธิ์บริจาคเลือด

ระบุพรอมต์วันที่ร้านค้า

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

  1. จากคอนโซล Vertex AI Conversation ให้คลิกชื่อแชทแอป ซึ่งจะเปลี่ยนเส้นทางคุณไปยังคอนโซล Dialogflow CX เพื่อทำการทดสอบและปรับแต่งเพิ่มเติม
  2. ในคอนโซล Dialogflow CX และจากภายใน Agent ให้คลิกการตั้งค่า Agent (มุมขวาบนของหน้า) จากนั้นไปที่แท็บ ML แล้วเปิดแท็บ Generative AI

ไปที่พรอมต์พื้นที่เก็บข้อมูล

  1. กรอกแบบฟอร์มตามด้านล่างเพื่อสร้างพรอมต์ร้านค้าข้อมูลต่อไปนี้ ชื่อของคุณคือ Donate และคุณเป็น chatbot ที่สุภาพและพร้อมให้ความช่วยเหลือที่ Save a life, a fictitious organization งานของคุณคือการช่วยเหลือ humans with eligibility information

กรอกแบบฟอร์มเพื่อสร้างพรอมต์

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

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

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

ตรวจสอบที่เก็บข้อมูลของตัวแทน

ในหน้าเริ่มต้น ให้คลิกแก้ไขที่เก็บข้อมูลเพื่อดูการตั้งค่าที่เก็บข้อมูล

แก้ไขพื้นที่เก็บข้อมูล

Dialogflow ได้เลือกที่เก็บข้อมูลที่คุณสร้างไว้ก่อนหน้านี้ให้คุณแล้ว

เชื่อมโยงพื้นที่เก็บข้อมูลที่คุณสร้าง

เลื่อนลงไปที่คำตอบของตัวแทนในส่วนการดำเนินการตามคำสั่งซื้อ การดำเนินการตามคำขอคือการตอบกลับของเอเจนต์ต่อผู้ใช้ปลายทาง Dialogflow ได้ป้อนข้อมูล Agent says ไว้ล่วงหน้าด้วยพารามิเตอร์ $request.knowledge.answers[0] ซึ่งจะมีคำตอบยอดนิยมสำหรับคำถามของผู้ใช้ในขณะรันไทม์

คำตอบของตัวแทนมีคำตอบยอดนิยมสำหรับคำถามของผู้ใช้

5. ทดสอบ Agent

เมื่อเอกสารพร้อมใช้งานแล้ว ให้ตรวจสอบว่าคำตอบดีเพียงใด

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

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

ถามคำถามที่คุณคาดว่าจะพบในหน้าคำถามที่พบบ่อยของเว็บไซต์

  • What age do I need to be to donate?
  • Can pregnant women donate?
  • I've just come back from a trip to Africa. Can I donate?
  • How can I schedule an appointment?

ตรวจสอบว่าคำตอบมาจากฐานความรู้

โปรดสังเกตว่าระบบดึงคำตอบจากเว็บไซต์ Lifeblood ของสภากาชาดออสเตรเลีย ตามที่ระบุไว้ในหน้านี้ มีอายุขั้นต่ำและสูงสุดสำหรับการบริจาคเลือด อายุขั้นต่ำคือ 18 ปีและอายุสูงสุดคือ 75 ปีสำหรับผู้บริจาคครั้งแรก หลักฐานเพิ่มเติมที่แสดงให้เห็นว่าเราดึงข้อมูลจากที่เก็บข้อมูลคือไอคอนรูปดาวเล็กๆ ที่ปรากฏในการตอบกลับของเอเจนต์และการตอบกลับ JSON ต้นฉบับ

ตรวจสอบการตอบสนองของ JSON เดิม

สุดท้ายนี้ มาลองถามคำถามที่ไม่ได้เกี่ยวข้องกับการบริจาคเลือดกับเอเจนต์กัน

ผู้ใช้: "อากาศที่เมลเบิร์นเป็นอย่างไร"

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

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

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

6. ตั้งค่า Agent สำหรับแบบทดสอบการมีสิทธิ์

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

กำหนดค่าเส้นทางและพารามิเตอร์ใหม่

  1. เปิดหน้าเริ่มต้น แล้วคลิกแก้ไขที่เก็บข้อมูล
  2. เปลี่ยนคำตอบของตัวแทนที่มีอยู่เป็น $request.knowledge.answers[0] Would you like to take the eligibility quiz to find out if you can donate blood, and start changing lives?

เสริมคำตอบของตัวแทนต่อคำถามที่พบบ่อยของผู้ใช้

  1. คลิกปุ่มบันทึก
  2. ตอนนี้เราต้องออกแบบเอเจนต์เพื่อจัดการคำตอบ "ใช่" และ "ไม่ใช่" เริ่มต้นด้วยการสร้าง Intent confirmation.yes และ Intent confirmation.no ทำตามหลักเกณฑ์เหล่านี้เกี่ยวกับการนำเจตนามาใช้ซ้ำ
  3. จากนั้นในหน้าเริ่มต้น ให้สร้างเส้นทางสำหรับ Intent confirmation.yes ที่เปลี่ยนเส้นทางไปยังหน้าใหม่ Eligibility Quiz

สร้างเส้นทางสำหรับ Intent confirmation.yes

เมื่อมีการทริกเกอร์ confirmation.yes ระบบจะเปลี่ยนเส้นทางไปยังหน้าใหม่ซึ่งก็คือแบบทดสอบการมีสิทธิ์

  1. ดังที่กล่าวไว้ก่อนหน้านี้ เราจะทำให้แบบทดสอบง่ายขึ้น และจะพิจารณาเฉพาะอายุและน้ำหนักของผู้ใช้เพื่อพิจารณาว่าผู้ใช้มีสิทธิ์บริจาคหรือไม่ เปิดหน้าแบบทดสอบการมีสิทธิ์ แล้วเพิ่มพารามิเตอร์แบบฟอร์มใหม่ age-weight เลือก @sys.any เป็นประเภทเอนทิตี ระบุ "What is your age and weight?" เป็นการตอบกลับพรอมต์เริ่มต้น เราต้องการรวบรวมทั้งอายุและน้ำหนักในคราวเดียว บันทึกการเปลี่ยนแปลงทั้งหมด

สร้างพารามิเตอร์

สร้างและกำหนดค่าเครื่องมือสร้างการมีสิทธิ์

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

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

  1. ในคอนโซล Dialogflow CX ให้ไปที่แท็บจัดการ เลือกเครื่องมือสร้าง แล้วคลิกสร้างใหม่

สร้างเครื่องกำเนิดใหม่

  1. จากนั้นระบุชื่อที่แสดงที่สื่อความหมายและเขียนพรอมต์ข้อความ ปล่อยให้การตั้งค่าการควบคุมคุณภาพโมเดลเป็นค่าเริ่มต้น จากนั้นคลิกบันทึกเพื่อสร้างเครื่องกำเนิด
    • ชื่อที่แสดง: Blood Donation Eligibility
    • พรอมต์ข้อความ: Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. Weight should be above 50 Kg. The user age and weight is $last-user-utterance. Be nice and tell the user if they are eligible to donate (also tell them why not in case)

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

  • $conversation การสนทนาระหว่างตัวแทนกับผู้ใช้ โดยไม่รวมคำพูดสุดท้ายของผู้ใช้
  • $last-user-utterance ข้อความสุดท้ายที่ผู้ใช้พูด

พรอมต์ข้อความที่คุณกำหนดค่าไว้คาดหวังให้ผู้ใช้ระบุอายุและน้ำหนักในการสนทนาครั้งเดียว (`$last-user-utterance`)

ใช้เครื่องมือสร้างในการดำเนินการตามคำสั่งซื้อและกำหนดค่าพารามิเตอร์ที่จำเป็นทั้งหมด

  1. ในหน้าแบบทดสอบการมีสิทธิ์ ให้เพิ่มเส้นทางใหม่ซึ่งจะเกิดขึ้นเมื่อกรอกพารามิเตอร์ทั้งหมดแล้ว ป้อนข้อกำหนดของเงื่อนไข $page.params.status = "FINAL" แล้วคลิกบันทึก

เพิ่มเส้นทางใหม่ซึ่งจะเกิดขึ้นเมื่อกรอกพารามิเตอร์ทั้งหมดแล้ว

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

เลือกเครื่องมือสร้าง "การมีสิทธิ์บริจาคเลือด" เชื่อมโยงตัวยึดตำแหน่งพรอมต์กับพารามิเตอร์เซสชัน และกำหนดพารามิเตอร์เอาต์พุต

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

ใช้พารามิเตอร์เอาต์พุตในการตอบกลับของเอเจนต์

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

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

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

ในโปรแกรมจำลอง ให้เริ่มการสนทนาใหม่กับตัวแทน เริ่มจากถามเกี่ยวกับข้อกำหนดด้านอายุ แล้วทำแบบทดสอบการมีสิทธิ์ ทดสอบเส้นทาง "มีสิทธิ์" ก่อน ดังนั้นให้ป้อนอายุระหว่าง 18-75 ปีและน้ำหนักมากกว่า 50 กก.

เส้นทางที่มีสิทธิ์

จากนั้นให้ตรวจสอบว่าการตรวจสอบสิทธิ์ล้มเหลวเมื่อไม่เป็นไปตามข้อกำหนดอย่างใดอย่างหนึ่งหรือทั้ง 2 อย่าง

เส้นทางที่ไม่มีสิทธิ์

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

ระบุอายุแต่ไม่ระบุน้ำหนัก

8. การปรับพรอมต์ของเครื่องกำเนิด

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

  1. เปิดหน้าแบบทดสอบการมีสิทธิ์ แล้วเพิ่มพารามิเตอร์แบบฟอร์ม 2 รายการแยกกัน โดยรายการหนึ่งสำหรับน้ำหนักและอีกรายการหนึ่งสำหรับอายุ เลือก @sys.number-integer เป็นประเภทเอนทิตีและทําเครื่องหมายพารามิเตอร์ที่จําเป็น ระบุการดำเนินการตามพรอมต์เริ่มต้น เช่น How old are you? และ What is your correct weight? บันทึกการเปลี่ยนแปลงทั้งหมด

แบบฟอร์มการมีสิทธิ์

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

ถอดเครื่องกำเนิดไฟฟ้าออก

  1. ไปที่แท็บจัดการ เลือกเครื่องมือสร้าง แล้วอัปเดตพรอมต์ข้อความของเครื่องมือสร้างการมีสิทธิ์บริจาคเลือดด้วย Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why. คลิกบันทึก

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

กำหนดค่าพรอมต์ข้อความใหม่

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

อัปเดตการเชื่อมโยงเครื่องกำเนิดไฟฟ้า

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

อีเมลที่ระบุว่าผู้ใช้ไม่มีสิทธิ์

อีเมลที่ระบุว่าผู้ใช้มีสิทธิ์

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

เก่งมากที่ทำ Codelab นี้เสร็จสมบูรณ์

เก่งมากที่ทำ Codelab เสร็จสมบูรณ์

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

ล้าง

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

  • หากไม่ต้องการให้มีการเรียกเก็บเงินจาก Google Cloud โดยไม่จำเป็น ให้ใช้คอนโซล Google Cloud เพื่อลบโปรเจ็กต์
  • หากใช้โปรเจ็กต์ Google Cloud ที่มีอยู่ ให้ลบทรัพยากรที่คุณสร้างขึ้นเพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี ดูข้อมูลเพิ่มเติมได้ที่ขั้นตอนในการลบแอป
  • หากต้องการปิดใช้ API สำหรับ Vertex AI Conversation และ Dialogflow ให้ไปที่หน้ารายละเอียดบริการ Discovery Engine API แล้วคลิกปิดใช้ API และยืนยัน จากนั้นไปที่หน้ารายละเอียดบริการ Dialogflow API แล้วคลิกปิดใช้ API และยืนยัน

ดูข้อมูลเพิ่มเติม

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

ใบอนุญาต

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