feat:可自定义planner行为

This commit is contained in:
SengokuCola
2025-09-12 00:15:17 +08:00
parent 298a74da64
commit fb587f6475
5 changed files with 24 additions and 24 deletions

View File

@@ -39,6 +39,7 @@ def init_prompt():
"""
{time_block}
{name_block}
你的兴趣是:{interest}
{chat_context_description},以下是具体的聊天内容
**聊天内容**
{chat_content_block}
@@ -76,13 +77,8 @@ no_reply_until_call
请选择合适的action并说明触发action的消息id和选择该action的原因。消息id格式:m+数字
先输出你的选择思考理由再输出你选择的action理由是一段平文本不要分点精简。
**动作选择要求**
请你根据聊天内容用户的最新消息选择合适的动作:
1.思考**所有**的可用的action中的**每个动作**是否符合当下条件,如果动作使用调节符合当下条件就使用
2.如果相同的内容已经被执行,请不要重复执行
3.你的兴趣是:{interest}
4.请控制你的发言频率,不要太过频繁的发言
5.如果有人对你感到厌烦,请减少回复
6.如果有人对你进行攻击,或者情绪激动,请你以合适的方法应对
请你根据聊天内容,用户的最新消息和以下标准选择合适的动作:
{plan_style}
{moderation_prompt}
请选择所有符合使用要求的action动作用json格式输出如果输出多个json每个json都要单独用```json包裹你可以重复使用同一个动作或不同动作:
@@ -349,6 +345,7 @@ class ActionPlanner:
moderation_prompt=moderation_prompt_block,
name_block=name_block,
interest=interest,
plan_style=global_config.personality.plan_style,
)
return prompt, message_id_list

View File

@@ -270,7 +270,7 @@ class ImageManager:
# 调用AI获取描述
image_format = Image.open(io.BytesIO(image_bytes)).format.lower() # type: ignore
prompt = global_config.custom_prompt.image_prompt
prompt = global_config.personality.visual_style
logger.info(f"[VLM调用] 为图片生成新描述 (Hash: {image_hash[:8]}...)")
description, _ = await self.vlm.generate_response_for_image(
prompt, image_base64, image_format, temperature=0.4, max_tokens=300
@@ -566,7 +566,7 @@ class ImageManager:
image_format = Image.open(io.BytesIO(image_bytes)).format.lower() # type: ignore
# 构建prompt
prompt = global_config.custom_prompt.image_prompt
prompt = global_config.personality.visual_style
# 获取VLM描述
description, _ = await self.vlm.generate_response_for_image(

View File

@@ -32,7 +32,6 @@ from src.config.official_configs import (
ToolConfig,
VoiceConfig,
DebugConfig,
CustomPromptConfig,
)
from .api_ada_configs import (
@@ -357,7 +356,6 @@ class Config(ConfigBase):
lpmm_knowledge: LPMMKnowledgeConfig
tool: ToolConfig
debug: DebugConfig
custom_prompt: CustomPromptConfig
voice: VoiceConfig

View File

@@ -46,6 +46,12 @@ class PersonalityConfig(ConfigBase):
interest: str = ""
"""兴趣"""
plan_style: str = ""
"""说话规则,行为风格"""
visual_style: str = ""
"""图片提示词"""
@dataclass
@@ -385,14 +391,6 @@ class KeywordReactionConfig(ConfigBase):
raise ValueError(f"规则必须是KeywordRuleConfig类型而不是{type(rule).__name__}")
@dataclass
class CustomPromptConfig(ConfigBase):
"""自定义提示词配置类"""
image_prompt: str = ""
"""图片提示词"""
@dataclass
class ResponsePostProcessConfig(ConfigBase):
"""回复后处理配置类"""