diff --git a/qwen3-tts-backend/core/llm_service.py b/qwen3-tts-backend/core/llm_service.py index 9bf1800..7ca0a3e 100644 --- a/qwen3-tts-backend/core/llm_service.py +++ b/qwen3-tts-backend/core/llm_service.py @@ -218,13 +218,15 @@ class LLMService: "你是一个专业的有声书制作助手。请将给定的章节文本解析为对话片段列表。" f"已知角色列表(必须从中选择):{names_str}。" "所有非对话的叙述文字归属于narrator角色。\n" - "同时根据语境为每个片段判断情绪,可选情绪及对应强度如下(必须严格使用以下值):\n" - "开心(emo_alpha=0.6)、愤怒(emo_alpha=0.15)、悲伤(emo_alpha=0.4)、恐惧(emo_alpha=0.4)、" - "厌恶(emo_alpha=0.6)、低沉(emo_alpha=0.6)、惊讶(emo_alpha=0.3)、中性(emo_alpha=0.5)。\n" - "narrator旁白及情绪不明显的片段,emo_text设为\"\",emo_alpha设为0.5。\n" + "同时根据语境为每个片段判断情绪类型和强度(emo_alpha)。\n" + "可选情绪:开心、愤怒、悲伤、恐惧、厌恶、低沉、惊讶、中性。\n" + "强度参考值(仅供参考,请根据实际语境自行判断):开心≈0.4、愤怒≈0.08、悲伤≈0.1、恐惧≈0.1、厌恶≈0.4、低沉≈0.4、惊讶≈0.3、中性≈0.3。\n" + "强度建议控制在0.5以下,情绪越激烈越应克制,强烈情绪不超过0.45。\n" + "同一角色的连续台词,情绪应尽量保持一致或仅有微弱变化,避免情绪在相邻片段间跳跃。\n" + "narrator旁白及情绪不明显的片段,emo_text设为\"\",emo_alpha设为0.3。\n" "只输出JSON数组,不要有其他文字,格式如下:\n" - '[{"character": "narrator", "text": "叙述文字", "emo_text": "", "emo_alpha": 0.5}, ' - '{"character": "角色名", "text": "对话内容", "emo_text": "开心", "emo_alpha": 0.6}, ...]' + '[{"character": "narrator", "text": "叙述文字", "emo_text": "", "emo_alpha": 0.3}, ' + '{"character": "角色名", "text": "对话内容", "emo_text": "开心", "emo_alpha": 0.4}, ...]' ) user_message = f"请解析以下章节文本:\n\n{chapter_text}" result = await self.stream_chat_json(system_prompt, user_message, on_token, max_tokens=16384, usage_callback=usage_callback)