Ir para a navegação

Substituições

Personalize cada conversa com contexto individual para cada usuário.

Embora as substituições ainda sejam compatíveis para substituir completamente prompts do sistema ou primeiras mensagens, recomendamos usar Variáveis Dinâmicas como a forma preferencial de personalizar as respostas do seu agente e inserir dados em tempo real. As Variáveis Dinâmicas oferecem melhor manutenção e uma abordagem mais estruturada para a personalização.

As substituições permitem que seu assistente adapte o comportamento a cada interação do usuário. Você pode enviar dados e configurações personalizados no início de cada conversa, permitindo que o assistente personalize suas respostas e conhecimentos com contexto em tempo real. As substituições substituem completamente os valores padrão do agente definidos no painel do agente.

Visão geral

As substituições permitem modificar o comportamento do seu agente de IA em tempo real sem criar vários agentes. Isso permite personalizar respostas com dados específicos de cada usuário.

As substituições podem ser ativadas para os seguintes campos nas configurações de segurança do agente:

  • Prompt do sistema
  • Primeira mensagem
  • Idioma
  • ID da voz
  • LLM (modelo de linguagem grande)
  • Ferramentas
  • Base de conhecimento
  • Modo somente texto
  • Estabilidade
  • Velocidade
  • Aumento de similaridade
  • Palavras-chave de ASR
  • Procedimentos

A substituição de Procedimentos não usa conversation_config_override. Em vez disso, o cliente envia procedure_ids e start_procedure_ids no nível superior dos dados do cliente de início da conversa. Consulte Escolher procedimentos por conversa.

Quando as substituições estão ativadas para um campo, fornecer uma substituição ainda é opcional. Se ela não for fornecida, o agente usará os valores padrão definidos no painel do agente. Para a maioria dos campos, ocorrerá um erro se uma substituição for fornecida quando esse campo não tiver substituições ativadas.

As palavras-chave de ASR usam bloqueio flexível: se a opção de Segurança estiver desativada e o cliente ainda enviar asr.keywords, a conversa continuará e as palavras-chave serão ignoradas (sem erro). Ative a substituição de palavras-chave de ASR nas configurações de Segurança quando quiser aplicar o reforço de palavras-chave por conversa. Há suporte para até 50 palavras-chave por conversa.

Veja alguns exemplos em que as substituições podem ser úteis:

  • Cumprimentar os usuários pelo nome
  • Incluir detalhes específicos da conta nas respostas
  • Ajustar o idioma ou o tom do agente com base nas preferências do usuário
  • Enviar dados em tempo real, como saldos de conta ou status de pedidos
  • Melhorar a transcrição de nomes ou termos por chamada (por exemplo, nomes de empresas no CRM) com palavras-chave de ASR

As substituições são particularmente úteis para aplicativos que exigem interações personalizadas ou lidam com dados confidenciais de usuários que não devem ser armazenados na configuração base do agente.

Guia

Pré-requisitos

Este guia mostra como substituir o prompt do sistema, a primeira mensagem, o LLM, as ferramentas, a base de conhecimento, as configurações de TTS e as palavras-chave de ASR padrão do agente.

1

Ative as substituições

Por motivos de segurança, as substituições ficam desativadas por padrão. Ative os campos que você deseja permitir substituir, como first_message, prompt.prompt, prompt.tool_ids, prompt.knowledge_base, language ou asr.keywords.

Acesse as configurações do seu agente e selecione a aba Segurança. Ative First message, System prompt, Tools, Knowledge base, ASR keywords e outras substituições de que você precisar, como LLM.

Ativar substituições

2

Substituir a configuração da conversa

No seu código, onde a conversa é iniciada, envie as substituições como um parâmetro. As substituições de ferramentas e da base de conhecimento substituem os arrays padrão dessa conversa. As substituições de palavras-chave de ASR substituem a lista de palavras-chave padrão do agente nessa conversa (máximo de 50 palavras-chave).

Payload de início da conversa
{
"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"]
}
}
}

Verifique se você tem o SDK mais recente instalado.

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()

Ao usar substituições, omita os campos que você não quer substituir em vez de defini-los como strings vazias ou valores nulos. Inclua apenas os campos que você quer personalizar especificamente.

Para encontrar a string correta do modelo LLM, consulte a referência da API de Agentes, que lista todos os modelos LLM compatíveis e seus identificadores de string exatos.