Detección de idioma

Permite que tu agente cambie automáticamente de idioma

Descripción general

La herramienta del sistema language detection permite que tu agente de ElevenLabs cambie su idioma de salida a cualquiera de los idiomas compatibles. Esta herramienta del sistema no se activa automáticamente. Puedes personalizar su descripción para adaptarla a tu caso de uso específico.

Siempre que sea posible, recomendamos activar todos los idiomas para un agente y activar la herramienta del sistema de detección de idioma.

Nuestra herramienta de detección de idioma activa el cambio de idioma en dos casos, ambos basados en el idioma y el contenido detectados en el audio recibido:

  • detection: si un usuario habla en un idioma diferente al idioma de salida actual, se activará un cambio
  • content: si el usuario pide en el idioma actual cambiar a un idioma nuevo, se activará un cambio

Objetivo: Cambiar automáticamente al idioma detectado del usuario durante las conversaciones.

Condiciones de activación: El LLM debe llamar a esta herramienta cuando:

  • El usuario habla en un idioma distinto al idioma actual de la conversación
  • El usuario solicita explícitamente cambiar de idioma
  • Se necesita compatibilidad multilingüe para la conversación

Parámetros:

  • reason (cadena, obligatorio): El motivo del cambio de idioma
  • language (cadena, obligatorio): El código de idioma al que cambiar (debe estar en la lista de idiomas compatibles)

Formato de llamada de función:

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

Implementación: Configura los idiomas compatibles en los ajustes del agente y añade la herramienta de sistema de detección de idioma. El agente cambiará automáticamente la voz y las respuestas para coincidir con los idiomas detectados.

Activar la detección de idioma

1

Configura los idiomas compatibles

Los idiomas a los que el agente puede cambiar deben definirse en la pestaña de configuración Agent.

Idiomas del agente

2

Añade la herramienta de detección de idioma

Activa la detección de idioma seleccionando la herramienta del sistema preconfigurada en las herramientas de tu agente, en la pestaña Agent. Estará disponible automáticamente como opción al seleccionar add tool.

Herramienta del sistema

3

Configura la descripción de la herramienta

Añade una descripción que especifique cuándo llamar a la herramienta.

Descripción

Restringir el cambio al inicio de la conversación

En una conversación larga, el habla de fondo o un acento poco habitual pueden activar ocasionalmente un cambio que la persona que llama no pretendía. Al activar only_at_conversation_start, el cambio se limita a los dos primeros turnos del usuario.

Si el idioma no cambia durante esos dos turnos, la detección de idioma se desactiva durante el resto de la conversación: cualquier intento posterior falla y el agente sigue hablando en el idioma actual. Si el idioma cambia dentro de esa ventana, el cambio seguirá disponible durante el resto de la conversación, por lo que se podrá corregir una detección incorrecta.

La opción está desactivada de forma predeterminada.

Selecciona la herramienta Detect language en la pestaña Tools y activa Only at start of conversation.

Cuando se bloquea el cambio, la herramienta devuelve un error al LLM indicándole que siga hablando en el idioma actual. El motivo no se muestra a la persona que llama.

Implementación mediante API

Al crear un agente mediante la API, puedes añadir la herramienta language detection a la configuración de tu agente. Debe definirse como una herramienta del sistema:

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,
),
)
Deja la descripción en blanco para usar el prompt predeterminado de detección de idioma.