Hoppa till navigering

Åsidosättningar

Anpassa varje konversation med personligt anpassad kontext för varje användare.

Även om åsidosättningar fortfarande stöds för att helt ersätta systempromptar eller första meddelanden, rekommenderar vi att du använder dynamiska variabler som det främsta sättet att anpassa din agents svar och lägga till data i realtid. Dynamiska variabler är enklare att underhålla och ger ett mer strukturerat sätt att personalisera.

Åsidosättningar gör att din assistent kan anpassa sitt beteende för varje användarinteraktion. Du kan skicka anpassade data och inställningar i början av varje konversation, så att assistenten kan personanpassa sina svar och sin kunskap med kontext i realtid. Åsidosättningar ersätter helt agentens standardvärden som anges i agentens instrumentpanel.

Översikt

Med åsidosättningar kan du ändra din AI-agents beteende i realtid utan att skapa flera agenter. Det gör att du kan personanpassa svar med användarspecifika data.

Åsidosättningar kan aktiveras för följande fält i agentens säkerhetsinställningar:

  • Systemprompt
  • Första meddelande
  • Språk
  • Röst-ID
  • LLM (Large Language Model)
  • Verktyg
  • Kunskapsbas
  • Endast text-läge
  • Stabilitet
  • Hastighet
  • Likhetsförstärkning
  • ASR-nyckelord
  • Procedurer

Åsidosättningen Procedurer använder inte conversation_config_override. I stället skickar klienten procedure_ids och start_procedure_ids på toppnivån i klientdata för att initiera konversationen. Se Välj procedurer per konversation.

När åsidosättningar är aktiverade för ett fält är det fortfarande valfritt att ange en åsidosättning. Om ingen anges använder agenten standardvärdena som definieras i agentens instrumentpanel. För de flesta fält uppstår ett fel om en åsidosättning anges för ett fält där åsidosättningar inte är aktiverade.

ASR-nyckelord använder mjuk blockering: om säkerhetsväxeln är av och klienten ändå skickar asr.keywords fortsätter konversationen och nyckelorden ignoreras (inget fel). Aktivera åsidosättningen ASR-nyckelord i säkerhetsinställningarna när du vill att nyckelordsförstärkning per konversation ska tillämpas. Upp till 50 nyckelord stöds per konversation.

Här är några exempel på när åsidosättningar kan vara användbara:

  • Hälsa användare med deras namn
  • Inkludera kontospecifika uppgifter i svar
  • Anpassa agentens språk eller ton utifrån användarens preferenser
  • Skicka data i realtid som kontosaldon eller orderstatus
  • Förbättra transkribering av namn eller termer per samtal (till exempel företagsnamn i CRM) via ASR-nyckelord

Åsidosättningar är särskilt användbara för applikationer som kräver personliga interaktioner eller hanterar känsliga användardata som inte bör lagras i agentens grundkonfiguration.

Guide

Förutsättningar

Den här guiden visar hur du åsidosätter agentens systemprompt, första meddelande, LLM, verktyg, kunskapsbas, TTS-inställningar och ASR-nyckelord.

1

Aktivera åsidosättningar

Av säkerhetsskäl är åsidosättningar inaktiverade som standard. Aktivera de fält du vill tillåta åsidosättning för, till exempel first_message, prompt.prompt, prompt.tool_ids, prompt.knowledge_base, language eller asr.keywords.

Gå till agentens inställningar och välj fliken Säkerhet. Aktivera First message, System prompt, Tools, Knowledge base, ASR keywords och andra åsidosättningar du behöver, till exempel LLM.

Aktivera åsidosättningar

2

Åsidosätt konversationen

I din kod, där konversationen startas, skickar du åsidosättningarna som en parameter. Åsidosättningar för verktyg och kunskapsbas ersätter standardarrayerna för den konversationen. Åsidosättningar för ASR-nyckelord ersätter agentens standardlista med nyckelord för den konversationen (högst 50 nyckelord).

Nyttolast för konversationsinitiering
{
"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"]
}
}
}

Se till att du har den senaste SDK:n installerad.

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

När du använder åsidosättningar ska du utelämna fält som du inte vill åsidosätta i stället för att ange tomma strängar eller null-värden. Inkludera bara de fält du specifikt vill anpassa.

För att hitta rätt LLM-modellsträng, se Agent-API-referensen, där alla LLM-modeller som stöds och deras exakta strängidentifierare listas.