Saltar a la navegación

Sobrescrituras

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

Aunque las sobrescrituras 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 sobrescrituras permiten que tu asistente adapte su comportamiento a cada interacción con el usuario. Puedes enviar datos y ajustes personalizados al inicio de cada conversación, lo que permite al asistente personalizar sus respuestas y conocimientos con contexto en tiempo real. Las sobrescrituras reemplazan por completo los valores predeterminados del agente definidos en el panel del agente.

Descripción general

Las sobrescrituras 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.

Las sobrescrituras se pueden activar 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)
  • Esfuerzo de razonamiento del LLM
  • Herramientas
  • Base de conocimientos
  • Modo de solo texto
  • Estabilidad
  • Velocidad
  • Mejora de similitud
  • Palabras clave de ASR
  • Procedimientos

La sobrescritura de Procedimientos no usa conversation_config_override. En su lugar, el cliente envía procedure_ids y start_procedure_ids en el nivel superior de los datos del cliente de inicio de la conversación. Consulta Elegir procedimientos por conversación.

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

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

El esfuerzo de razonamiento debe ser un nivel compatible con el LLM del agente. De lo contrario, la conversación no se inicia y la conexión se cierra con un error que indica el nivel no compatible. Si el interruptor de Seguridad está desactivado, prompt.reasoning_effort se ignora y se usa el esfuerzo de razonamiento guardado del agente. El valor es fijo durante toda la conversación y no se puede cambiar después de iniciarla.

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

  • Saludar a usuarios por su nombre
  • Incluir datos 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 cuenta o el estado de un pedido
  • Mejorar la transcripción de nombres o términos por llamada (por ejemplo, nombres de empresas de CRM) mediante palabras clave de ASR

Las sobrescrituras son especialmente útiles para aplicaciones que requieren interacciones personalizadas o gestionan datos confidenciales 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 sobrescribir el prompt del sistema, el primer mensaje, el LLM, el esfuerzo de razonamiento, las herramientas, la base de conocimientos, la configuración de TTS y las palabras clave de ASR predeterminados del agente.

1

Activar sobrescrituras

Por motivos de seguridad, las sobrescrituras están desactivadas de forma predeterminada. Activa los campos cuya sobrescritura quieras permitir, como first_message, prompt.prompt, prompt.reasoning_effort, 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 sobrescritura que necesites, como LLM o Reasoning effort.

Activar sobrescrituras

2

Sobrescribir la conversación

En tu código, donde se inicia la conversación, pasa las sobrescrituras como parámetro. Las sobrescrituras de herramientas y de base de conocimientos reemplazan las matrices predeterminadas para esa conversación. Las sobrescrituras de palabras clave de ASR reemplazan la lista de palabras clave predeterminada del agente para esa conversación (máximo 50 palabras clave).

Carga útil de inicio de conversación
{
"conversation_config_override": {
"agent": {
"prompt": {
"reasoning_effort": "high",
"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.
"reasoning_effort": "high", # Optional: override the reasoning effort. Requires Security → Reasoning effort.
"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 sobrescrituras, omite los campos que no quieras sobrescribir en lugar de configurarlos como cadenas vacías o valores nulos. Incluye solo los campos que quieras personalizar específicamente.

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