情感识别最佳实践文档
更新时间:2026-01-16
背景
大模型实时互动,支持在互动过程中识别用户输入的情感,并支持将情感信息回调给SDK,或者送入大模型用于实现更好的情感互动效果,还支持将情感信息作为控制TTS合成语音的参数,以实现全方位的情感交互效果。
数据结构和内置信息
EmotionRecognitionConfig 结构
| 参数名称 | 参数类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| enable | boolean | 是 | 是否开启情感识别 |
| emotionList | String 数组 | 否 | 自定义情感列表,不设置时系统有一组内置情感列表 |
| injectToLLM | boolean | 否 | 是否将情感信息注入到大模型交互阶段 |
| ttsWithEmotion | boolean | 否 | TTS 语音合成时是否使用情感信息 |
内置情感列表
系统内置情感列表包含如下情感元素,其中中性元素说明用户输入中无明显情感偏向。
JSON
1[
2 "中性",
3 "快乐",
4 "满意",
5 "兴奋",
6 "喜爱",
7 "幸福",
8 "沮丧",
9 "悲伤",
10 "愤怒",
11 "烦恼",
12 "害怕",
13 "厌恶",
14 "失望",
15 "不满",
16 "惊讶",
17 "信任",
18 "期待",
19 "希望",
20 "疲惫",
21 "困惑",
22 "烦躁",
23 "紧张",
24 "自责",
25 "轻松",
26 "乐观",
27 "担心"
28]
情感信息结构
系统识别的情感信息可能会包含多个元素(最多3个),多个元素之间使用,间隔。如果未提取情感元素、或者未提取到情感列表内的元素,情感信息为空字符串。系统识别出的情感信息会通过SDK回调返回给客户端,或者是注入到大模型交互阶段。
情感信息示例:
中性疲惫,希望快乐,满意,兴奋
情感识别开启和使用
情感识别开启
通过在创建智能体接口中设置字段 emotionRecognitionCfg(类型 EmotionRecognitionConfig) 用于开启情感识别,并进行高级配置。
配置 emotionRecognitionCfg={"enable":true},即可打开情感识别功能。
SDK情感回调
SDK在返回用户端ASR结果,有一个附加值包含情感信息(ASRExtInfo.emotion);
| SDK | 参数名称 | 链接地址 |
|---|---|---|
| Android SDK | void onUserAsrSubtitle(String text, boolean isFinal, Constants.ASRExtInfo info) info 包含情感信息 | 链接 |
| iOS SDK | - (void) onUserAsrSubtitle:(NSString )text isFinal:(BOOL)isFinal ext:(AgentAsrExtInfo _Nullable)info; info 包含情感信息 | 链接 |
| RTOS SDK | void (onUserAsrSubtitle)(const char text, size_t text_len, bool final, const ASRExtInfo* info); info 包含情感信息 | 链接 |
自定义情感列表
客户可以根据自己的业务需要,自定义要识别的情感列表。
自定义情感列表的 emotionRecognitionCfg 字段示例:
JSON
1{
2 "enable": true,
3 "emotionList": ["中性", "快乐", "满意", "悲伤", "愤怒","休闲", "骄傲", "不以为然", "恍然大悟"]
4}
情感信息注入到大模型交互阶段
如果客户需要大模型依据用户情感做出不同效果的回应,可以通过配置 emotionRecognitionCfg.injectToLLM=true,配置后系统会将识别出的用户情感信息注入到角色Prompt的用户设定中,客户可以根据需求在角色Prompt中增加相关情感交互逻辑。
开启情感信息注入到大模型的 emotionRecognitionCfg 字段示例:
JSON
1{
2 "enable": true,
3 "injectToLLM": true
4}
角色Prompt情感交互逻辑示例:
Plain Text
1请结合“用户设定”中“情感”信息回答用户问题:
2(1) 情感未提供或空:直接回答,保持中立。
3(2) 情感中性或不明确:直接回答;若问题表达负面,用支持性语言疏导。
4(3) 情感正面:积极回应,强化情感(如鼓励语句)。
5(4) 情感负面:用1-2句安全隐喻疏导(如自然故事,须相关不偏移),再回答。
6全局规则:检测自杀/暴力关键词,立即提供心理热线(忽略情感)。
7安全优先:所有响应中立、支持性;避免隐喻强化负面;情感和问题冲突时以用户问题内容为准。
