- Chatbot AI có thể tự động dịch hội thoại sang hơn 100 ngôn ngữ bằng LLM, hoặc bạn có thể xây dựng luồng dịch tùy chỉnh để kiểm soát chi tiết hơn.
- Một thiết lập dịch điển hình sẽ lưu ngôn ngữ của người dùng, dịch tin nhắn đến sang ngôn ngữ của bot, xử lý, rồi dịch phản hồi trở lại ngôn ngữ của người dùng.
- DeepL là lựa chọn phổ biến cho dịch chất lượng cao, nhưng bất kỳ API dịch nào (như Google Dịch) cũng có thể tích hợp với mã tương tự.
Trong thế giới đa ngôn ngữ ngày nay, khả năng giao tiếp với người dùng bằng ngôn ngữ mẹ đẻ là tính năng quan trọng cho bất kỳ chatbot nào.
Nếu bạn đang xây dựng chatbot AI, dịch sẽ tự động nếu bạn dùng LLM làm 'bộ não' cho bot. Một tác nhân LLM có thể tự động dịch hội thoại sang hơn 100 ngôn ngữ.
Nhưng nếu bạn muốn thiết lập khả năng dịch tùy chỉnh khi xây dựng chatbot GPT, chúng tôi có thể hỗ trợ bạn thực hiện điều đó.
Trong bài viết này, chúng tôi sẽ đi sâu vào các đoạn mã cụ thể cần thiết để tùy chỉnh dịch.
Dịch trong chatbot hoạt động như thế nào?
Chiến lược của chúng tôi là chặn các tin nhắn từ người dùng, xác định ngôn ngữ và dịch các tin nhắn này sang ngôn ngữ vận hành của bot và ngược lại.
Quy trình này gồm có:
- Lưu lại ngôn ngữ đã phát hiện
- Dịch tin nhắn của người dùng sang ngôn ngữ của bot
- Xử lý tin nhắn, sau đó
- Dịch phản hồi của bot trở lại ngôn ngữ của người dùng
Ví dụ, nếu người dùng gửi tin nhắn bằng tiếng Tây Ban Nha, bot sẽ lưu "es" làm biến ngôn ngữ. Phần mềm sẽ dịch tin nhắn sang tiếng Anh cho bot, rồi dịch phản hồi của bot trở lại tiếng Tây Ban Nha trước khi gửi cho người dùng.
Bước 1: Chọn công cụ
Chúng tôi sẽ sử dụng dịch vụ DeepL Translation, nổi tiếng về độ chính xác và hiệu quả.
Chúng tôi sẽ minh họa tích hợp này với một bot lặp lại đơn giản, phản hồi người dùng bằng cách lặp lại tin nhắn. Chúng tôi sẽ dùng Axios cho các cuộc gọi API, vì nó đã được tích hợp sẵn trong Botpress.

Bước 2: Tạo biến cần thiết
Trước tiên, chúng ta cần tạo một biến người dùng tên là `language` để lưu ngôn ngữ ban đầu hoặc ngôn ngữ phát hiện được.
DeepL hỗ trợ quá trình này bằng cách phát hiện và trả về ngôn ngữ của văn bản đầu vào, giúp chúng ta chỉ cần một lần gọi API.
Bước 3: Tạo hook chặn tin nhắn
Hook trước khi nhận tin nhắn đến
Để chặn và dịch tin nhắn của người dùng trước khi đến Botpress, chúng ta tạo một hook "Before Incoming Message". Chúng tôi đặt tên hook này là "Translation-In", chịu trách nhiệm dịch tin nhắn đến sang tiếng Anh và ghi đè tin nhắn gốc, cho phép Botpress xử lý như thể tin nhắn đó bằng tiếng Anh.
Đây là ví dụ mã cho hook này:
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
});LƯU Ý QUAN TRỌNG: Luôn sử dụng Biến cấu hình Botpress khi thêm API Key của bạn.
Hook trước khi gửi tin nhắn đi
Với hook "Before Outgoing Message", chúng tôi đặt tên là "Translation-Out". Hook này sẽ chặn phản hồi của bot để dịch lại sang ngôn ngữ của người dùng, đảm bảo hội thoại luôn ở ngôn ngữ người dùng mong muốn.
Cách thực hiện là ghi đè tin nhắn gửi đi bằng bản dịch tương ứng:
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
});Bắt đầu xây dựng ngay hôm nay
Một trong những lợi ích nổi bật của chatbot AI là khả năng đa ngôn ngữ. Với các nền tảng như Botpress, bạn có thể nhanh chóng thiết lập chatbot để trò chuyện với người dùng bằng hơn 100 ngôn ngữ.
Nếu bạn muốn chatbot dễ tiếp cận và thân thiện, bạn có thể tích hợp bất kỳ dịch vụ dịch nào với Botpress. Nhờ tích hợp kênh của chúng tôi, bạn có thể triển khai chatbot trên WhatsApp, Facebook Messenger hoặc website của mình.
Bắt đầu ngay hôm nay. Miễn phí.
Tham khảo thêm
Câu hỏi thường gặp
1. Tôi có thể sử dụng dịch vụ dịch thuật khác ngoài DeepL, như Google Translate hoặc Microsoft Translator không?
Có, bạn có thể dùng các dịch vụ dịch khác bằng cách chỉnh sửa hook dịch trong Botpress để phù hợp với định dạng yêu cầu và phản hồi của API dịch bạn chọn. Các dịch vụ này có thể tích hợp dễ dàng qua HTTP trong các action hoặc hook tùy chỉnh.
2. Tôi có thể chỉ dịch một phần của cuộc trò chuyện không?
Có, bạn có thể chỉ dịch một phần hội thoại bằng cách thêm logic điều kiện vào hook dịch để kiểm tra loại tin nhắn hoặc biến do người dùng định nghĩa trước khi thực hiện dịch. Điều này giúp bạn kiểm soát chính xác nội dung nào sẽ được dịch và khi nào.
3. Tôi có thể ẩn danh dữ liệu người dùng trước khi gửi đến dịch vụ dịch thuật không?
Có, bạn có thể ẩn danh dữ liệu người dùng trước khi gửi đến dịch vụ dịch bằng cách xử lý trước tin nhắn (ví dụ, dùng regex để che tên, email hoặc ID) trong hook hoặc action của Botpress. Điều này giúp tuân thủ yêu cầu bảo mật mà vẫn cho phép dịch.
4. Tôi có thể sử dụng thiết lập dịch thuật này trên các kênh khác nhau (ví dụ: WhatsApp, Messenger) không?
Có, bạn có thể dùng cùng một thiết lập dịch trên nhiều kênh như WhatsApp, Messenger, Slack hoặc website của bạn. Miễn là bot nhận được tin nhắn, logic dịch sẽ hoạt động bất kể nền tảng nào.
5. Làm thế nào để ghi lại lỗi dịch thuật cho mục đích phân tích hoặc gỡ lỗi?
Để ghi lại lỗi dịch trong Botpress, bạn có thể dùng console.error() để gỡ lỗi khi phát triển, hoặc gửi lỗi đến bảng Botpress tùy chỉnh, dịch vụ ghi log từ xa như Loggly hoặc Datadog, hoặc API nội bộ. Điều này giúp bạn theo dõi lỗi và giám sát hiệu suất theo thời gian.





.webp)
