ทำความเข้าใจการดำเนินการใน Botpress
การดำเนินการใน Botpress คือฟังก์ชันฝั่งเซิร์ฟเวอร์ที่บอทดำเนินการระหว่างการสนทนา พวกเขามีอำนาจในการเปลี่ยนแปลงสถานะของการสนทนา ส่งข้อความที่กำหนดเอง รันโค้ดที่กำหนดเอง (เช่น การเรียก API หรือการจัดเก็บข้อมูล) และอื่นๆ อีกมากมาย โดยพื้นฐานแล้ว การดำเนินการคือฟังก์ชัน JavaScript ปกติ ซึ่งหมายความว่าสามารถทำงานได้เกือบทุกอย่างภายในข้อจำกัดของแพลตฟอร์ม
เมื่อการดำเนินการถูกเรียกใช้โดย Dialogue Manager (DM) จะได้รับอาร์กิวเมนต์หลายข้อที่ให้บริบทแก่ฟังก์ชัน อาร์กิวเมนต์เหล่านี้ประกอบด้วยคุณลักษณะผู้ใช้ ตัวแปรเซสชัน ตัวแปรชั่วคราว ตัวแปรระดับบอท เหตุการณ์ผู้ใช้ล่าสุดในการสนทนา อาร์กิวเมนต์ที่ส่งผ่านจาก Visual Flow Builder และ vm แบบแซนด์บ็อกซ์ที่มีตัวแปรสภาพแวดล้อมบางตัว
การลงทะเบียนการดำเนินการใหม่
หากต้องการเพิ่มการกระทำของบอตแบบกำหนดเอง คุณต้องสร้างไฟล์ JavaScript (.js) และวางลงในไฟล์ ข้อมูล/ทั่วโลก/การดำเนินการ โฟลเดอร์ภายในโปรเจ็กต์ Botpress ของคุณ ขออภัย ไม่มีวิธีใดที่จะเพิ่มการดำเนินการใหม่ๆ ในระหว่างรันไทม์โดยทางโปรแกรมได้ การใช้ความคิดเห็น JavaDoc ในโค้ดของคุณ ทำให้คุณสามารถให้ข้อมูลที่มีความหมายเกี่ยวกับการดำเนินการ เช่น ชื่อ คำอธิบาย อาร์กิวเมนต์ และค่าดีฟอลต์ คุณยังสามารถซ่อนการดำเนินการในตัวแก้ไขโฟลว์ได้โดยเพิ่มแฟล็ก @hidden true ในความคิดเห็น JavaDoc
วิธีสร้างการกระทำแบบกำหนดเองใน Botpress
ต่อไปนี้คือขั้นตอนบางส่วนที่คุณสามารถปฏิบัติตามเพื่อสร้างการกระทำแบบกำหนดเองใน Botpress:
ขั้นตอนที่ 1: สร้างบอทของคุณและเพิ่มโหนด
ในการเริ่มต้น ให้สร้างบอทใหม่ใน Botpress เมื่อบอทของคุณถูกสร้างขึ้น ให้เพิ่มโหนดใหม่ให้กับโฟลว์การสนทนา
ขั้นตอนที่ 2: เพิ่มข้อความที่เหมาะสมลงในโหนดของคุณ
ในโหนดที่สร้างขึ้นใหม่ ให้เพิ่มข้อความที่จำเป็นเพื่ออำนวยความสะดวกในการแลกเปลี่ยนเนื้อหากับผู้ใช้ ตัวอย่างเช่น คุณสามารถเพิ่มข้อความเพื่อทักทายผู้ใช้และถามชื่อของพวกเขาได้
ขั้นตอนที่ 3: เปิดโค้ดดำเนินการจากแถบด้านข้าง
ไปที่แถบด้านข้างใน Botpress Flow Builder และเปิด “ตัวแก้ไขโค้ด” ที่นี่คุณสามารถสร้างและจัดการการกระทำแบบกำหนดเองของคุณได้
ขั้นตอนที่ 4: คลิกที่ปุ่ม 'เพิ่มการดำเนินการ'
ในส่วน 'ดำเนินการโค้ด' คลิกที่ปุ่ม 'เพิ่มการดำเนินการ' การดำเนินการนี้จะเปิดหน้าต่าง 'สร้างใหม่ action_legacy'
ขั้นตอนที่ 5: ระบุชื่อสำหรับไฟล์และคลิกที่ปุ่มส่ง
ในหน้าต่าง 'Create a new action_legacy' ให้ตั้งชื่อที่สื่อความหมายให้กับไฟล์การกระทำที่คุณกำหนดเอง ตัวอย่างเช่น customAction.js เมื่อคุณระบุชื่อแล้วให้คลิกที่ปุ่ม 'ส่ง' สิ่งนี้จะสร้างไฟล์ 'customAction.js'
ขั้นตอนที่ 6: เขียนโค้ดที่คุณกำหนดเอง
เปิดไฟล์ “customAction.js” ที่สร้างขึ้นใหม่ ภายในไฟล์ คุณจะเห็นโค้ดสำเร็จรูปที่สร้างขึ้นสำหรับการดำเนินการใหม่ ระบุคำอธิบายที่มีความหมายสำหรับการกระทำที่คุณกำหนดเองโดยใช้ความคิดเห็นที่เหมาะสม
ตอนนี้ ให้เขียนโค้ดที่คุณกำหนดเองภายในฟังก์ชัน รหัสนี้กำหนดลักษณะการทำงานของการกระทำที่คุณกำหนดเอง คุณสามารถใช้ JavaScript เพื่อทำงานต่างๆ ได้ เช่น การเรียก API การเข้าถึงฐานข้อมูล หรือการจัดการตรรกะที่ซับซ้อน
ขั้นตอนที่ 7: แก้ไขโหนดของคุณเพื่อใช้การกระทำแบบกำหนดเอง
กลับไปที่ Botpress Flow Builder และแก้ไขโหนดที่คุณต้องการทริกเกอร์การกระทำที่คุณกำหนดเอง เพิ่มการ์ด 'Execute Code' ให้กับโหนด
ขั้นตอนที่ 8: เลือกชื่อการดำเนินการที่กำหนดเองของคุณและระบุพารามิเตอร์การดำเนินการ
ในการ์ด 'ดำเนินการโค้ด' คุณจะเห็นรายการแบบเลื่อนลงที่มีชื่อของการกระทำที่คุณกำหนดเองทั้งหมด เลือกชื่อของการกระทำแบบกำหนดเองของคุณจากรายการ หากการกระทำแบบกำหนดเองของคุณต้องการพารามิเตอร์ใดๆ คุณสามารถระบุได้ในส่วน 'พารามิเตอร์' ของการ์ด 'ดำเนินการโค้ด'
ขั้นตอนที่ 9: ทำให้บอทของคุณดำเนินการ
สุดท้าย เพิ่มการ์ดอีกใบลงในโหนดเพื่อให้บอทของคุณดำเนินการแบบกำหนดเอง คุณสามารถใช้ตัวแปรที่บันทึกไว้ในเหตุการณ์ (ระบุไว้ในการ์ด “ดำเนินการโค้ด”) เพื่อเข้าถึงผลลัพธ์ของการกระทำที่คุณกำหนดเอง และรวมไว้ในการตอบสนองของบอท
ตัวอย่างการกระทำแบบกำหนดเอง
สมมติว่าคุณต้องการให้แชทบอตของคุณให้ข้อมูลสภาพอากาศปัจจุบันสำหรับสถานที่ที่ระบุ คุณสามารถสร้างการดำเนินการแบบกำหนดเองที่เรียก API สภาพอากาศและส่งคืนข้อมูลสภาพอากาศได้
const axios = จำเป็นต้อง ( 'แอกเซียส' );const getWeather = async ( ผู้ใช้ , เซสชัน, args) => {
ตำแหน่ง const = args.location || 'นิวยอร์ก' ;
const apiKey = 'your_weather_api_key' ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${ตำแหน่ง}`;
พยายาม {
การตอบสนอง const = รอ axios.get (apiUrl);
const weatherData = response.data;
return `สภาพอากาศปัจจุบันใน ${location} คือ ${weatherData.current.condition.text} โดยมีอุณหภูมิ ${weatherData.current.temp_c}°C.`;
} จับ (ข้อผิดพลาด) {
กลับ 'ขออภัยฉันทำได้ \' ไม่สามารถดึงข้อมูลสภาพอากาศในขณะนี้ได้ กรุณาลองใหม่อีกครั้งในภายหลัง.' ;
}
};
กลับรับสภาพอากาศ( ผู้ใช้ , เซสชัน, args);
การดำเนินการนี้รับข้อโต้แย้งบางอย่าง รวมถึงผู้ใช้ เซสชัน และ args ซึ่งให้บริบทและข้อมูลสำหรับการดำเนินการนั้น ในตัวอย่างนี้ การดำเนินการแบบกำหนดเอง 'getWeather' จะใช้ตำแหน่งเป็นอาร์กิวเมนต์ หรือมีค่าเริ่มต้นเป็น 'นิวยอร์ก' หากไม่ได้ระบุไว้ การดำเนินการเรียก Weather API โดยใช้ Axios ดึงข้อมูลสภาพอากาศ และส่งคืนข้อความที่มีสภาพอากาศและอุณหภูมิ
ข้อดีของการดำเนินการแบบกำหนดเอง
การดำเนินการแบบกำหนดเองใน Botpress มีข้อดีหลายประการที่ช่วยเพิ่มความสามารถและฟังก์ชันการทำงานของแชทบอทของคุณ:
- พวกเขาขยายฟังก์ชันการทำงานของแชทบอทให้เกินกว่าความสามารถในตัว
- พวกเขาสร้างการโต้ตอบที่ปรับแต่งเพื่อประสบการณ์ผู้ใช้ที่ดีขึ้น
- พวกเขาดึงข้อมูลแบบเรียลไทม์จาก API สำหรับการตอบสนองแบบไดนามิก
- ทำงานร่วมกับระบบแบ็กเอนด์และฐานข้อมูล
- พวกเขาจัดการกับสถานการณ์ที่ซับซ้อนด้วยโค้ดที่กำหนดเอง
- พวกเขาใช้การกระทำซ้ำกับแชทบอทและโฟลว์
- พวกเขาใช้การจัดการและการบันทึกข้อผิดพลาดแบบกำหนดเอง
- พวกเขาปรับงานที่ใช้ทรัพยากรให้เหมาะสม
- พวกเขาใช้ประโยชน์จากบริการภายนอกเพื่อปรับขนาด
- พวกเขาเข้าถึงและแบ่งปันการกระทำแบบกำหนดเองที่สร้างไว้ล่วงหน้า
บทสรุป
การดำเนินการแบบกำหนดเองใน Botpress ขยายขีดความสามารถของแชทบอท ปรับแต่งการโต้ตอบ และผสานรวม API ภายนอก นักพัฒนาสร้างฟังก์ชัน JavaScript ฝั่งเซิร์ฟเวอร์และเรียกใช้จาก Botpress Flow Builder การดำเนินการเหล่านี้ทำให้โค้ดสามารถนำกลับมาใช้ใหม่ได้ ประสิทธิภาพที่ดีขึ้น และความสามารถในการขยายขนาด ซึ่งทำให้แชทบอทมีเครื่องมือที่หลากหลายและมีประสิทธิภาพมากขึ้น การใช้ประโยชน์จากการกระทำที่กำหนดเองใน Botpress จะสร้างประสบการณ์แชทบอทที่เป็นนวัตกรรมและมีส่วนร่วม