- Yapay zeka sohbet botları, bir LLM ile konuşmaları otomatik olarak 100'den fazla dile çevirebilir veya daha fazla kontrol için özel çeviri akışları oluşturabilirsiniz.
- Tipik bir çeviri kurulumu, kullanıcının dilini saklar, gelen mesajları botun diline çevirir, işler ve ardından yanıtları tekrar kullanıcının diline çevirir.
- DeepL, yüksek kaliteli çeviriler için popüler bir tercihtir; ancak benzer kodlarla herhangi bir çeviri API'si (örneğin Google Translate) entegre edilebilir.
Günümüzün çok dilli dünyasında, kullanıcılarla kendi ana dillerinde iletişim kurabilmek her sohbet botu için önemli bir özelliktir.
Bir yapay zeka sohbet botu oluşturuyorsanız, botunuzun 'beyni' olarak bir LLM kullanırsanız çeviri otomatik olur. Bir LLM ajanı, konuşmaları otomatik olarak 100'den fazla dile çevirebilir.
Ancak, GPT sohbet botunuzu oluştururken özel çeviri yetenekleri kurmak istiyorsanız, bunu nasıl yapacağınız konusunda size yardımcı olabiliriz.
Bu yazıda, çevirinizi özelleştirmek için gereken kodlama adımlarına yakından bakacağız.
Sohbet botunda çeviri nasıl çalışır?
Stratejimiz, kullanıcılardan gelen mesajları yakalamak, dillerini tespit etmek ve bu mesajları botun çalışma diline ve tekrar kullanıcıya çevirmek üzerine kuruludur.
Bu süreç şunları içerir:
- Tespit edilen dili saklamak
- Kullanıcının mesajını botun diline çevirmek
- Mesajı işlemek ve ardından
- Botun yanıtını tekrar kullanıcının diline çevirmek
Örneğin, bir kullanıcı İspanyolca bir mesaj gönderirse, bot "es" dil değişkenini kaydeder. Yazılım, mesajı bot için İngilizce'ye çevirir ve ardından botun yanıtını tekrar İspanyolca'ya çevirip kullanıcıya gönderir.
Adım 1: Araçlarınızı seçin
Kurulumumuzda, doğruluğu ve verimliliğiyle bilinen DeepL Çeviri servisini kullanacağız.
Bu entegrasyonu, kullanıcının mesajını aynen yanıtlayan basit bir eko bot ile göstereceğiz. API çağrılarımız için Axios kullanacağız; çünkü Botpress ile otomatik olarak entegre olur.

Adım 2: Gerekli değişkenleri oluşturun
Öncelikle, ilk veya tespit edilen dili saklamak için `language` adında bir kullanıcı değişkeni eklememiz gerekiyor.
DeepL, girilen metnin dilini tespit edip döndürerek bu süreci kolaylaştırır ve işimizi tek bir API isteğine indirger.
Adım 3: Yakalama kancalarını oluşturun
Gelen mesajdan önce kancası
Kullanıcının mesajını Botpress'e ulaşmadan önce yakalayıp çevirmek için "Gelen Mesajdan Önce" kancasını ekliyoruz. Bu kancaya "Translation-In" adını vereceğiz; gelen mesajı İngilizce'ye çevirip orijinal mesajın yerine geçmesini sağlar, böylece Botpress mesajı İngilizce gibi işler.
Bu kancanın kodu şu şekildedir:
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
});ÖNEMLİ NOT: API Anahtarınızı eklerken her zaman Botpress Yapılandırma Değişkenlerini kullanın.
Giden mesajdan önce kancası
"Giden Mesajdan Önce" kancası için ise adını "Translation-Out" koyacağız. Bu kanca, botun yanıtını yakalayıp tekrar kullanıcının diline çevirir ve konuşmanın kullanıcının tercih ettiği dilde kalmasını sağlar.
Uygulama, giden mesajı çevrilmiş haliyle değiştirerek gerçekleştirilir:
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
});Bugün Hemen Başlayın
Bir yapay zeka sohbet botu kullanmanın en önemli avantajlarından biri çok dilli olmasıdır. Botpress gibi platformlarla, sohbet botunuzu 100'den fazla dilde kullanıcılarla hızlıca buluşturabilirsiniz.
Erişilebilir ve kullanıcı dostu bir sohbet botu istiyorsanız, herhangi bir çeviri servisini Botpress ile kolayca entegre edebilirsiniz. Kanal entegrasyonlarımız sayesinde sohbet botunuzu WhatsApp, Facebook Messenger veya web sitenizde kullanıma sunabilirsiniz.
Hemen başlayın. Ücretsizdir.
Ek kaynaklar
Sıkça Sorulan Sorular
1. DeepL dışında Google Translate veya Microsoft Translator gibi başka bir çeviri hizmeti kullanabilir miyim?
Evet, Botpress'teki çeviri kancasını seçtiğiniz servisin API istek ve yanıt formatına göre değiştirerek başka çeviri servisleri de kullanabilirsiniz. Bu servisler, özel aksiyonlar veya kancalar içinde HTTP çağrılarıyla kolayca entegre edilebilir.
2. Bir konuşmanın sadece belirli bölümlerini seçerek çevirebilir miyim?
Evet, çeviri kancanızda belirli mesaj türlerini veya kullanıcı tanımlı değişkenleri kontrol eden koşullu mantık ekleyerek sadece konuşmanın belirli bölümlerini çevirebilirsiniz. Böylece neyin ne zaman çevrileceğini tam olarak kontrol edebilirsiniz.
3. Kullanıcı verilerini çeviri servisine göndermeden önce anonimleştirebilir miyim?
Evet, Botpress kancası veya aksiyonu içinde mesajı önceden işleyerek (örneğin, isim, e-posta veya kimlikleri regex ile maskeleyerek) kullanıcı verilerini anonimleştirebilirsiniz. Bu, gizlilik gereksinimlerine uyarken çeviri yapılmasını sağlar.
4. Bu çeviri kurulumunu farklı kanallarda (ör. WhatsApp, Messenger) kullanabilir miyim?
Evet, aynı çeviri kurulumunu WhatsApp, Messenger, Slack veya web siteniz gibi birden fazla kanalda kullanabilirsiniz. Botunuz mesajı aldığı sürece, çeviri mantığı platformdan bağımsız olarak çalışır.
5. Çeviri hatalarını analiz veya hata ayıklama için nasıl kaydedebilirim?
Botpress'te çeviri hatalarını kaydetmek için geliştirme sırasında console.error() kullanabilir veya hataları özel bir Botpress tablosuna, Loggly veya Datadog gibi uzaktan günlükleme servisine ya da dahili bir API'ye gönderebilirsiniz. Bu sayede hataları takip edebilir ve zaman içinde performansı izleyebilirsiniz.





.webp)
