- Chatboty AI mogą automatycznie tłumaczyć konwersacje na ponad 100 języków za pomocą LLM lub tworzyć niestandardowe przepływy tłumaczeń w celu uzyskania większej kontroli.
- Typowa konfiguracja tłumaczenia przechowuje język użytkownika, tłumaczy przychodzące wiadomości na język bota, przetwarza je, a następnie tłumaczy odpowiedzi z powrotem na język użytkownika.
- DeepL jest popularnym wyborem dla wysokiej jakości tłumaczeń, ale każdy interfejs API tłumaczenia (taki jak Google Translate) może być zintegrowany z podobnym kodem.
W dzisiejszym wielojęzycznym świecie możliwość interakcji z użytkownikami w ich ojczystym języku jest kluczową cechą każdego chatbota.
Jeśli budujesz chatbota AI, tłumaczenie jest automatyczne, jeśli używasz LLM jako "mózgu" swojego bota. Agent LLM może automatycznie tłumaczyć konwersacje na ponad 100 języków.
Jeśli jednak chcesz skonfigurować niestandardowe funkcje tłumaczenia podczas tworzenia chatbota GPT , możemy Ci w tym pomóc.
W tym artykule zagłębimy się w konkretne dane wejściowe kodowania potrzebne do dostosowania tłumaczenia.
Jak działa tłumaczenie chatbota?
Nasza strategia polega na przechwytywaniu wiadomości od użytkowników, identyfikowaniu ich języka i tłumaczeniu tych wiadomości na i z języka operacyjnego bota.
Proces ten obejmuje:
- Zapisywanie wykrytego języka
- Tłumaczenie wiadomości użytkownika na język bota
- Przetwarzanie wiadomości, a następnie
- Tłumaczenie odpowiedzi bota z powrotem na język użytkownika
Przykładowo, jeśli użytkownik wyśle wiadomość w języku hiszpańskim, bot zapisze "es" jako zmienną językową. Oprogramowanie przetłumaczy wiadomość na język angielski dla bota, a następnie przetłumaczy odpowiedź bota z powrotem na język hiszpański przed wysłaniem jej do użytkownika.
Krok 1: Wybierz narzędzia
Nasza konfiguracja będzie wykorzystywać usługę tłumaczenia DeepL, znaną z dokładności i wydajności.
Zademonstrujemy tę integrację za pomocą prostego bota echo, który odpowiada użytkownikom, odzwierciedlając ich wiadomości. Użyjemy Axios do naszych wywołań API, ponieważ jest to automatyczna integracja Botpress.

Krok 2: Utwórz potrzebne zmienne
Po pierwsze, musimy wprowadzić zmienną użytkownika o nazwie `language`, aby przechowywać początkowy lub wykryty język.
DeepL ułatwia ten proces, wykrywając i zwracając język tekstu wejściowego, upraszczając nasze zadanie do pojedynczego żądania API.
Krok 3: Tworzenie haków przechwytujących
Przed zaczepieniem wiadomości przychodzącej
Aby przechwycić i przetłumaczyć wiadomość użytkownika, zanim dotrze ona do Botpress, wprowadzamy hak "Before Incoming Message". Nazwiemy ten hak "Translation-In", który jest odpowiedzialny za tłumaczenie przychodzącej wiadomości na język angielski i zastępowanie oryginalnej wiadomości, umożliwiając Botpress przetwarzanie jej tak, jakby była w języku angielskim.
Oto jak wygląda kod tego haka:
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
});
WAŻNA UWAGA: Zawsze używaj zmiennych konfiguracyjnychBotpress podczas włączania klucza API.
Przed zaczepieniem wiadomości wychodzącej
Dla haka "Before Outgoing Message" nazwiemy go "Translation-Out". Przechwyci on odpowiedź bota, aby przetłumaczyć ją z powrotem na język użytkownika, zapewniając, że rozmowa pozostanie w preferowanym języku użytkownika.
Implementacja polega na zastąpieniu wiadomości wychodzącej jej przetłumaczonym odpowiednikiem:
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
});
Zacznij budować już dziś
Jedną z najważniejszych zalet korzystania z chatbota AI jest jego wielojęzyczność. Dzięki platformom takim jak Botpress możesz szybko skonfigurować swojego chatbota tak, aby komunikował się z użytkownikami w ponad 100 językach.
Jeśli chcesz mieć dostępnego i przyjaznego dla użytkownika chatbota, możesz płynnie zintegrować dowolną usługę tłumaczeniową z Botpress. Dzięki naszym integracjom kanałów możesz następnie wdrożyć swojego chatbota na WhatsAppFacebook Messenger lub na swojej stronie internetowej.
Zacznij już dziś. To nic nie kosztuje.
Najczęściej zadawane pytania
1. Czy mogę korzystać z usług tłumaczeniowych innych niż DeepL, takich jak Google Translate lub Microsoft Translator?
Tak, możesz korzystać z innych usług tłumaczeniowych, modyfikując hak tłumaczeniowy w Botpress , aby pasował do żądania API wybranej usługi i formatu odpowiedzi. Usługi te można łatwo zintegrować za pomocą wywołań HTTP w niestandardowych akcjach lub hakach.
2. Czy mogę selektywnie tłumaczyć tylko fragmenty rozmowy?
Tak, możesz selektywnie tłumaczyć tylko części konwersacji, dodając logikę warunkową w haku tłumaczenia, która sprawdza określone typy wiadomości lub zmienne zdefiniowane przez użytkownika przed uruchomieniem tłumaczenia. Pozwala to dokładnie kontrolować, co i kiedy zostanie przetłumaczone.
3. Czy mogę zanonimizować dane użytkownika przed wysłaniem ich do usługi tłumaczeniowej?
Tak, możesz anonimizować dane użytkownika przed wysłaniem ich do usługi tłumaczeniowej, wstępnie przetwarzając wiadomość (np. używając wyrażenia regularnego do maskowania nazw, adresów e-mail lub identyfikatorów) w haku lub akcji Botpress . Zapewnia to zgodność z wymogami prywatności, jednocześnie umożliwiając tłumaczenie.
4. Czy mogę używać tej konfiguracji tłumaczenia w różnych kanałach (np. WhatsApp, Messenger)?
Tak, możesz używać tej samej konfiguracji tłumaczenia w wielu kanałach, takich jak WhatsApp, Messenger, Slack lub na swojej stronie internetowej. Dopóki bot odbiera wiadomość, logika tłumaczenia będzie działać niezależnie od platformy.
5. Jak rejestrować błędy tłumaczenia na potrzeby analizy lub debugowania?
Aby rejestrować błędy tłumaczenia w Botpress, możesz użyć console.error()
do debugowania deweloperskiego lub wysyłania błędów do niestandardowej tabeli Botpress , zdalnej usługi rejestrowania, takiej jak Loggly lub Datadog, lub wewnętrznego interfejsu API. Pomaga to śledzić awarie i monitorować wydajność w czasie.