Anulaciones

Personaliza cada conversación con contexto personalizado para cada usuario.

Aunque las anulaciones siguen siendo compatibles para sustituir por completo los prompts del sistema o los primeros mensajes, te recomendamos usar Variables dinámicas como la forma preferida de personalizar las respuestas de tu agente e introducir datos en tiempo real. Las variables dinámicas ofrecen un mejor mantenimiento y un enfoque más estructurado para la personalización.

Las anulaciones permiten que tu asistente adapte su comportamiento a cada interacción con usuarios. Puedes enviar datos y ajustes personalizados al inicio de cada conversación para que el asistente personalice sus respuestas y conocimientos con contexto en tiempo real. Las anulaciones sustituyen por completo los valores predeterminados del agente definidos en el panel del agente.

Descripción general

Las anulaciones te permiten modificar el comportamiento de tu agente de IA en tiempo real sin crear varios agentes. Esto te permite personalizar las respuestas con datos específicos de cada usuario.

Puedes activar anulaciones para los siguientes campos en la configuración de seguridad del agente:

  • Prompt del sistema
  • Primer mensaje
  • Idioma
  • ID de voz
  • LLM (modelo de lenguaje extenso)
  • Herramientas
  • Base de conocimiento
  • Modo de solo texto
  • Estabilidad
  • Velocidad
  • Mejora de similitud
  • Palabras clave de ASR

Cuando las anulaciones están activadas para un campo, proporcionar una anulación sigue siendo opcional. Si no proporcionas una, el agente usará los valores predeterminados definidos en el panel del agente. Para la mayoría de los campos, se producirá un error si proporcionas una anulación cuando ese campo no tiene activadas las anulaciones.

Las palabras clave de ASR usan una denegación flexible: si el interruptor de Seguridad está desactivado y el cliente aun así envía asr.keywords, la conversación continúa y se ignoran las palabras clave (sin error). Activa la anulación de palabras clave de ASR en la configuración de Seguridad cuando quieras aplicar la mejora de palabras clave por conversación. Se admiten hasta 50 palabras clave por conversación.

Estos son algunos ejemplos en los que las anulaciones pueden ser útiles:

  • Saludar a usuarios por su nombre
  • Incluir detalles específicos de la cuenta en las respuestas
  • Ajustar el idioma o el tono del agente según las preferencias del usuario
  • Enviar datos en tiempo real como saldos de cuentas o el estado de pedidos
  • Mejorar la transcripción de nombres o términos por llamada (por ejemplo, nombres de empresas en el CRM) mediante palabras clave de ASR

Las anulaciones son especialmente útiles para aplicaciones que requieren interacciones personalizadas o gestionan datos sensibles de usuarios que no deberían almacenarse en la configuración base del agente.

Guía

Requisitos previos

Esta guía te muestra cómo anular los valores predeterminados del prompt del sistema, el primer mensaje, el LLM, las herramientas, la base de conocimiento, la configuración de TTS y las palabras clave de ASR del agente.

1

Activar anulaciones

Por razones de seguridad, las anulaciones están desactivadas de forma predeterminada. Activa los campos para los que quieras permitir anulaciones, como first_message, prompt.prompt, prompt.tool_ids, prompt.knowledge_base, language o asr.keywords.

Ve a la configuración de tu agente y selecciona la pestaña Seguridad. Activa First message, System prompt, Tools, Knowledge base, ASR keywords y cualquier otra anulación que necesites, como LLM.

Activar anulaciones

2

Anular la conversación

En tu código, donde se inicia la conversación, pasa las anulaciones como parámetro. Las anulaciones de herramientas y de la base de conocimiento sustituyen los arrays predeterminados para esa conversación. Las anulaciones de palabras clave de ASR sustituyen la lista de palabras clave predeterminada del agente para esa conversación (máximo de 50 palabras clave).

Carga útil de inicio de conversación
{
"conversation_config_override": {
"agent": {
"prompt": {
"tool_ids": ["tool_7101k5zvyjhmfg983brhmhkd98n6"],
"knowledge_base": [
{
"type": "file",
"name": "Unladen Swallow Facts",
"id": "5xM3yVvZQKV0EfqQpLrJ",
"usage_mode": "auto"
}
]
}
},
"asr": {
"keywords": ["Acme Corp", "Contoso", "Globex"]
}
}
}

Asegúrate de tener instalada la última versión del SDK.

from elevenlabs.conversational_ai.conversation import Conversation, ConversationInitiationData
...
conversation_override = {
"agent": {
"prompt": {
"prompt": f"The customer's bank account balance is {customer_balance}. They are based in {customer_location}.", # Optional: override the system prompt.
"llm": "gpt-4o", # Optional: override the LLM model.
"tool_ids": [
"tool_7101k5zvyjhmfg983brhmhkd98n6"
], # Optional: replace the tools available to the agent.
"knowledge_base": [
{
"type": "file",
"name": "Unladen Swallow Facts",
"id": "5xM3yVvZQKV0EfqQpLrJ",
"usage_mode": "auto",
}
], # Optional: replace the knowledge base available to the agent.
},
"first_message": f"Hi {customer_name}, how can I help you today?", # Optional: override the first_message.
"language": "en" # Optional: override the language.
},
"tts": {
"voice_id": "custom_voice_id", # Optional: override the voice.
"stability": 0.7, # Optional: override stability (0.0 to 1.0).
"speed": 1.1, # Optional: override speed (0.7 to 1.2).
"similarity_boost": 0.9 # Optional: override similarity boost (0.0 to 1.0).
},
"conversation": {
"text_only": True # Optional: enable text-only mode (no audio).
},
"asr": {
"keywords": ["Acme Corp", "Contoso"] # Optional: boost ASR for per-call terms (max 50). Requires Security → ASR keywords.
}
}
config = ConversationInitiationData(
conversation_config_override=conversation_override
)
conversation = Conversation(
...
config=config,
...
)
conversation.start_session()

Al usar anulaciones, omite los campos que no quieras anular en lugar de establecer cadenas vacías o valores nulos. Incluye únicamente los campos que quieras personalizar específicamente.

Para encontrar la cadena correcta del modelo LLM, consulta la referencia de la API de agentes, que incluye todos los modelos LLM compatibles y sus identificadores de cadena exactos.