- AI แชทบอทสามารถแปลบทสนทนาได้มากกว่า 100 ภาษาโดยอัตโนมัติด้วย LLM หรือคุณจะสร้าง flow การแปลแบบกำหนดเองเพื่อควบคุมรายละเอียดได้มากขึ้น
- การตั้งค่าการแปลโดยทั่วไปจะเก็บภาษาของผู้ใช้ แปลข้อความที่ได้รับเป็นภาษาของบอท ประมวลผล แล้วแปลคำตอบกลับเป็นภาษาของผู้ใช้
- DeepL เป็นตัวเลือกยอดนิยมสำหรับการแปลคุณภาพสูง แต่คุณสามารถเชื่อมต่อ API แปลภาษาใดก็ได้ (เช่น Google Translate) ด้วยโค้ดลักษณะเดียวกัน
ในโลกที่มีหลายภาษา การสื่อสารกับผู้ใช้ด้วยภาษาของเขาถือเป็นฟีเจอร์สำคัญสำหรับแชทบอททุกตัว
ถ้าคุณกำลังสร้าง AI แชทบอท การแปลจะเป็นอัตโนมัติ หากคุณใช้ LLM เป็น 'สมอง' ของบอท LLM agent สามารถแปลบทสนทนาได้มากกว่า 100 ภาษาโดยอัตโนมัติ
แต่ถ้าคุณอยากตั้งค่าความสามารถการแปลแบบกำหนดเองขณะสร้าง GPT แชทบอท เราสามารถช่วยคุณได้
ในบทความนี้ เราจะลงรายละเอียดโค้ดที่ต้องใช้ในการปรับแต่งการแปลของคุณ
การแปลของแชทบอททำงานอย่างไร?
กลยุทธ์ของเราคือดักจับข้อความจากผู้ใช้ ตรวจสอบภาษา และแปลข้อความเหล่านี้ไป-กลับระหว่างภาษาของบอทกับภาษาของผู้ใช้
ขั้นตอนนี้ประกอบด้วย:
- เก็บภาษาที่ตรวจพบ
- แปลข้อความของผู้ใช้เป็นภาษาของบอท
- ประมวลผลข้อความ แล้ว
- แปลคำตอบของบอทกลับเป็นภาษาของผู้ใช้
ตัวอย่างเช่น หากผู้ใช้ส่งข้อความเป็นภาษาสเปน บอทจะเก็บค่า "es" เป็นตัวแปรภาษา ซอฟต์แวร์จะแปลข้อความเป็นภาษาอังกฤษให้บอท แล้วแปลคำตอบของบอทกลับเป็นภาษาสเปนก่อนส่งให้ผู้ใช้
ขั้นตอนที่ 1: เลือกเครื่องมือที่ต้องการใช้
การตั้งค่านี้จะใช้บริการ DeepL Translation ที่ขึ้นชื่อเรื่องความแม่นยำและรวดเร็ว
เราจะสาธิตการเชื่อมต่อกับบอท echo ง่าย ๆ ที่ตอบกลับผู้ใช้ด้วยข้อความเดียวกัน โดยใช้ Axios สำหรับเรียก API ซึ่งเป็นการเชื่อมต่ออัตโนมัติของ Botpress

