- AI 챗봇은 LLM 사용하여 100개 이상의 언어로 대화를 자동으로 번역하거나 사용자 지정 번역 흐름을 구축하여 보다 세밀하게 제어할 수 있습니다.
- 일반적인 번역 설정은 사용자의 언어를 저장하고, 수신 메시지를 봇의 언어로 번역하여 처리한 다음, 답장을 다시 사용자의 언어로 번역하는 방식입니다.
- DeepL 고품질 번역을 위해 많이 사용되지만, Google 번역과 같은 모든 번역 API를 유사한 코드와 통합할 수 있습니다.
오늘날과 같은 다국어 세상에서 사용자와 모국어로 소통할 수 있는 기능은 모든 챗봇의 핵심 기능입니다.
AI 챗봇을 구축하는 경우 LLM 봇의 '두뇌'로 사용하면 번역이 자동으로 이루어집니다. LLM 에이전트는 100개 이상의 언어로 대화를 자동으로 번역할 수 있습니다.
하지만 GPT 챗봇을 구축할 때 사용자 지정 번역 기능을 설정하는 데 관심이 있으시면 저희가 도와드릴 수 있습니다.
이 문서에서는 번역을 사용자 지정하는 데 필요한 구체적인 코딩 입력에 대해 자세히 설명합니다.
챗봇 번역은 어떻게 작동하나요?
저희의 전략은 사용자의 메시지를 가로채고, 사용자의 언어를 식별하고, 이러한 메시지를 봇의 운영 언어로 번역하는 데 중점을 둡니다.
이 과정에는 다음이 수반됩니다:
- 감지된 언어 저장하기
- 사용자의 메시지를 봇의 언어로 번역하기
- 메시지를 처리한 다음
- 봇의 응답을 사용자의 언어로 다시 번역하기
예를 들어 사용자가 스페인어로 메시지를 보내면 봇은 언어 변수로 "es"를 저장합니다. 소프트웨어는 봇을 위해 메시지를 영어로 번역한 다음 봇의 응답을 다시 스페인어로 번역하여 사용자에게 보냅니다.
1단계: 도구 선택
정확성과 효율성으로 유명한 번역 서비스인 DeepL 번역 서비스를 사용합니다.
메시지를 미러링하여 사용자에게 응답하는 간단한 에코 봇으로 이 통합을 시연해 보겠습니다. Botpress 의 자동 통합이므로 API 호출에 Axios를 사용하겠습니다.

2단계: 필요한 변수 만들기
먼저, 초기 또는 감지된 언어를 저장하기 위해 'language'라는 사용자 변수를 도입해야 합니다.
DeepL 은 입력 텍스트의 언어를 감지하고 반환하여 작업을 단일 API 요청으로 간소화함으로써 이 프로세스를 용이하게 합니다.
3단계: 차단 후크 만들기
수신 메시지 후크 전
사용자의 메시지가 Botpress 에 도달하기 전에 가로채서 번역하기 위해 "Before Incoming Message" 훅을 도입합니다. 이 훅의 이름을 "Translation-In"으로 지정하여 수신 메시지를 영어로 번역하고 원본 메시지를 재정의하여 Botpress 에서 마치 영어로 된 것처럼 처리할 수 있도록 합니다.
이 훅의 코드는 다음과 같습니다:
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
});
중요 참고: API 키를 통합할 때는 항상 Botpress 구성 변수를 사용하세요.
발신 메시지 후크 전
"발신 메시지 전" 후크의 이름을 "번역-아웃"으로 지정합니다. 이 후크는 봇의 응답을 가로채서 사용자의 언어로 다시 번역하여 대화가 사용자가 선호하는 언어로 유지되도록 합니다.
이 구현에는 발신 메시지를 번역된 메시지로 재정의하는 것이 포함됩니다:
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. Google 번역이나 Microsoft 번역기와 같은 DeepL 이외의 번역 서비스를 사용할 수 있나요?
예, 선택한 서비스의 API 요청 및 응답 형식에 맞게 Botpress 번역 훅을 수정하여 다른 번역 서비스를 사용할 수 있습니다. 이러한 서비스는 사용자 정의 작업 또는 후크 내에서 HTTP 호출을 통해 쉽게 통합할 수 있습니다.
2. 대화의 일부만 선택적으로 번역할 수 있나요?
예, 번역을 트리거하기 전에 특정 메시지 유형이나 사용자 정의 변수를 확인하는 조건부 로직을 번역 후크에 추가하여 대화의 일부만 선택적으로 번역할 수 있습니다. 이렇게 하면 번역되는 내용과 시기를 정확하게 제어할 수 있습니다.
3. 번역 서비스에 사용자 데이터를 보내기 전에 익명화할 수 있나요?
예, Botpress 후크 또는 작업 내에서 메시지를 사전 처리(예: 정규식을 사용하여 이름, 이메일 또는 ID를 마스킹)하여 번역 서비스로 보내기 전에 사용자 데이터를 익명화할 수 있습니다. 이렇게 하면 개인 정보 보호 요구 사항을 준수하면서 번역을 계속 사용할 수 있습니다.
4. 이 번역 설정을 다른 채널(예: WhatsApp, Messenger)에서 사용할 수 있나요?
예, WhatsApp, Messenger, Slack 또는 웹사이트와 같은 여러 채널에서 동일한 번역 설정을 사용할 수 있습니다. 봇이 메시지를 수신하는 한 번역 로직은 플랫폼에 관계없이 작동합니다.
5. 분석 또는 디버깅을 위해 번역 오류를 기록하려면 어떻게 하나요?
Botpress 번역 오류를 기록하려면 다음을 사용할 수 있습니다. console.error()
를 사용하여 개발 디버깅을 수행하거나 사용자 정의 Botpress 테이블, Loggly 또는 Datadog와 같은 원격 로깅 서비스 또는 내부 API로 오류를 전송할 수 있습니다. 이를 통해 장애를 추적하고 시간 경과에 따른 성능을 모니터링할 수 있습니다.