Détection de la langue

Permettez à votre agent de passer automatiquement à la bonne langue

Vue d’ensemble

L’outil système language detection permet à votre agent ElevenLabs de changer sa langue de sortie pour toute langue prise en charge par l’agent. Cet outil système n’est pas activé automatiquement. Sa description peut être personnalisée selon votre cas d’usage.

Lorsque c’est possible, nous vous recommandons d’activer toutes les langues pour un agent et d’activer l’outil système de détection de la langue.

Notre outil de détection de la langue déclenche le changement de langue dans deux cas, tous deux fondés sur la langue et le contenu détectés dans l’audio reçu :

  • detection si un utilisateur parle dans une langue différente de la langue de sortie actuelle, un changement est déclenché
  • content si l’utilisateur demande dans la langue actuelle de passer à une nouvelle langue, un changement est déclenché

Objectif : basculer automatiquement vers la langue détectée de l’utilisateur au cours des conversations.

Conditions de déclenchement : le LLM doit appeler cet outil lorsque :

  • L’utilisateur parle dans une langue différente de celle de la conversation en cours
  • L’utilisateur demande explicitement à changer de langue
  • La conversation nécessite la prise en charge de plusieurs langues

Paramètres :

  • reason (chaîne, obligatoire) : la raison du changement de langue
  • language (chaîne, obligatoire) : le code de langue vers lequel basculer (doit figurer dans la liste des langues prises en charge)

Format d’appel de fonction :

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

Implémentation : configurez les langues prises en charge dans les paramètres de l’agent et ajoutez l’outil système de détection de langue. L’agent basculera automatiquement la voix et les réponses pour correspondre aux langues détectées.

Activation de la détection de la langue

1

Configurer les langues prises en charge

Les langues vers lesquelles l’agent peut basculer doivent être définies dans l’onglet des paramètres Agent.

Langues de l’agent

2

Ajouter l’outil de détection de la langue

Activez la détection de la langue en ajoutant l’outil système préconfiguré aux outils de votre agent dans l’onglet Agent. Cette option est automatiquement disponible lorsque vous sélectionnez add tool.

Outil système

3

Configurer la description de l’outil

Ajoutez une description qui précise quand appeler l’outil

Description

Limiter le changement au début de la conversation

Dans une longue conversation, une voix en arrière-plan ou un accent inhabituel peut occasionnellement déclencher un changement que l’appelant n’avait pas demandé. L’activation de only_at_conversation_start limite les changements aux deux premiers tours utilisateur.

Si la langue ne change pas durant ces deux tours, la détection de la langue est désactivée pour le reste de la conversation : chaque tentative ultérieure échoue et l’agent continue de parler dans la langue actuelle. Si la langue change pendant cette fenêtre, les changements restent disponibles pour le reste de la conversation, afin qu’une détection incorrecte puisse toujours être corrigée.

L’option est désactivée par défaut.

Sélectionnez l’outil Détecter la langue dans l’onglet Outils, puis activez Uniquement au début de la conversation.

Lorsqu’un changement est bloqué, l’outil renvoie une erreur au LLM en lui demandant de continuer à parler dans la langue actuelle. La raison n’est pas communiquée à l’appelant.

Implémentation de l’API

Lors de la création d’un agent via l’API, vous pouvez ajouter l’outil language detection à la configuration de votre agent. Il doit être défini comme outil système :

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,
),
)
Laissez la description vide pour utiliser le prompt de détection de la langue par défaut.