本文介绍扣子编程智能语音信令事件中的下行事件。
事件类型:session.created
事件说明:用户成功进房后会发送此事件。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.voice_id |
String |
必选 |
音色 ID。 |
|
data.log_id |
String |
必选 |
服务端日志 ID,用于查找问题。 |
事件示例:
{
"id": "7446668538246561800",
"event_type": "session.created",
"data": {
"voice_id": "134",
"log_id":"xxx"
}
}
session.updated|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.voice_id |
String |
必选 |
音色 ID。 |
|
data.speech_rate |
Integer |
必选 |
模型回复的语速,取值范围 [-50, 100],默认为 0。-50 表示 0.5 倍速,100 表示 2 倍速。 |
|
data.loudness_rate |
Integer |
可选 |
输出音频的音量,取值范围 [-50, 100],默认为 0。-50 表示 0.5 倍音量,100 表示 2 倍音量。 |
|
data.longest_silence_ms |
Integer |
可选 |
当智能体处于长时间沉默状态时,房间将自动解散。此时间以毫秒(ms)为单位计量,默认时长为 180,000 毫秒。 |
|
data.event_subscriptions |
Array |
可选 |
订阅的下行事件的事件类型列表。 |
|
data.chat_config |
Object |
必选 |
聊天配置信息。 |
|
data.chat_config.meta_data |
Map<String, String> |
必选 |
附加信息,通常用于封装一些业务相关的字段。查看对话消息详情时,系统会透传此附加信息。自定义键值对,应指定为 Map 对象格式。长度为 16 对键值对,其中键(key)的长度范围为 1~64 个字符,值(value)的长度范围为 1~512 个字符。 |
|
data.chat_config.custom_variables |
Map<String, String> |
必选 |
智能体中定义的变量。在智能体 prompt 中设置变量 {{key}} 后,可以通过该参数传入变量值,同时支持 Jinja2 语法。变量名只支持英文字母和下划线。 |
|
data.chat_config.extra_params |
Map<String, String> |
必选 |
附加参数,通常用于特殊场景下指定一些必要参数供模型判断,例如指定经纬度,并询问智能体此位置的天气。自定义键值对格式,其中键(key)仅支持设置为:
|
|
data.chat_config.plugin_interrupt_mode |
String |
必选 |
端插件执行模式,可选值有
|
|
data.chat_config.allow_voice_interrupt |
Boolean |
可选 |
是否打开语音打断功能,默认为 |
|
data.chat_config.interrupt_config |
Object |
可选 |
语音打断配置,仅在 allow_voice_interrupt 为 |
|
data.chat_config.interrupt_config.mode |
String |
必选 |
语音打断模式,可选值有
|
|
data.chat_config.interrupt_config.keywords |
Array |
可选 |
关键词列表,每个关键词长度不超过8个字,最多10个关键词,仅在 |
|
data.turn_detection |
Object |
可选 |
声音检测配置。 |
|
data.turn_detection.type |
String |
可选 |
语音检测模式,默认为
详细的检测逻辑请参见如何设置扣子的语音检测模式?。 |
|
data.turn_detection.silence_duration_ms |
Integer |
可选 |
|
|
data.turn_detection.semantic_vad_config |
Object |
可选 |
|
|
data.turn_detection.semantic_vad_config.silence_threshold_ms |
Integer |
可选 |
当用户暂停说话时,持续静音多久后,触发语义判停检测。单位为 ms。默认为 300ms。 |
|
data.turn_detection.semantic_vad_config.semantic_unfinished_wait_time_ms |
Integer |
可选 |
当语义检测判断该语句未结束时,持续静音多久后,扣子编程认定语音结束。单位为 ms。默认为 500ms。 |
|
data.asr_config.enable_itn |
Boolean |
可选 |
将语音转为文本时,是否开启文本规范化(ITN)处理,将识别结果转换为更符合书面表达习惯的格式以提升可读性。默认为
|
|
data.asr_config.enable_punc |
Boolean |
可选 |
将语音转为文本时,是否给文本加上标点符号。默认为 |
|
data.asr_config.enable_ddc |
Boolean |
可选 |
将语音转为文本时,是否启用顺滑,默认为
|
|
data.asr_config.enable_nostream |
Boolean |
可选 |
当前是否开启二次识别模式,枚举值:
|
|
data.asr_config.enable_emotion |
Boolean |
可选 |
当前是否开启说话人情绪识别功能,枚举值:
支持的情绪标签包括:
|
|
data.asr_config.enable_gender |
Boolean |
可选 |
当前是否开启说话人性别识别功能,枚举值:
|
|
data.asr_config.sensitive_words_filter |
Object |
可选 |
当前敏感词过滤功能的配置状态,支持以下 3 种过滤方式:
|
|
data.asr_config.sensitive_words_filter.system_reserved_filter |
Boolean |
可选 |
当前是否启用系统自带敏感词过滤(匹配到的敏感词替换为
|
|
data.asr_config.sensitive_words_filter.filter_with_empty |
Array |
可选 |
自定义的需替换为空的敏感词列表。 |
|
data.asr_config.sensitive_words_filter.filter_with_signed |
Array |
可选 |
自定义的需替换为 |
|
data.voice_print_config |
Array |
可选 |
声纹识别配置。 |
|
data.voice_print_config.group_id |
String |
可选 |
声纹组 ID。语音通话时,扣子编程会在该声纹组内进行查找匹配对应的声纹,当声纹匹配度高于 |
|
data.voice_print_config.score |
Integer |
可选 |
声纹匹配的命中阈值,即声音匹配度的最低标准。当声音匹配度达到或超过该阈值时,扣子编程才会认定声纹匹配成功。你可以根据应用的安全性要求进行自定义设置。如果匹配了多轮声纹,扣子编程会取相似度最高的一个。 |
|
data.voice_print_config.reuse_voice_info |
Boolean |
可选 |
当本轮对话未命中任何声纹时,是否沿用历史声纹信息。默认为
|
|
data.voice_processing_config |
Object |
可选 |
语音降噪配置。默认不启用降噪。 说明 仅扣子企业旗舰版支持该配置。 |
|
data.voice_processing_config.enable_ans |
Boolean |
可选 |
主动噪声抑制。自动识别并过滤掉背景环境中的各种噪音(如键盘声、空调声、街道嘈杂声),让说话者的声音更清晰。 |
|
data.voice_processing_config.enable_pdns |
Boolean |
可选 |
声纹降噪。专门针对特定说话人的声音进行优化,能更精准地保留目标人声。
|
|
data.voice_print_config.feature_id |
String |
可选 |
目标说话人的声纹 ID。当你选择开启 |
{
"id": "7446668538246561890",
"event_type": "session.update",
"data": {
"voice_id": "123", // 音色 ID
"speech_rate": 0, // [-50, 100]
"longest_silence_ms": 180000,
"event_subscriptions": [],
"chat_config": {
"meta_data": {
"a": "123"
},
"custom_variables": {
"a": "123"
},
"extra_params": {
"a": "123"
},
"allow_voice_interrupt": true,
"interrupt_config": {
"mode": "keyword_prefix",
"keyword": ["扣子"]
},
"plugin_interrupt_mode": "nonblocking" // 控制收到端插件执行中断信号后,没有提交端执行请求时的模型
// 端插件的执行模型,默认不阻塞,blocking/nonblocking,阻塞的场景如果不提交端执行请求就会让语音链路一直block住
},
"turn_detection": {
"type": "server_vad" // server_vad/client_vad
},
"asr_config": {
"hot_words": ["扣子"],
"enable_itn": true,
"enable_punc": true,
"enable_ddc": true
}
}
}
事件类型:conversation.created
事件说明:用户成功进房后会发送此事件,收到此事件即表明房间初始化完成。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.conversation_id |
String |
必选 |
会话 ID,整个房间的交互都会发生在此会话下。 |
|
data.prologue |
String |
必选 |
智能体的开场白。 |
事件示例:
{
"id": "7446668538246561891",
"event_type": "conversation.created",
"data": {
"conversation_id": "123",
"prologue": ""
}
}
事件类型:conversation.chat.created
事件说明:创建对话的事件,表示对话开始。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为conversation.chat.created。 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.id |
String |
必选 |
对话 ID,即对话的唯一标识。 |
|
data.conversation_id |
String |
必选 |
会话 ID,即会话的唯一标识。 |
|
data.bot_id |
String |
必选 |
要进行会话聊天的智能体 ID。 |
|
data.created_at |
Integer |
可选 |
对话创建的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.last_error |
Object |
可选 |
对话运行异常时,此字段中返回详细的错误信息,包括:
|
|
data.meta_data |
Map<String, String> |
可选 |
创建消息时的附加消息,用于传入使用方的自定义数据,获取消息时也会返回此附加消息。自定义键值对,应指定为 Map 对象格式。长度为 16 对键值对,其中键(key)的长度范围为 1~64 个字符,值(value)的长度范围为 1~512 个字符。 |
|
data.status |
String |
可选 |
对话的运行状态。取值为 created,即对话已创建。 |
|
data.usage |
Object |
可选 |
对话的 Token 使用情况。 |
|
data.usage.token_count |
Integer |
可选 |
本次对话消耗的 Token 总数,包括 input 和 output 部分的消耗。 |
|
data.usage.output_count |
Integer |
可选 |
output 部分消耗的 Token 总数。 |
|
data.usage.input_count |
Integer |
可选 |
input 部分消耗的 Token 总数。 |
事件示例:
{
"id": "7446668538246561892",
"event_type": "conversation.chat.created",
"data": {
"id": "123",
"conversation_id": "123",
"bot_id": "222",
"created_at": 1710348675,
"completed_at": null,
"last_error": null,
"meta_data": {},
"status": "created",
"usage": null
}
}
事件类型:conversation.chat.in_progress
事件说明:服务端正在处理对话。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为conversation.chat.in_progress。 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.id |
String |
必选 |
对话 ID,即对话的唯一标识。 |
|
data.conversation_id |
String |
必选 |
会话 ID,即会话的唯一标识。 |
|
data.bot_id |
String |
必选 |
要进行会话聊天的智能体 ID。 |
|
data.created_at |
Integer |
可选 |
对话创建的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.last_error |
Object |
可选 |
对话运行异常时,此字段中返回详细的错误信息,包括:
|
|
data.meta_data |
Map<String, String> |
可选 |
创建消息时的附加消息,用于传入使用方的自定义数据,获取消息时也会返回此附加消息。自定义键值对,应指定为 Map 对象格式。长度为 16 对键值对,其中键(key)的长度范围为 1~64 个字符,值(value)的长度范围为 1~512 个字符。 |
|
data.status |
String |
可选 |
对话的运行状态。取值为 in_progress,即智能体正在处理中。 |
|
data.usage |
Object |
可选 |
对话的 Token 使用情况。 |
|
data.usage.token_count |
Integer |
可选 |
本次对话消耗的 Token 总数,包括 input 和 output 部分的消耗。 |
|
data.usage.output_count |
Integer |
可选 |
output 部分消耗的 Token 总数。 |
|
data.usage.input_count |
Integer |
可选 |
input 部分消耗的 Token 总数。 |
事件示例:
{
"id": "7446668538246561892",
"event_type": "conversation.chat.in_progress",
"data": {
"id": "123",
"conversation_id": "123",
"bot_id": "222",
"created_at": 1710348675,
"completed_at": null,
"last_error": null,
"meta_data": {},
"status": "in_progress",
"usage": null
}
}
事件类型:conversation.message.delta
事件说明:增量消息,通常是 type=answer 时的增量消息。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含消息的详细信息。 |
|
data.id |
String |
必选 |
Message ID,即消息的唯一标识。 |
|
data.conversation_id |
String |
必选 |
此消息所在的会话 ID。 |
|
data.bot_id |
String |
必选 |
编写此消息的智能体 ID。此参数仅在对话产生的消息中返回。 |
|
data.chat_id |
String |
必选 |
Chat ID。此参数仅在对话产生的消息中返回。 |
|
data.meta_data |
Map<String, String> |
可选 |
创建消息时的附加消息,获取消息时也会返回此附加消息。 |
|
data.role |
String |
必选 |
发送这条消息的实体。取值: |
|
data.content |
String |
必选 |
消息的内容,支持纯文本、多模态(文本、图片、文件混合输入)、卡片等多种类型的内容。 |
|
data.content_type |
String |
必选 |
消息内容的类型,取值包括:
|
|
data.type |
String |
必选 |
消息类型。
|
事件示例:
{
"id": "event_1",
"event_type": "conversation.message.delta",
"data": {
"id": "msg_006",
"role": "assistant",
"type": "answer",
"content": "你好你好",
"content_type": "text",
"chat_id": "123",
"conversation_id": "123",
"bot_id": "222"
}
}
conversation.message.completedmessage.delta 的拼接结果,且每个消息均为 completed 状态。|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
string |
必选 |
服务端生成的唯一 ID |
|
event_type |
string |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含消息的详细信息 |
|
data.id |
string |
必选 |
Message ID,即消息的唯一标识 |
|
data.conversation_id |
string |
必选 |
此消息所在的会话 ID |
|
data.bot_id |
string |
必选 |
编写此消息的智能体ID。此参数仅在对话产生的消息中返回 |
|
data.chat_id |
string |
必选 |
Chat ID。此参数仅在对话产生的消息中返回 |
|
data.meta_data |
map<string,string> |
必选 |
创建消息时的附加消息,获取消息时也会返回此附加消息 |
|
data.role |
string |
必选 |
发送这条消息的实体。取值: |
|
data.content |
string |
必选 |
消息的内容,支持纯文本、多模态(文本、图片、文件混合输入)、卡片等多种类型的内容 |
|
data.content_type |
String |
必选 |
消息内容的类型,取值包括:
|
|
data.type |
String |
必选 |
消息类型。
|
{
"id": "event_1",
"event_type": "conversation.message.completed",
"data": {
"id": "msg_002",
"role": "assistant",
"type": "function_call",
"content": "{\"name\":\"toutiaosousuo-search\",\"arguments\":{\"cursor\":0,\"input_query\":\"今天的体育新闻\",\"plugin_id\":7281192623887548473,\"api_id\":7288907006982012986,\"plugin_type\":1}}",
"content_type": "text",
"chat_id": "123",
"conversation_id": "123",
"bot_id": "222"
}
}
conversation.chat.completed|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.id |
String |
必选 |
对话 ID,即对话的唯一标识。 |
|
data.conversation_id |
String |
必选 |
会话 ID,即会话的唯一标识。 |
|
data.bot_id |
String |
必选 |
要进行会话聊天的智能体 ID。 |
|
data.created_at |
Integer |
可选 |
对话创建的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.completed_at |
Integer |
可选 |
对话结束的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.last_error |
Object |
可选 |
对话运行异常时,此字段中返回详细的错误信息,包括:
|
|
data.meta_data |
Map<String, String> |
可选 |
创建消息时的附加消息,用于传入使用方的自定义数据,获取消息时也会返回此附加消息。自定义键值对,应指定为 Map 对象格式。长度为 16 对键值对,其中键(key)的长度范围为 1~64 个字符,值(value)的长度范围为 1~512 个字符。 |
|
data.status |
String |
可选 |
对话的运行状态。取值为 |
|
data.usage |
Object |
可选 |
对话的 Token 使用情况。 |
|
data.usage.token_count |
Integer |
可选 |
本次对话消耗的 Token 总数,包括 input 和 output 部分的消耗。 |
|
data.usage.output_count |
Integer |
可选 |
output 部分消耗的 Token 总数。 |
|
data.usage.input_count |
Integer |
可选 |
input 部分消耗的 Token 总数。 |
{
"id": "event_1",
"event_type": "conversation.chat.completed",
"data": {
"id": "123",
"chat_id": "123",
"conversation_id": "123",
"bot_id": "222",
"created_at": 1710348675,
"completed_at": 1710348675,
"last_error": null,
"meta_data": {},
"status": "completed",
"usage": {
"token_count": 3397,
"output_tokens": 1173,
"input_tokens": 2224
}
}
}
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.id |
String |
必选 |
对话 ID,即对话的唯一标识。 |
|
data.conversation_id |
String |
必选 |
会话 ID,即会话的唯一标识。 |
|
data.bot_id |
String |
必选 |
要进行会话聊天的智能体 ID。 |
|
data.created_at |
Integer |
可选 |
对话创建的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.completed_at |
Integer |
可选 |
对话完成的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.last_error |
Object |
可选 |
对话运行异常时,此字段中返回详细的错误信息,包括:
|
|
data.meta_data |
Map<String, String> |
可选 |
创建消息时的附加消息,用于传入使用方的自定义数据,获取消息时也会返回此附加消息。自定义键值对,应指定为 Map 对象格式。长度为 16 对键值对,其中键(key)的长度范围为 1~64 个字符,值(value)的长度范围为 1~512 个字符。 |
|
data.status |
String |
可选 |
对话的运行状态。取值为 |
|
data.usage |
Object |
可选 |
对话的 Token 使用情况。 |
|
data.usage.token_count |
Integer |
可选 |
本次对话消耗的 Token 总数,包括 input 和 output 部分的消耗。 |
|
data.usage.output_count |
Integer |
可选 |
output 部分消耗的 Token 总数。 |
|
data.usage.input_count |
Integer |
可选 |
input 部分消耗的 Token 总数。 |
|
data.required_action |
Object |
可选 |
需要执行的额外操作。 |
|
data.required_action.type |
String |
可选 |
额外操作的类型,枚举值为 |
|
data.required_action.submit_tool_outputs |
Object |
可选 |
需要提交的结果详情,通过提交接口上传,并可以继续聊天。 |
|
data.required_action.submit_tool_outputs.tool_outputs |
Array |
可选 |
具体上报信息详情。 |
|
data.required_action.submit_tool_outputs.tool_outputs[].id |
String |
可选 |
上报运行结果的 ID。 |
|
data.required_action.submit_tool_outputs.tool_outputs[].type |
String |
可选 |
工具类型,枚举值包括:
|
|
data.required_action.submit_tool_outputs.tool_outputs[].function |
Object |
可选 |
执行方法 function 的定义。 |
|
data.required_action.submit_tool_outputs.tool_outputs[].function.name |
String |
可选 |
方法名。 |
|
data.required_action.submit_tool_outputs.tool_outputs[].function.arguments |
String |
可选 |
方法参数。 |
{
"id": "7446668538246561821",
"event_type": "conversation.chat.requires_action",
"data": {
"id": "7434369946098090003",
"conversation_id": "7434368393420996671",
"bot_id": "7379165428687536166",
"created_at": 1730949143,
"completed_at": 1730949146,
"last_error": {
"code": 0,
"msg": ""
},
"status": "requires_action",
"usage": {
"token_count": 0,
"output_count": 0,
"input_count": 0
},
"required_action": {
"type": "submit_tool_outputs",
"submit_tool_outputs": {
"tool_calls": [
{
"id": "BUJJS0JKQ0dHR0VeFkNCQF5HEEZBXhJFEUJeEhFCRkESSktDREISSUI=",
"type": "function",
"function": {
"name": "get_current_temperature",
"arguments":"{\'location\":\'深圳\'}"
},
"require_info": null
}
]
}
},
"section_id": "7434368393420996671"
}
}
conversation.chat.failed|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含对话的详细信息。 |
|
data.id |
String |
必选 |
对话 ID,即对话的唯一标识。 |
|
data.conversation_id |
String |
必选 |
会话 ID,即会话的唯一标识。 |
|
data.bot_id |
String |
必选 |
要进行会话聊天的智能体 ID。 |
|
data.created_at |
Integer |
可选 |
对话创建的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.failed_at |
Integer |
可选 |
对话失败的时间。格式为 10 位的 Unixtime 时间戳,单位为秒。 |
|
data.last_error |
Object |
可选 |
对话运行异常时,此字段中返回详细的错误信息,包括:Code:错误码。Integer 类型。0 表示成功,其他值表示失败。Msg:错误信息。String 类型。 |
|
data.meta_data |
Map<String, String> |
可选 |
创建消息时的附加消息,用于传入使用方的自定义数据,获取消息时也会返回此附加消息。自定义键值对,应指定为 Map 对象格式。长度为 16 对键值对,其中键(key)的长度范围为 1~64 个字符,值(value)的长度范围为 1~512 个字符。 |
|
data.status |
String |
可选 |
对话的运行状态。取值为 |
|
data.usage |
Object |
可选 |
对话的 Token 使用情况。 |
|
data.usage.token_count |
Integer |
可选 |
本次对话消耗的 Token 总数,包括 input 和 output 部分的消耗。 |
|
data.usage.output_count |
Integer |
可选 |
output 部分消耗的 Token 总数。 |
|
data.usage.input_count |
Integer |
可选 |
input 部分消耗的 Token 总数。 |
{
"id": "event_1",
"event_type": "conversation.chat.failed",
"data": {
"id": "123",
"chat_id": "123",
"conversation_id": "123",
"bot_id": "222",
"created_at": 1710348675,
"failed_at": 1710348675,
"last_error": {
"code": 1,
"msg": "发生异常"
},
"meta_data": {},
"status": "failed",
"usage": {
"token_count": 3397,
"output_tokens": 1173,
"input_tokens": 2224
}
}
}
事件类型:audio.user.speech_started
事件说明:此事件表示服务端识别到用户正在说话。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
事件示例:
{
"id": "event_1",
"event_type": "audio.user.speech_started",
"data": {}
}
audio.user.speech_stopped|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
{
"id": "event_1",
"event_type": "audio.user.speech_stopped",
"data": {}
}
事件类型:audio.agent.speech_started
事件说明:此事件表示智能体正在说话。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
事件示例:
{
"id": "event_1",
"event_type": "audio.agent.speech_started",
"data": {}
}
事件类型:audio.agent.speech_stopped
事件说明:此事件表示智能体已停止说话。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
事件示例:
{
"id": "event_1",
"event_type": "audio.agent.speech_stopped",
"data": {}
}
事件类型:session.pre_answer.updated
事件说明:房间内的安抚配置更新成功,返回房间内最新的安抚配置。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含安抚策略的详细信息。 |
|
data.pre_answer |
Object |
必选 |
安抚策略配置。 |
|
data.pre_answer.type |
String |
必选 |
安抚策略类型,可选类型有:
|
|
data.pre_answer.file_id |
String |
可选 |
仅在 |
|
data.pre_answer.pre_answer_list |
Array |
可选 |
仅在 |
|
data.pre_answer.bot_id |
String |
可选 |
仅在 |
|
data.trigger |
Object |
可选 |
安抚策略的触发配置。 |
|
data.trigger.type |
String |
必选 |
安抚策略的触发类型,可选类型有:
|
|
data.trigger.time_after |
Integer |
可选 |
仅在 |
事件示例:
{
"id": "event_1",
"event_type": "session.pre_answer.updated",
"data": {
"pre_answer": {
"type": "bot",
"file_id": "",
"pre_answer_list": [""],
"bot_id": "23452423"
},
"trigger": {
"type": "mandatory",
"time_after": 1500
}
}
}
事件类型:conversation.chat.pre_answer
事件说明:此事件表明触发了安抚策略。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含安抚语的详细信息。 |
|
data.content |
String |
可选 |
安抚语的内容。若选择 |
|
data.usage |
Object |
可选 |
本次安抚语消耗的 Token 信息,仅在使用 |
|
data.usage.token_count |
Integer |
可选 |
本次安抚语消耗的 Token 总数,包括 input 和 output 部分的消耗。 |
|
data.usage.output_count |
Integer |
可选 |
output 部分消耗的 Token 总数。 |
|
data.usage.input_count |
Integer |
可选 |
input 部分消耗的 Token 总数。 |
事件示例:
{
"id": "event_1",
"event_type": "conversation.chat.pre_answer",
"data": {
"content": "",
"usage": {
"token_count": 0,
"output_tokens": 0,
"input_tokens": 0
}
}
}
事件类型:conversation.audio_transcript.delta
事件说明:用户语音识别的中间值,每次返回都是全量文本。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含语音识别的中间值。 |
|
data.content |
String |
必选 |
语音识别的中间值。 |
事件示例:
{
"id": "event_1",
"event_type": "conversation.audio_transcript.delta",
"data": {
"content": "今天的"
}
}
mode.updated|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含房间模式和对话设置。 |
|
data.mode |
String |
必选 |
房间模式。 |
|
data.mode.chat |
Object |
可选 |
对话模式下的设置,仅当 |
|
data.mode.chat.user_language |
String |
可选 |
用户说话的语种,默认为
|
{
"id": "",
"event_type": "mode.updated",
"data": {
"mode": "chat",
"chat": {
"user_language": "common"
}
}
}
事件类型:input_audio_buffer.started
事件说明:表示服务端成功处理用户开始说话事件。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
string |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
string |
必选 |
固定为 input_audio_buffer.started。 |
事件示例:
{
"id": "7446668538246561827",
"event_type": "input_audio_buffer.start",
"data": {}
}
事件类型:input_audio_buffer.completed
事件说明:表示服务端成功处理用户结束说话事件。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
string |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
string |
必选 |
固定为 input_audio_buffer.completed。 |
事件示例:
{
"id": "7446668538246561827",
"event_type": "input_audio_buffer.completed",
"data": {}
}
事件类型:error
事件说明:对话过程中的错误事件。
事件结构:
|
参数 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
id |
String |
必选 |
服务端生成的唯一 ID。 |
|
event_type |
String |
必选 |
固定为 |
|
data |
Object |
必选 |
事件数据,包含错误的详细信息。 |
|
data.code |
Integer |
必选 |
错误码。错误码列表请参见Realtime 事件错误码。 |
|
data.msg |
String |
必选 |
错误信息。 |
|
data.detail |
Object |
必选 |
错误的详细信息。 |
|
data.detail.logid |
String |
必选 |
服务端日志 ID。 |
事件示例:
{
"id": "event_1",
"event_type": "error",
"data": {
"code": 1,
"msg": "发生异常",
"detail": {
"logid": ""
}
}
}