better:可选是否加入reaon到replyer

pull/1359/head
SengokuCola 2025-11-16 13:00:14 +08:00
parent 68916d1fcb
commit e9cd9c0bff
6 changed files with 20 additions and 14 deletions

View File

@ -332,7 +332,8 @@ class HeartFChatting:
self.questioned = False
# 重置连续 no_reply 计数
self.consecutive_no_reply_count = 0
reason = "有人提到了你,进行回复"
reason = ""
await database_api.store_action_info(
chat_stream=self.chat_stream,

View File

@ -56,7 +56,6 @@ class DefaultReplyer:
self.chat_stream = chat_stream
self.is_group_chat, self.chat_target_info = get_chat_type_and_target_info(self.chat_stream.stream_id)
self.heart_fc_sender = UniversalMessageSender()
# self.memory_activator = MemoryActivator()
from src.plugin_system.core.tool_use import ToolExecutor # 延迟导入ToolExecutor不然会循环依赖
@ -848,7 +847,7 @@ class DefaultReplyer:
# 从 chosen_actions 中提取 planner 的整体思考理由
planner_reasoning = ""
if reply_reason:
if global_config.chat.include_planner_reasoning and reply_reason:
# 如果没有 chosen_actions使用 reply_reason 作为备选
planner_reasoning = f"你的想法是:{reply_reason}"

View File

@ -768,7 +768,7 @@ class PrivateReplyer:
# 从 chosen_actions 中提取 planner 的整体思考理由
planner_reasoning = ""
if reply_reason:
if global_config.chat.include_planner_reasoning and reply_reason:
# 如果没有 chosen_actions使用 reply_reason 作为备选
planner_reasoning = f"你的想法是:{reply_reason}"

View File

@ -117,6 +117,9 @@ class ChatConfig(ConfigBase):
时间区间支持跨夜例如 "23:00-02:00"
"""
include_planner_reasoning: bool = False
"""是否将planner推理加入replyer默认关闭不加入"""
def _parse_stream_config_to_chat_id(self, stream_config_str: str) -> Optional[str]:
"""与 ChatStream.get_stream_id 一致地从 "platform:id:type" 生成 chat_id。"""
try:

View File

@ -16,11 +16,10 @@ logger = get_logger("expression_selector")
def init_prompt():
expression_evaluation_prompt = """
以下是正在进行的聊天内容
{chat_observe_info}
expression_evaluation_prompt = """{chat_observe_info}
你的名字是{bot_name}{target_message}
{reply_reason_block}
以下是可选的表达情境
{all_situations}
@ -31,7 +30,6 @@ def init_prompt():
2.话题类型日常技术游戏情感等
3.情境与当前语境的匹配度
{target_message_extra_block}
{reply_reason_block}
请以JSON格式输出只需要输出选中的情境编号
例如
@ -234,22 +232,25 @@ class ExpressionSelector:
all_situations_str = "\n".join(all_situations)
if target_message:
target_message_str = f",现在你想要对上面的这条消息进行恢复:“{target_message}"
target_message_str = f",现在你想要对这条消息进行回复:“{target_message}"
target_message_extra_block = "4.考虑你要回复的目标消息"
else:
target_message_str = ""
target_message_extra_block = ""
chat_context = f"以下是正在进行的聊天内容:{chat_info}"
# 构建reply_reason块
if reply_reason:
reply_reason_block = f"5.考虑你的回复理由:{reply_reason}"
reply_reason_block = f"你的回复理由是:{reply_reason}"
chat_context = ""
else:
reply_reason_block = ""
# 3. 构建prompt只包含情境不包含完整的表达方式
prompt = (await global_prompt_manager.get_prompt_async("expression_evaluation_prompt")).format(
bot_name=global_config.bot.nickname,
chat_observe_info=chat_info,
chat_observe_info=chat_context,
all_situations=all_situations_str,
max_num=max_num,
target_message=target_message_str,
@ -261,7 +262,7 @@ class ExpressionSelector:
content, (reasoning_content, model_name, _) = await self.llm_model.generate_response_async(prompt=prompt)
print(prompt)
# print(prompt)
if not content:
logger.warning("LLM返回空结果")

View File

@ -1,5 +1,5 @@
[inner]
version = "6.21.3"
version = "6.21.4"
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
#如果你想要修改配置文件请递增version的值
@ -101,6 +101,8 @@ talk_value_rules = [
{ target = "qq:114514:private", time = "00:00-23:59", value = 0.3 },
]
include_planner_reasoning = false # 是否将planner推理加入replyer默认关闭不加入
[memory]
max_agent_iterations = 5 # 记忆思考深度最低为1不深入思考