พื้นที่เก็บข้อมูลนี้จะไม่ได้รับการอัปเดต พื้นที่เก็บข้อมูลจะถูกเก็บไว้ในโหมดอ่านอย่างเดียว
ในรูปแบบโค้ดนี้ เราจะใช้ฟีเจอร์ Watson Assistant Slots เพื่อสร้างแชทบอทที่รับคำสั่งพิซซ่า ข้อมูลที่จำเป็น เช่น ขนาด ประเภท และตัวเลือกส่วนผสม ทั้งหมดสามารถป้อนลงใน Assistant Node เดียวได้ ซึ่งแตกต่างจาก Assistant เวอร์ชันก่อนๆ
เมื่อผู้อ่านเสร็จสิ้นรูปแบบโค้ดนี้แล้ว พวกเขาจะเข้าใจวิธี:
หมายเหตุ : รูปแบบโค้ดนี้ได้รับการอัปเดตเพื่อรวมคำแนะนำในการเข้าถึง Watson Assistant ที่ทำงานบน IBM Cloud Pak for Data คุณสามารถดูการอัปเดตเหล่านี้ได้ในคำแนะนำเฉพาะสำหรับการปรับใช้แอปของคุณภายในเครื่อง หรือการปรับใช้แอปของคุณกับ OpenShift บน IBM Cloud การเปลี่ยนแปลงหลักที่จำเป็นคือแอปพลิเคชันของคุณจะต้องมีข้อมูลรับรองเพิ่มเติมเพื่อเข้าถึงคลัสเตอร์ IBM Cloud Pak for Data ที่โฮสต์บริการ Watson Assistant
คลิกที่นี่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ IBM Cloud Pak for Data
หมายเหตุ : รูปแบบรหัสนี้ใช้ประสบการณ์ Watson Assistant หลังจากวันที่ 8 ตุลาคม 2021 อินสแตนซ์ทั้งหมด (ที่ไม่ได้มาตรฐาน) สามารถสลับระหว่างประสบการณ์ Watson Assistant แบบคลาสสิกและแบบใหม่ได้โดยไปที่มุมขวาบนของหน้าจอ Watson Assistant แล้วคลิกไอคอน จัดการ ซึ่งอยู่ที่มุมขวาบนของหน้าจอ Assistant คลิกที่ Switch to classic experience หรือคลิกที่ Switch to new experience เพื่อสลับระหว่างทั้งสอง
การใช้ Cloud Foundry บน IBM Cloud | การใช้บริการ Kubernetes ของ IBM Cloud |
---|---|
คลิกตัวเลือกใดตัวเลือกหนึ่งด้านล่างเพื่อดูคำแนะนำในการปรับใช้แอป
พลังของ Slots อยู่ที่ว่าจะลดจำนวนโหนดที่ต้องใช้ในการนำตรรกะไปใช้ใน Watson Assistant Dialog ของคุณได้อย่างไร นี่คือกล่องโต้ตอบการสนทนาบางส่วนโดยใช้วิธีเก่า:
และนี่คือกล่องโต้ตอบที่สมบูรณ์ยิ่งขึ้นโดยใช้ช่อง ซึ่งทำให้ตรรกะทั้งหมดอยู่ในโหนด Pizza ordering
เปิด Dialog แล้วเราจะดู:
แต่ละช่องแสดงถึงฟิลด์ที่จะเติมลงในแชทบอต: pizza_size
, pizza_type
และ pizza_topings
หากไม่มีอยู่ ผู้ใช้จะได้รับแจ้ง โดยเริ่มจากด้านบน จนกว่าทั้งหมดจะถูกเติมผ่านตัวแปรที่เกี่ยวข้อง ( $pizza_size
, $pizza_type
ฯลฯ)
คลิกที่กำหนดค่า เพื่อเพิ่มฟังก์ชันการทำงานเพิ่มเติม:
ที่นี่ เราสามารถเพิ่มการตอบกลับเมื่อช่องนี้เต็ม (พบ) ลอจิกสามารถใช้ได้กับองค์ประกอบเดียว:
หรือหากมีการเติมส่วนผสมมากกว่าหนึ่งรายการ:
1 ท็อปปิ้ง"" style="max-width: 100%;">
เราได้เพิ่มตรรกะในการตอบใช่หรือไม่ใช่สำหรับคำถาม "มีท็อปปิ้งเพิ่มเติมหรือไม่":
คลิกที่วงกลมทั้ง 3 วง และเลือก Open JSON editor
เพื่อแก้ไข json โดยตรง:
ที่นี่ เราได้ตั้งค่าว่างสำหรับบริบท: ช่อง {"pizza_topings"} เพื่อให้เราสามารถออกจากลูปโดยเติมช่องนี้
สุดท้ายนี้ เราจะเพิ่มคำตอบเมื่อช่องเต็มแล้ว:
เราเริ่มต้นด้วยกรณีที่เรามี "pizza_toppings" โดยการตรวจพบว่าอาร์เรย์มีขนาด>0 ในส่วนนี้ ขั้นแรกเราจะจัดการกรณีที่ช่อง "pizza_place" ซึ่งเป็นตัวเลือกเสริมถูกเติมเข้าไป จากนั้นจึงจัดการกับกรณีที่ไม่ได้เติมไว้
สุดท้ายนี้ เราเพิ่มตัวจัดการสำหรับกรณีที่ไม่พบคำตอบของผู้ใช้ต่อพรอมต์ เราได้เพิ่มตัวจัดการสำหรับเจตนา "ช่วยเหลือ"
เรามีโหนดโต้ตอบเพื่อจัดการกับเจตนา #reset
ซึ่งจะรีเซ็ตฟิลด์ทั้งหมดเป็น null
:
ลองดูตัวอย่างการสนทนาและ json ที่เกี่ยวข้อง ขณะที่ Watson Pizzeria ทำงานอยู่ ให้เริ่มบทสนทนาและเริ่มด้วยการบอก Pizza Bot ว่าคุณต้องการพิซซ่าขนาดใหญ่:
"อินพุตของผู้ใช้" จะแสดงช่อง "อินพุต"{"ข้อความ"} รวมถึงที่มาของ "บริบท" ที่ส่วนใหญ่ใช้สำหรับ Assistant เพื่อติดตามสถานะภายใน เลื่อนลงไปที่ Watson Understands
และดูที่ intents
:
โปรดทราบว่าตรวจพบเจตนาสำหรับ "คำสั่งซื้อ" ขณะนี้เอนทิตี "pizza_size" เป็นช่องที่กรอกแล้ว เรายังมีช่องที่ต้องระบุอีก 2 ช่อง ได้แก่ "pizza_type" และ "pizza_toppings" ผู้ใช้จะได้รับแจ้งจนกว่าจะกรอกข้อมูลเหล่านี้:
ตอนนี้เราจะเห็นว่าช่องที่จำเป็นทั้งหมดเต็มแล้ว:
จะเป็นอย่างไรถ้าเราอยากจะบอกร้าน Watson Pizzeria ว่าเราอยากกินพิซซ่าที่นั่นในร้านอาหารล่ะ? สายเกินไป! ช่องสำหรับ "pizza_place" เป็นทางเลือก ดังนั้นผู้ใช้จะไม่ได้รับแจ้ง และเมื่อช่องที่ต้องการเต็มแล้ว เราจะออกจากโหนดกล่องโต้ตอบ "การสั่งพิซซ่า" ผู้ใช้จำเป็นต้องกรอกช่องเสริมก่อน พิมพ์รีเซ็ตเพื่อเริ่มต้นใหม่อีกครั้ง และทดสอบโดยเพิ่มวลี "ไปกินที่นั่น...":
cf push
ให้: FAILED Could not find service
หากคุณตั้งชื่อบริการของคุณ wcsi-conversation-service
สิ่งนี้น่าจะใช้ได้ เมื่อคุณใช้ cf push
มันพยายามเชื่อมโยงกับบริการที่แสดงอยู่ใน manifest.yml
ดังนั้น คุณสามารถทำให้สิ่งนี้ใช้งานได้ 2 วิธี:
หมายเหตุ: ปุ่ม
Deploy to IBM Cloud
แก้ปัญหานี้โดยการสร้างบริการได้ทันที (ด้วยชื่อที่ถูกต้อง)
รูปแบบโค้ดนี้ได้รับอนุญาตภายใต้ Apache Software License เวอร์ชัน 2 ออบเจ็กต์โค้ดของบุคคลที่สามที่แยกออกมาเรียกใช้ภายในรูปแบบโค้ดนี้ได้รับอนุญาตจากผู้ให้บริการที่เกี่ยวข้องตามใบอนุญาตแยกต่างหากของตนเอง การบริจาคจะอยู่ภายใต้ใบรับรองแหล่งกำเนิดสินค้าของนักพัฒนา เวอร์ชัน 1.1 (DCO) และใบอนุญาตซอฟต์แวร์ Apache เวอร์ชัน 2
คำถามที่พบบ่อยเกี่ยวกับลิขสิทธิ์ซอฟต์แวร์ Apache (ASL)