Hoppa till navigering

Språkidentifiering

Låt agenten automatiskt byta till språket

Översikt

Systemverktyget language detection låter din ElevenLabs-agent byta utmatningsspråk till vilket språk som helst som agenten stöder. Det här systemverktyget aktiveras inte automatiskt. Beskrivningen kan anpassas efter ditt specifika användningsfall.

Där det är möjligt rekommenderar vi att du aktiverar alla språk för en agent och aktiverar systemverktyget för språkidentifiering.

Vårt verktyg för språkidentifiering utlöser språkbyte i två fall, båda baserade på det mottagna ljudets identifierade språk och innehåll:

  • detection om en användare talar ett annat språk än det aktuella utmatningsspråket utlöses ett byte
  • content om användaren ber på det aktuella språket att byta till ett nytt språk utlöses ett byte

Syfte: Växla automatiskt till användarens identifierade språk under samtal.

Utlösande villkor: LLM:en ska anropa det här verktyget när:

  • Användaren talar ett annat språk än det aktuella samtalsspråket
  • Användaren uttryckligen ber om att byta språk
  • Samtalet behöver stöd för flera språk

Parametrar:

  • reason (sträng, krävs): Anledningen till språkbytet
  • language (sträng, krävs): Språkkoden att byta till (måste finnas i listan över språk som stöds)

Format för funktionsanrop:

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

Implementering: Konfigurera språk som stöds i agentinställningarna och lägg till systemverktyget för språkidentifiering. Agenten växlar automatiskt röst och svar så att de matchar de identifierade språken.

Aktivera språkidentifiering

1

Konfigurera språk som stöds

Språken som agenten kan byta till måste definieras på fliken med inställningar för Agent.

Agentspråk

2

Lägg till verktyget för språkidentifiering

Aktivera språkidentifiering genom att välja det förkonfigurerade systemverktyget bland agentens verktyg på fliken Agent. Det finns automatiskt tillgängligt som ett alternativ när du väljer add tool.

Systemverktyg

3

Konfigurera verktygsbeskrivningen

Lägg till en beskrivning som anger när verktyget ska anropas

Beskrivning

Begränsa byten till början av samtalet

I ett långt samtal kan bakgrundstal eller en ovanlig accent ibland utlösa ett byte som uppringaren inte avsåg. Genom att aktivera only_at_conversation_start begränsas byten till de två första användarturerna.

Om språket inte byts under de två turerna inaktiveras språkidentifieringen för resten av samtalet: varje senare försök misslyckas och agenten fortsätter att tala det aktuella språket. Om språket byts inom det fönstret förblir byten tillgängliga under resten av samtalet, så att en felaktig identifiering fortfarande kan korrigeras.

Alternativet är inaktiverat som standard.

Välj verktyget Identifiera språk på fliken Verktyg och aktivera Endast i början av samtalet.

När byte blockeras returnerar verktyget ett fel till LLM:et med instruktionen att fortsätta tala det aktuella språket. Orsaken visas inte för uppringaren.

API-implementering

När du skapar en agent via API:t kan du lägga till verktyget language detection i agentkonfigurationen. Det ska definieras som ett systemverktyg:

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,
),
)
Lämna beskrivningen tom för att använda standardprompten för språkidentifiering.