个性化
个性化
了解如何使用动态变量和覆盖设置个性化智能体行为。
概述
个性化功能可针对每位用户调整智能体行为,让对话更自然、更贴合上下文。ElevenLabs 提供多种个性化方式:
- 动态变量:在提示词和消息中注入运行时值
- 覆盖:完全替换系统提示词或消息
- 对话发起 webhook:在对话开始时从服务器获取数据
个性化方式
对话发起客户端数据结构
conversation_initiation_client_data 对象定义了发起对话时可自定义的内容。客户端可直接发送此对象。对话发起 webhook 也会返回相同的对象。
系统动态变量(以 system__ 为前缀)无法通过客户端发起载荷发送或覆盖。只能通过
dynamic_variables 字段设置自定义动态变量。
对话发起 webhook
对于呼入电话和消息,ElevenAgents 可从服务器而非客户端获取这些发起数据。启用 webhook 后,ElevenAgents 会发送 POST 请求并应用返回的 JSON。
在 智能体设置 中配置 webhook URL 和请求头密钥。在智能体的 安全 标签页中,启用 从 webhook 获取发起客户端数据 以及响应中可能包含的所有覆盖字段。
当尚未提供发起客户端数据时,Twilio 语音、Exotel、SIP 中继、WhatsApp 或 Twilio SMS 的新呼入对话会运行此 webhook。它也会用于 Amazon Connect 会话,此时响应会与 Amazon Connect 提供的联系人上下文合并。
仅当外呼请求未包含 conversation_initiation_client_data 时,Twilio 语音、Exotel、SIP 和 WhatsApp 外呼才会触发它。WhatsApp 外发消息绝不会触发它,请改为在外发请求中传递动态变量。
它不会用于 widget 或 SDK 对话、其他消息集成,也不会用于恢复的 WhatsApp 和 SMS 会话线程。
从智能体设置页面发起的预览对话不会触发对话发起 webhook。在预览中测试时,请使用智能体编辑器中的 动态变量 占位符。 这些占位符不会用于生产环境的呼入对话。
ElevenAgents 会在请求正文中发送来电者上下文:
在 Twilio、Exotel、SIP 和 SMS 中,caller_id 和 called_number 是电话号码。对于呼入 WhatsApp,它们分别是 WhatsApp 用户 ID 和你的 WhatsApp 电话号码 ID。对于外呼,caller_id 是你的号码,called_number 是被拨打人的号码。call_sid 在电话服务中是服务商的呼叫 SID,在 WhatsApp、SMS 和 Amazon Connect 中则为空字符串。SIP 呼叫还可能包含 call_id 和 sip_headers。Amazon Connect 会话包含设为联系人 ID 的 call_id。
响应必须使用上述 conversation_initiation_client_data 结构。请包含智能体定义的每个自定义动态变量。覆盖为可选项,且必须在 安全 中启用。HTTP 响应正文不得超过 256 KB(262,144 字节)。
webhook 失败或超时可能导致对话无法开始。有关 Twilio 设置,请参阅 Twilio 个性化。此 webhook 与 通话后 webhook 相互独立。