- Chatboty AI mogą automatycznie tłumaczyć rozmowy na ponad 100 języków dzięki LLM, albo możesz stworzyć własne ścieżki tłumaczeń, by mieć nad nimi większą kontrolę.
- Typowa konfiguracja tłumaczenia zapisuje 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 to popularny wybór zapewniający wysoką jakość tłumaczeń, ale możesz zintegrować dowolne API tłumaczeniowe (np. Google Translate) w podobny sposób.
W dzisiejszym wielojęzycznym świecie możliwość rozmowy z użytkownikami w ich ojczystym języku to kluczowa funkcja każdego chatbota.
Jeśli budujesz chatbota AI, tłumaczenie odbywa się automatycznie, jeśli używasz LLM jako „mózgu” swojego bota. Agent LLM może automatycznie tłumaczyć rozmowy na ponad 100 języków.
Jeśli jednak chcesz skonfigurować własne możliwości tłumaczenia podczas tworzenia chatbota GPT, pokażemy Ci, jak to zrobić.
W tym artykule przedstawimy konkretne fragmenty kodu potrzebne do dostosowania tłumaczenia.
Jak działa tłumaczenie w chatbotcie?
Nasza strategia polega na przechwytywaniu wiadomości od użytkowników, rozpoznawaniu ich języka i tłumaczeniu tych wiadomości do i z języka, w którym działa bot.
Ten proces obejmuje:
- Zapisanie wykrytego języka
- Tłumaczenie wiadomości użytkownika na język bota
- Przetworzenie wiadomości, a następnie
- Tłumaczenie odpowiedzi bota z powrotem na język użytkownika
Na przykład, jeśli użytkownik wyśle wiadomość po hiszpańsku, bot zapisze "es" jako zmienną języka. Oprogramowanie przetłumaczy wiadomość na angielski dla bota, a następnie odpowiedź bota zostanie przetłumaczona z powrotem na hiszpański przed wysłaniem jej do użytkownika.
Krok 1: Wybierz narzędzia
W naszym przykładzie użyjemy usługi DeepL Translation, znanej z dokładności i wydajności.
Pokażemy tę integrację na prostym bocie echo, który odpowiada użytkownikowi, powtarzając jego wiadomość. Do wywołań API użyjemy Axios, który jest automatycznie zintegrowany z Botpress.

Krok 2: Utwórz potrzebne zmienne
Najpierw musimy dodać zmienną użytkownika o nazwie `language`, aby zapisać początkowy lub wykryty język.
DeepL ułatwia to zadanie, wykrywając i zwracając język tekstu wejściowego, dzięki czemu wystarczy jedno zapytanie do API.
Krok 3: Utwórz hooki przechwytujące
Hook przed przychodzącą wiadomością
Aby przechwycić i przetłumaczyć wiadomość użytkownika zanim trafi do Botpress, dodajemy hook "Before Incoming Message". Nazwiemy go "Translation-In" — odpowiada on za tłumaczenie przychodzącej wiadomości na angielski i nadpisanie oryginalnej wiadomości, dzięki czemu Botpress przetworzy ją jakby była po angielsku.
Tak wygląda kod tego hooka:
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 konfiguracyjnych Botpress podczas dodawania klucza API.
Hook przed wychodzącą wiadomością
Dla hooka "Before Outgoing Message" nazwiemy go "Translation-Out". Przechwyci on odpowiedź bota, by przetłumaczyć ją z powrotem na język użytkownika, dzięki czemu rozmowa będzie prowadzona w preferowanym języku użytkownika.
Wdrażanie polega na nadpisaniu wychodzącej wiadomości jej przetłumaczoną wersją:
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 największych zalet chatbota AI jest jego wielojęzyczność. Dzięki platformom takim jak Botpress możesz szybko skonfigurować chatbota, by rozmawiał z użytkownikami w ponad 100 językach.
Jeśli zależy Ci na prostym i przyjaznym chatbotcie, możesz łatwo zintegrować dowolną usługę tłumaczeniową z Botpress. Dzięki integracjom kanałów możesz wdrożyć chatbota na WhatsApp, Facebook Messenger lub na swojej stronie internetowej.
Rozpocznij już dziś. To nic nie kosztuje.
Dodatkowe materiały
Najczęstsze pytania
1. Czy mogę użyć innej usługi tłumaczeniowej niż DeepL, na przykład Google Translate lub Microsoft Translator?
Tak, możesz użyć innych usług tłumaczeniowych, modyfikując hook tłumaczenia w Botpress tak, by odpowiadał formatowi zapytań i odpowiedzi wybranej usługi. Takie usługi można łatwo zintegrować przez wywołania HTTP w ramach własnych akcji lub hooków.
2. Czy mogę tłumaczyć tylko wybrane części rozmowy?
Tak, możesz tłumaczyć tylko wybrane fragmenty rozmowy, dodając warunki w hooku tłumaczenia, które sprawdzają typ wiadomości lub zmienne użytkownika przed uruchomieniem tłumaczenia. Dzięki temu masz pełną kontrolę nad tym, co i kiedy jest tłumaczone.
3. Czy mogę zanonimizować dane użytkownika przed wysłaniem ich do usługi tłumaczeniowej?
Tak, możesz zanonimizować dane użytkownika przed wysłaniem ich do usługi tłumaczeniowej, wstępnie przetwarzając wiadomość (np. maskując imiona, adresy e-mail czy identyfikatory za pomocą regex) w hooku lub akcji Botpress. Pozwala to spełnić wymagania dotyczące prywatności i jednocześnie umożliwia tłumaczenie.
4. Czy mogę korzystać z tego rozwiązania tłumaczeniowego na różnych kanałach (np. WhatsApp, Messenger)?
Tak, możesz korzystać z tej samej konfiguracji tłumaczenia na wielu kanałach, takich jak WhatsApp, Messenger, Slack czy Twoja strona internetowa. Dopóki bot otrzymuje wiadomość, logika tłumaczenia będzie działać niezależnie od platformy.
5. Jak mogę rejestrować błędy tłumaczenia do celów analitycznych lub debugowania?
Aby rejestrować błędy tłumaczenia w Botpress, możesz użyć console.error() do debugowania podczas tworzenia, albo wysyłać błędy do własnej tabeli Botpress, zewnętrznej usługi logowania takiej jak Loggly lub Datadog, albo do wewnętrznego API. Dzięki temu możesz śledzić niepowodzenia i monitorować wydajność w czasie.





.webp)