ขั้นตอนที่ 2: สร้างตัวแปรที่จำเป็น
ก่อนอื่น เราต้องสร้างตัวแปรผู้ใช้ชื่อ `language` เพื่อเก็บภาษาที่ตรวจพบหรือภาษาตั้งต้น
DeepL ช่วยให้ขั้นตอนนี้ง่ายขึ้นด้วยการตรวจสอบและส่งค่าภาษาของข้อความที่รับเข้ามา ทำให้เราเรียก API เพียงครั้งเดียว
ขั้นตอนที่ 3: สร้าง hook สำหรับดักจับข้อความ
hook ก่อนรับข้อความเข้า
เพื่อดักจับและแปลข้อความของผู้ใช้ก่อนถึง Botpress เราจะสร้าง hook "Before Incoming Message" โดยตั้งชื่อว่า "Translation-In" ซึ่งมีหน้าที่แปลข้อความที่ได้รับเป็นภาษาอังกฤษและแทนที่ข้อความเดิม เพื่อให้ Botpress ประมวลผลเหมือนเป็นภาษาอังกฤษ
ตัวอย่างโค้ดของ hook นี้เป็นดังนี้:
await axios
.post(
'https://api-free.deepl.com/v2/translate',
{
text: [event.preview],
target_lang: 'EN'
},
{
headers: {
Authorization: 'DeepL-Auth-Key {{your key here}}',
'Content-Type': 'application/json'
}
}
)
.then((response) => {
event.payload.text = response.data.translations[0].text
event.preview = response.data.translations[0].text
event.state.user.language = response.data.translations[0].detected_source_language
})
.catch(function (error) {
// Error handling
});หมายเหตุสำคัญ: ควรใช้ Botpress Configuration Variables เสมอเมื่อใส่ API Key ของคุณ
hook ก่อนส่งข้อความออก
สำหรับ hook "Before Outgoing Message" เราจะตั้งชื่อว่า "Translation-Out" โดย hook นี้จะดักจับคำตอบของบอทเพื่อแปลกลับเป็นภาษาของผู้ใช้ ทำให้การสนทนายังคงอยู่ในภาษาที่ผู้ใช้ต้องการ
การใช้งานคือแทนที่ข้อความที่จะส่งออกด้วยข้อความที่แปลแล้ว
await axios
.post(
'https://api-free.deepl.com/v2/translate',
{
text: [outgoingEvent.preview],
target_lang: event.state.user.language
},
{
headers: {
Authorization: 'DeepL-Auth-Key {{your key here}}',
'Content-Type': 'application/json'
}
}
)
.then((response) => {
outgoingEvent.payload.text = response.data.translations[0].text
outgoingEvent.preview = response.data.translations[0].text
})
.catch(function (error) {
// Error handling
});เริ่มสร้างวันนี้เลย
ข้อดีเด่นของ AI แชทบอทคือความสามารถในการรองรับหลายภาษา ด้วยแพลตฟอร์มอย่าง Botpress คุณสามารถตั้งค่าแชทบอทให้พูดคุยกับผู้ใช้ได้มากกว่า 100 ภาษาอย่างรวดเร็ว
หากคุณต้องการแชทบอทที่ใช้งานง่ายและเข้าถึงได้ คุณสามารถเชื่อมต่อบริการแปลภาษาใดก็ได้กับ Botpress และด้วยการเชื่อมต่อช่องทางต่าง ๆ คุณก็สามารถนำแชทบอทไปใช้งานบน WhatsApp Facebook Messenger หรือเว็บไซต์ของคุณได้ทันที
เริ่มต้นใช้งานวันนี้ ฟรี!
แหล่งข้อมูลเพิ่มเติม
คำถามที่พบบ่อย
1. ฉันสามารถใช้บริการแปลภาษาอื่นที่ไม่ใช่ DeepL ได้ไหม เช่น Google Translate หรือ Microsoft Translator?
ได้ คุณสามารถใช้บริการแปลภาษาอื่นได้โดยปรับแต่ง translation hook ใน Botpress ให้ตรงกับรูปแบบ API ของบริการนั้น ๆ ซึ่งสามารถเชื่อมต่อผ่าน HTTP call ใน custom action หรือ hook ได้ง่าย ๆ
2. ฉันสามารถเลือกแปลเฉพาะบางส่วนของบทสนทนาได้หรือไม่?
ได้ คุณสามารถเลือกแปลเฉพาะบางส่วนของบทสนทนาได้โดยเพิ่มเงื่อนไขใน translation hook เพื่อตรวจสอบประเภทข้อความหรือค่าตัวแปรที่กำหนดก่อนจะสั่งแปล วิธีนี้ช่วยให้คุณควบคุมได้ว่าจะให้แปลอะไรและเมื่อไหร่
3. ฉันสามารถทำข้อมูลผู้ใช้ให้เป็นนิรนามก่อนส่งไปยังบริการแปลภาษาได้หรือไม่?
ได้ คุณสามารถปกปิดข้อมูลผู้ใช้ก่อนส่งไปยังบริการแปลภาษาได้โดยประมวลผลข้อความล่วงหน้า (เช่น ใช้ regex เพื่อซ่อนชื่อ อีเมล หรือรหัส) ใน hook หรือ action ของ Botpress เพื่อให้สอดคล้องกับข้อกำหนดด้านความเป็นส่วนตัวและยังสามารถแปลภาษาได้
4. ฉันสามารถใช้การตั้งค่าการแปลนี้กับช่องทางต่าง ๆ ได้หรือไม่ (เช่น WhatsApp, Messenger)?
ได้ คุณสามารถใช้การตั้งค่าการแปลเดียวกันนี้กับหลายช่องทาง เช่น WhatsApp, Messenger, Slack หรือเว็บไซต์ของคุณ ตราบใดที่บอทได้รับข้อความ logic การแปลก็จะทำงานโดยไม่ขึ้นกับแพลตฟอร์ม
5. ฉันจะบันทึกข้อผิดพลาดในการแปลเพื่อวิเคราะห์หรือดีบักได้อย่างไร?
หากต้องการบันทึกข้อผิดพลาดการแปลใน Botpress คุณสามารถใช้ console.error() สำหรับดีบักระหว่างพัฒนา หรือส่งข้อผิดพลาดไปยังตาราง Botpress, บริการ log ภายนอก เช่น Loggly หรือ Datadog หรือ API ภายใน เพื่อช่วยติดตามปัญหาและประเมินประสิทธิภาพในระยะยาว







