From 3117aa58b9fa3cdd27a4ac654db6e931af5ea9f8 Mon Sep 17 00:00:00 2001 From: tt-P607 <68868379+tt-P607@users.noreply.github.com> Date: Mon, 25 Aug 2025 19:59:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E4=BC=98=E5=8C=96=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E5=88=86=E6=9E=90=E5=B9=B6=E5=BC=95=E5=85=A5=E5=8F=AF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=9A=84=E6=8F=90=E7=A4=BA=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将视频分析的提示词从硬编码字符串修改为从全局配置中读取,提高了灵活性和可维护性。同时,在生成回复时注入了新的引导语,使AI能以第一人称分享观后感,优化了用户体验。 --- src/chat/message_receive/message.py | 8 ++++---- src/chat/replyer/default_generator.py | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/chat/message_receive/message.py b/src/chat/message_receive/message.py index 0e2e94fdc..ffbf846f3 100644 --- a/src/chat/message_receive/message.py +++ b/src/chat/message_receive/message.py @@ -215,9 +215,9 @@ class MessageRecv(Message): # 使用video analyzer分析视频 video_analyzer = get_video_analyzer() result = await video_analyzer.analyze_video_from_bytes( - video_bytes, + video_bytes, filename, - prompt="请详细分析这个视频的内容,包括场景、人物、动作、情感等" + prompt=global_config.video_analysis.batch_analysis_prompt ) logger.info(f"视频分析结果: {result}") @@ -390,9 +390,9 @@ class MessageRecvS4U(MessageRecv): # 使用video analyzer分析视频 video_analyzer = get_video_analyzer() result = await video_analyzer.analyze_video_from_bytes( - video_bytes, + video_bytes, filename, - prompt="请详细分析这个视频的内容,包括场景、人物、动作、情感等" + prompt=global_config.video_analysis.batch_analysis_prompt ) logger.info(f"视频分析结果: {result}") diff --git a/src/chat/replyer/default_generator.py b/src/chat/replyer/default_generator.py index 909c58338..7f4ab9321 100644 --- a/src/chat/replyer/default_generator.py +++ b/src/chat/replyer/default_generator.py @@ -1010,6 +1010,11 @@ class DefaultReplyer: prompt_info = results_dict["prompt_info"] cross_context_block = results_dict["cross_context"] + # 检查是否为视频分析结果,并注入引导语 + if target and ("[视频内容]" in target or "好的,我将根据您提供的" in target): + video_prompt_injection = "\n请注意,以上内容是你刚刚观看的视频,请以第一人称分享你的观后感,而不是在分析一份报告。" + memory_block += video_prompt_injection + # 检查是否为视频分析结果,并注入引导语 if target and ("[视频内容]" in target or "好的,我将根据您提供的" in target): video_prompt_injection = "\n请注意,以上内容是你刚刚观看的视频,请以第一人称分享你的观后感,而不是在分析一份报告。"