การทำงานกับตัวแปรใน Botpress: แนวทางปฏิบัติ

Kar Thangan Kab Tawpaer Ni Botpress Naewthang Ptibati



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

ทำความเข้าใจกับประเภทข้อมูลสำหรับตัวแปร

ก่อนที่เราจะเจาะลึกถึงแง่มุมเชิงปฏิบัติของการใช้ตัวแปร เรามาทำความคุ้นเคยกับประเภทข้อมูลต่างๆ ที่มีอยู่ใน Botpress กันก่อน







  1. สตริง: สตริงใช้เพื่อจัดเก็บข้อความซึ่งอาจประกอบด้วยตัวอักษร ตัวเลข หรืออักขระพิเศษ โดยทั่วไปจะใช้เพื่อจัดเก็บชื่อผู้ใช้หรือข้อความที่สร้างโดย AI
  2. บูลีน: Booleans สามารถเก็บค่าได้เพียงสองค่าเท่านั้น - จริงหรือเท็จ เหมาะอย่างยิ่งสำหรับการจัดเก็บข้อมูลไบนารี เช่น ผู้ใช้เป็นลูกค้าที่กลับมาหรือไม่ หรือผู้ใช้ต้องการถามอย่างอื่นหรือไม่
  3. ตัวเลข: ตามชื่อที่แนะนำ ตัวแปรตัวเลขใช้เพื่อจัดเก็บค่าตัวเลขซึ่งอาจเป็นจำนวนเต็มหรือตัวเลขที่มีตำแหน่งทศนิยม มีประโยชน์สำหรับการจัดเก็บหมายเลขโทรศัพท์ รหัสพื้นที่ และข้อมูลตัวเลขอื่นๆ
  4. วันที่: ตัวแปรวันที่ใช้รูปแบบวันที่/เวลา ISO 8601 มันแสดงถึงวันที่เดียวหรือวันที่และเวลา
  5. วัตถุ: ตัวแปรวัตถุคือชุดของคู่คีย์-ค่าซึ่งคล้ายกับพจนานุกรมหรือแผนที่ สิ่งเหล่านี้มีประโยชน์สำหรับการจัดเก็บโครงสร้างข้อมูลที่ซับซ้อน เช่น โปรไฟล์ผู้ใช้หรือผลลัพธ์ของการเรียก API
  6. อาร์เรย์: อาร์เรย์ถูกใช้เพื่อจัดเก็บคอลเลกชันของตัวแปรที่คล้ายกัน พวกเขาสามารถเก็บสายหรือวัตถุ ทำให้มีความหลากหลายสำหรับกรณีการใช้งานต่างๆ เช่น การจัดเก็บข้อความที่ผ่านมาของผู้ใช้หรือให้ตัวเลือกให้ผู้ใช้เลือก
  7. อีนัม: นี่คือตัวแปรที่มีชุดตัวเลือกที่กำหนดไว้ล่วงหน้าจำนวนจำกัด เหมาะสำหรับสถานการณ์เช่นการจัดเก็บวันในสัปดาห์หรือรายการที่มีอยู่ในเมนูอาหาร
  8. ลวดลาย: ตัวแปรรูปแบบใช้นิพจน์ทั่วไป (Regex) เพื่อจัดเก็บรูปแบบพิเศษที่สามารถใช้เพื่อจับคู่คำหรือตัวเลขที่ระบุ สะดวกในการจัดเก็บหมายเลขบัญชีหรือหมายเลขเที่ยวบิน

การทำความเข้าใจขอบเขตของตัวแปร

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



ตัวแปรเวิร์กโฟลว์

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



สามารถปฏิบัติตามขั้นตอนเหล่านี้เพื่อสร้างตัวแปรเวิร์กโฟลว์:





ขั้นตอนที่ 1. เลือกขั้นตอนการทำงานที่เหมาะสมในเมนู 'Explorer'

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



ขั้นตอนที่ 3 ระบุชื่อตัวแปร เลือกประเภทข้อมูลของตัวแปร แล้วคลิกปุ่ม 'เพิ่ม' เพื่อสร้างตัวแปร

คุณสามารถเพิ่มค่าเริ่มต้น (ค่าเริ่มต้น) ให้กับตัวแปรของคุณได้จากส่วน 'การตั้งค่าเพิ่มเติม'

ตัวแปรเวิร์กโฟลว์อินพุตและเอาต์พุต

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

