Vai alla navigazione

Rilevamento della lingua

Consenti al tuo agente di passare automaticamente alla lingua corretta

Panoramica

Lo strumento di sistema language detection consente al tuo agente ElevenLabs di cambiare la lingua di output con qualsiasi lingua supportata dall’agente. Questo strumento di sistema non è abilitato automaticamente. La sua descrizione può essere personalizzata in base al tuo caso d’uso specifico.

Quando possibile, consigliamo di abilitare tutte le lingue per un agente e di abilitare lo strumento di sistema per il rilevamento della lingua.

Il nostro strumento di rilevamento della lingua attiva il cambio di lingua in due casi, entrambi basati sulla lingua e sul contenuto rilevati nell’audio ricevuto:

  • detection: se un utente parla una lingua diversa da quella di output corrente, viene attivato un cambio
  • content: se l’utente chiede nella lingua corrente di passare a una nuova lingua, viene attivato un cambio

Scopo: passa automaticamente alla lingua rilevata dell’utente durante le conversazioni.

Condizioni di attivazione: l’LLM deve chiamare questo strumento quando:

  • L’utente parla una lingua diversa da quella della conversazione corrente
  • L’utente richiede esplicitamente di cambiare lingua
  • Per la conversazione è necessario il supporto multilingue

Parametri:

  • reason (stringa, obbligatorio): il motivo del cambio di lingua
  • language (stringa, obbligatorio): il codice della lingua da usare (deve essere nell’elenco delle lingue supportate)

Formato della chiamata di funzione:

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

Implementazione: configura le lingue supportate nelle impostazioni dell’agente e aggiungi lo strumento di sistema per il rilevamento della lingua. L’agente adatterà automaticamente la voce e le risposte alle lingue rilevate.

Abilitare il rilevamento della lingua

1

Configura le lingue supportate

Le lingue a cui l’agente può passare devono essere definite nella scheda delle impostazioni Agent.

Lingue dell'agente

2

Aggiungi lo strumento di rilevamento della lingua

Abilita il rilevamento della lingua aggiungendo lo strumento di sistema preconfigurato agli strumenti del tuo agente nella scheda Agent. È disponibile automaticamente come opzione quando selezioni add tool.

Strumento di sistema

3

Configura la descrizione dello strumento

Aggiungi una descrizione che specifichi quando chiamare lo strumento

Descrizione

Limitare il cambio all’inizio della conversazione

In una conversazione lunga, rumori di fondo o un accento insolito possono occasionalmente attivare un cambio che il chiamante non intendeva. Abilitando only_at_conversation_start, il cambio viene limitato ai primi due turni dell’utente.

Se la lingua non cambia durante questi due turni, il rilevamento della lingua viene disabilitato per il resto della conversazione: ogni tentativo successivo fallisce e l’agente continua a parlare nella lingua corrente. Se invece la lingua cambia entro questa finestra, il cambio rimane disponibile per il resto della conversazione, quindi un rilevamento errato può comunque essere corretto.

L’opzione è disabilitata per impostazione predefinita.

Seleziona lo strumento Rileva lingua nella scheda Strumenti e abilita Solo all’inizio della conversazione.

Quando il cambio è bloccato, lo strumento restituisce un errore all’LLM, indicandogli di continuare a parlare nella lingua corrente. Il motivo non viene comunicato al chiamante.

Implementazione API

Quando crei un agente tramite API, puoi aggiungere lo strumento language detection alla configurazione dell’agente. Deve essere definito come strumento di 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,
),
)
Lascia vuota la descrizione per usare il prompt predefinito di rilevamento della lingua.