Detecção de idioma

Permita que seu agente mude automaticamente para o idioma

Visão geral

A ferramenta de sistema language detection permite que seu agente da ElevenLabs alterne o idioma de saída para qualquer idioma compatível com o agente. Essa ferramenta de sistema não é ativada automaticamente. A descrição dela pode ser personalizada para atender ao seu caso de uso específico.

Sempre que possível, recomendamos ativar todos os idiomas para um agente e ativar a ferramenta de sistema de detecção de idioma.

Nossa ferramenta de detecção de idioma aciona a mudança de idioma em dois casos, ambos com base no idioma e no conteúdo detectados no áudio recebido:

  • detection: se um usuário falar um idioma diferente do idioma de saída atual, uma mudança será acionada
  • content: se o usuário pedir, no idioma atual, para mudar para um novo idioma, uma mudança será acionada

Objetivo: Mudar automaticamente para o idioma detectado do usuário durante as conversas.

Condições de acionamento: O LLM deve chamar esta ferramenta quando:

  • O usuário falar em um idioma diferente do idioma atual da conversa
  • O usuário solicitar explicitamente a mudança de idioma
  • Houver necessidade de suporte a vários idiomas na conversa

Parâmetros:

  • reason (string, obrigatório): O motivo para a mudança de idioma
  • language (string, obrigatório): O código do idioma para o qual mudar (deve estar na lista de idiomas compatíveis)

Formato da chamada de função:

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

Implementação: Configure os idiomas compatíveis nas configurações do agente e adicione a ferramenta de sistema de detecção de idioma. O agente mudará automaticamente a voz e as respostas para corresponder aos idiomas detectados.

Ativando a detecção de idioma

1

Configurar idiomas compatíveis

Os idiomas para os quais o agente pode alternar devem ser definidos na aba de configurações Agent.

Idiomas do agente

2

Adicionar a ferramenta de detecção de idioma

Ative a detecção de idioma adicionando a ferramenta de sistema pré-configurada às ferramentas do seu agente na aba Agent. Ela fica disponível automaticamente como opção ao selecionar add tool.

Ferramenta de sistema

3

Configurar a descrição da ferramenta

Adicione uma descrição que especifique quando chamar a ferramenta.

Descrição

Restringindo a mudança ao início da conversa

Em uma conversa longa, falas de fundo ou um sotaque incomum podem ocasionalmente acionar uma mudança que a pessoa que ligou não pretendia. Ativar only_at_conversation_start limita as mudanças aos dois primeiros turnos do usuário.

Se o idioma não mudar nesses dois turnos, a detecção de idioma será desativada pelo restante da conversa: todas as tentativas posteriores falharão e o agente continuará falando o idioma atual. Se o idioma mudar nessa janela, a mudança continuará disponível pelo restante da conversa, para que uma detecção incorreta ainda possa ser corrigida.

A opção vem desativada por padrão.

Selecione a ferramenta Detect language na aba Tools e ative Only at start of conversation.

Quando a mudança é bloqueada, a ferramenta retorna um erro ao LLM instruindo-o a continuar falando o idioma atual. O motivo não é informado à pessoa que ligou.

Implementação da API

Ao criar um agente pela API, você pode adicionar a ferramenta language detection à configuração do agente. Ela deve ser definida como uma ferramenta de 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,
),
)
Deixe a descrição em branco para usar o prompt padrão de detecção de idioma.