feat:基于不同心流单独的发送器实例,反正能跑,但我也不知道能不能跑
睡觉
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import random
|
||||
from typing import Optional
|
||||
from src.heart_flow.sub_heartflow import SubHeartflow
|
||||
from ...config.config import global_config
|
||||
from ..chat.chat_stream import chat_manager
|
||||
from src.common.logger import get_module_logger
|
||||
@@ -82,23 +81,20 @@ class PromptBuilder:
|
||||
|
||||
|
||||
async def build_prompt(
|
||||
self, build_mode,reason, message_txt: str, sender_name: str = "某人",subheartflow: SubHeartflow =None
|
||||
self, build_mode,reason,current_mind_info, message_txt: str, sender_name: str = "某人",chat_stream=None
|
||||
) -> tuple[str, str]:
|
||||
|
||||
chat_stream = chat_manager.get_stream(subheartflow.subheartflow_id)
|
||||
|
||||
|
||||
if build_mode == "normal":
|
||||
return await self._build_prompt_normal(chat_stream, message_txt, sender_name, subheartflow)
|
||||
return await self._build_prompt_normal(chat_stream, message_txt, sender_name)
|
||||
|
||||
elif build_mode == "focus":
|
||||
return await self._build_prompt_focus(reason, chat_stream, message_txt, sender_name, subheartflow)
|
||||
return await self._build_prompt_focus(reason, current_mind_info, chat_stream, message_txt, sender_name)
|
||||
|
||||
|
||||
|
||||
async def _build_prompt_focus(
|
||||
self, reason, chat_stream, message_txt: str, sender_name: str = "某人", subheartflow: SubHeartflow =None
|
||||
self, reason, current_mind_info, chat_stream, message_txt: str, sender_name: str = "某人"
|
||||
) -> tuple[str, str]:
|
||||
current_mind_info = subheartflow.current_mind
|
||||
|
||||
individuality = Individuality.get_instance()
|
||||
prompt_personality = individuality.get_prompt(type="personality", x_person=2, level=1)
|
||||
@@ -107,7 +103,6 @@ class PromptBuilder:
|
||||
# 日程构建
|
||||
# schedule_prompt = f'''你现在正在做的事情是:{bot_schedule.get_current_num_task(num = 1,time_info = False)}'''
|
||||
|
||||
chat_stream = chat_manager.get_stream(subheartflow.subheartflow_id)
|
||||
if chat_stream.group_info:
|
||||
chat_in_group = True
|
||||
else:
|
||||
@@ -186,7 +181,7 @@ class PromptBuilder:
|
||||
|
||||
|
||||
async def _build_prompt_normal(
|
||||
self, chat_stream, message_txt: str, sender_name: str = "某人", subheartflow=None
|
||||
self, chat_stream, message_txt: str, sender_name: str = "某人"
|
||||
) -> tuple[str, str]:
|
||||
# 开始构建prompt
|
||||
prompt_personality = "你"
|
||||
@@ -209,7 +204,7 @@ class PromptBuilder:
|
||||
(chat_stream.user_info.platform, chat_stream.user_info.user_id, chat_stream.user_info.user_nickname)
|
||||
]
|
||||
who_chat_in_group += get_recent_group_speaker(
|
||||
subheartflow.subheartflow_id,
|
||||
chat_stream.stream_id,
|
||||
(chat_stream.user_info.platform, chat_stream.user_info.user_id),
|
||||
limit=global_config.MAX_CONTEXT_SIZE,
|
||||
)
|
||||
@@ -249,7 +244,6 @@ class PromptBuilder:
|
||||
# schedule_prompt = f"""你现在正在做的事情是:{bot_schedule.get_current_num_task(num=1, time_info=False)}"""
|
||||
|
||||
# 获取聊天上下文
|
||||
chat_stream = chat_manager.get_stream(subheartflow.subheartflow_id)
|
||||
if chat_stream.group_info:
|
||||
chat_in_group = True
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user