สามารถปฏิบัติตามขั้นตอนเหล่านี้เพื่อทำเครื่องหมายตัวแปรอินพุต:

ขั้นตอนที่ 1. สร้างตัวแปรภายในเวิร์กโฟลว์

ขั้นตอนที่ 2. เลือกตัวแปรโดยคลิกโหนดรายการเวิร์กโฟลว์ในแผงตัวตรวจสอบ

สามารถปฏิบัติตามขั้นตอนเหล่านี้เพื่อทำเครื่องหมายตัวแปรเอาต์พุต:

ขั้นตอนที่ 1. สร้างตัวแปรภายในเวิร์กโฟลว์

ขั้นตอนที่ 2. เลือกตัวแปรโดยคลิกโหนดทางออกของเวิร์กโฟลว์ในแผงตัวตรวจสอบ

ตัวแปรเซสชัน

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

หากต้องการสร้างตัวแปรเซสชัน คุณสามารถเขียนโค้ดต่อไปนี้:

session.variablename= 'สวัสดีทุกคน!' ;

หากต้องการใช้ตัวแปรในการ์ดข้อความ เราจำเป็นต้องปิดตัวแปรในวงเล็บปีกกา เช่น {{เซสชัน.ชื่อตัวแปร}} .

ตัวแปรผู้ใช้

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

หากต้องการสร้างตัวแปรผู้ใช้:

ขั้นตอนที่ 1. เปิด 'การตั้งค่า Chatbot' จากไอคอน Botpress ซึ่งอยู่ที่มุมซ้ายบน

ขั้นตอนที่ 2. เลือก 'ตัวแปร' จากแท็บ

ขั้นตอนที่ 3 กำหนดตัวแปรผู้ใช้โดยการตั้งชื่อและระบุประเภทข้อมูล

คุณสามารถใช้ @user.variablename หรือ {{user.variablename}} เพื่ออ้างถึงตัวแปร “User” ในการ์ดข้อความได้

ตัวแปรบอท

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

ทำตามขั้นตอนเหล่านี้เพื่อสร้างตัวแปร Bot:

ขั้นตอนที่ 1. เลือก 'การตั้งค่า Chatbot' โดยคลิกไอคอน Botpress ที่มุมซ้ายบน

ขั้นตอนที่ 2. เลือก 'ตัวแปร' จากแท็บ

ขั้นตอนที่ 3 ระบุชื่อและประเภทข้อมูลของตัวแปรบ็อต

เช่นเดียวกับตัวแปรผู้ใช้ @bot.variablename หรือ bot.variablename สามารถใช้เพื่ออ้างถึงตัวแปรบ็อตในการ์ดได้

ตัวแปรการกำหนดค่า

เป็นตัวแปรบอทที่ปลอดภัยชนิดพิเศษ คุณสามารถจัดการได้จาก Cloud Dashboard และไม่จำเป็นต้องเปิดบอท ตัวแปรการกำหนดค่าเหมาะอย่างยิ่งสำหรับการจัดเก็บข้อมูลละเอียดอ่อน เช่น โทเค็น API, ที่อยู่ IP ส่วนตัว หรือข้อมูลรับรองฐานข้อมูล

หากต้องการสร้างตัวแปรการกำหนดค่า:

ขั้นตอนที่ 1. เปิด 'การตั้งค่า Chatbot' จากไอคอน Botpress ซึ่งอยู่ที่มุมซ้ายบน

ขั้นตอนที่ 2. คลิกที่แท็บ 'ตัวแปร'

ขั้นตอนที่ 3 เพิ่มตัวแปรการกำหนดค่าและระบุชื่อและค่าของมัน

ในการเข้าถึงตัวแปรการกำหนดค่าในโค้ด คุณสามารถใช้ 'env.key' โดยที่ 'key' แสดงถึงชื่อตัวแปรการกำหนดค่าที่จะดึงข้อมูล

การใช้ตัวแปรในโค้ด

ไม่จำเป็นต้องใช้วงเล็บปีกกา “{{ }}” หรือสัญลักษณ์ @ เมื่อใช้ตัวแปรในโค้ด ไวยากรณ์สำหรับการเข้าถึงตัวแปรในโค้ดเป็นไปตามรูปแบบ “variabletype.variablename” ตัวอย่างเช่น:

รหัส:

  • เวิร์กโฟลว์ phoneNumber
  • session.userAcctId
  • user.firstName
  • bot.endpoint
  • env.apiKey

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

บทสรุป

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