언어 감지

에이전트가 언어를 자동으로 전환하도록 설정하세요

개요

language detection 시스템 도구를 사용하면 ElevenLabs 에이전트가 에이전트에서 지원하는 모든 언어로 출력 언어를 전환할 수 있습니다. 이 시스템 도구는 자동으로 활성화되지 않습니다. 특정 사용 사례에 맞게 설명을 맞춤 설정할 수 있습니다.

가능하면 에이전트에 모든 언어를 활성화하고 언어 감지 시스템 도구도 활성화하는 것이 좋습니다.

언어 감지 도구는 수신한 오디오의 감지된 언어와 콘텐츠를 기반으로 다음 두 가지 경우에 언어 전환을 트리거합니다.

  • detection: 사용자가 현재 출력 언어와 다른 언어로 말하면 전환이 트리거됩니다.
  • content: 사용자가 현재 언어로 새 언어로 변경해 달라고 요청하면 전환이 트리거됩니다.

목적: 대화 중 사용자가 감지된 언어로 자동 전환합니다.

트리거 조건: 다음 경우 LLM이 이 도구를 호출해야 합니다.

  • 사용자가 현재 대화 언어와 다른 언어로 말할 때
  • 사용자가 명시적으로 언어 전환을 요청할 때
  • 대화에 다국어 지원이 필요할 때

매개변수:

  • reason (string, 필수): 언어 전환 이유
  • language (string, 필수): 전환할 언어 코드(지원 언어 목록에 있어야 함)

함수 호출 형식:

{
"type": "function",
"function": {
"name": "language_detection",
"arguments": "{\"reason\": \"User requested Spanish\", \"language\": \"es\"}"
}
}

구현: 에이전트 설정에서 지원 언어를 구성하고 언어 감지 시스템 도구를 추가하세요. 에이전트는 감지된 언어에 맞춰 음성과 응답을 자동으로 전환합니다.

언어 감지 활성화

1

지원 언어 구성

에이전트가 전환할 수 있는 언어는 Agent 설정 탭에서 정의해야 합니다.

에이전트 언어

2

언어 감지 도구 추가

Agent 탭에서 미리 구성된 시스템 도구를 에이전트의 도구에 선택하여 언어 감지를 활성화하세요. add tool을 선택하면 이 옵션을 자동으로 사용할 수 있습니다.

시스템 도구

3

도구 설명 구성

도구를 호출해야 하는 시점을 지정하는 설명을 추가하세요.

설명

대화 시작 시점으로 전환 제한

긴 대화에서는 배경 음성이나 특이한 억양이 발신자가 의도하지 않은 전환을 간혹 트리거할 수 있습니다. only_at_conversation_start를 활성화하면 전환을 첫 두 사용자 턴으로 제한합니다.

두 턴 동안 언어가 전환되지 않으면 나머지 대화에서는 언어 감지가 비활성화됩니다. 이후의 모든 시도는 실패하며 에이전트는 현재 언어로 계속 말합니다. 해당 기간 내에 언어가 전환되면 나머지 대화에서도 전환을 계속 사용할 수 있으므로, 잘못된 감지를 수정할 수 있습니다.

이 옵션은 기본적으로 비활성화되어 있습니다.

Tools 탭에서 언어 감지 도구를 선택하고 대화 시작 시에만을 활성화하세요.

전환이 차단되면 도구는 현재 언어로 계속 말하라는 지시와 함께 LLM에 오류를 반환합니다. 이유는 발신자에게 공개되지 않습니다.

API 구현

API를 통해 에이전트를 생성할 때 에이전트 구성에 language detection 도구를 추가할 수 있습니다. 시스템 도구로 정의해야 합니다.

from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs
elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")
# Create language presets
language_presets = {
"nl": {"overrides": {"agent": {"first_message": "Hoi, hoe gaat het met je?"}}},
"fi": {"overrides": {"agent": {"first_message": "Hei, kuinka voit?"}}},
"tr": {"overrides": {"agent": {"first_message": "Merhaba, nasılsın?"}}},
"ru": {"overrides": {"agent": {"first_message": "Привет, как ты?"}}},
"pt": {"overrides": {"agent": {"first_message": "Oi, como você está?"}}},
}
response = elevenlabs.conversational_ai.agents.create(
conversation_config=ConversationalConfig(
agent=AgentConfig(
first_message="Hi how are you?",
prompt={
"built_in_tools": {
"language_detection": {
"type": "system",
"name": "language_detection",
# Optional: customize when the tool should be triggered
"description": "",
"params": {"system_tool_type": "language_detection"},
}
},
},
),
language_presets=language_presets,
),
)
기본 언어 감지 프롬프트를 사용하려면 설명을 비워 두세요.