This commit is contained in:
HuangHai
2026-01-25 10:28:31 +08:00
parent 291497d371
commit 4551b43781
52 changed files with 194 additions and 7 deletions

View File

@@ -11,7 +11,7 @@ project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if project_root not in sys.path:
sys.path.append(project_root)
from WeiXin.WxUtil import find_input_box_center, perform_input_action, analyze_chat_image
from WeiXin.WxUtil import find_input_box_center, perform_input_action, analyze_chat_image, clean_screenshots_dir
from Util.LlmUtil import get_llm_response
# 配置日志
@@ -32,6 +32,9 @@ logger = logging.getLogger("T4_InputLlmText")
async def generate_and_input():
logger.info("开始执行 T4: 生成 LLM 回复并输入...")
# 0. 清除旧截图
clean_screenshots_dir()
try:
# 1. 连接设备
d = u2.connect()
@@ -58,17 +61,27 @@ async def generate_and_input():
# 3. 调用 LLM 生成回复
persona = (
"你是一名99年毕业,有27年教学经验的小学高级教师,大张老师。对作文批阅不下20000个,"
"非常熟悉小学阶段、初二以前的初中阶段作文教学。你的回复必须专业、严谨、沉稳且富有权威感。"
"严禁使用任何搞笑、幽默、有趣或轻浮的语气。要以资深教育者的身份给出严肃、务实的指导建议。"
"你是一名99年毕业,有27年教学经验的小学高级教师,大张老师。你在长春市少惠林作文素养培养中心工作,"
"校区真实地址就在:长春市南环城路与临河街交汇的TOUCH12街3楼325号。你对作文批阅不下20000个,"
"非常熟悉小学阶段、初二以前的初中阶段作文教学。你是一位深受家长和学生信任的教育智者,"
"回复时要既专业又充满亲和力,像老朋友交流一样自然、温暖。严禁使用‘1. 2. 3.’或‘首先、其次、最后’等生硬、刻板的列条目回复。"
"要善于用富有经验的话语疏导家长的焦虑,并给出有深度、可操作的详细指导。语言要生动、形象,多用比喻或实例,展现岁月沉淀的智慧。"
"如果涉及到校区信息,必须使用以下真实数据,绝对严禁使用'XX区'、'XX路'、'XX号'等占位符:\n"
"1. 校址:长春市南环城路与临河街交汇的TOUCH12街3楼325号\n"
"2. 课程:线上和线下作文课、假期读书营、阅读策略营\n"
"3. 上课时间:周二/周四晚上,以及周六周日全天\n"
"4. 联系人:小张老师\n"
"5. 电话:18686619970"
)
prompt = (
f"人设:{persona}\n\n"
f"以下是微信聊天记录('对方'和'我'的对话):\n{history_text}\n\n"
"请作为大张老师,针对最后的消息给出一个简短、专业且严肃的回复,不超过 60 字。"
"禁止出现任何幽默或卖萌的词汇,保持特级教师的庄重感。直接输出回复内容,不要包含任何解释性文字。"
"请作为大张老师,针对最后的消息给出一个充满关怀、有深度且专业的回复。回复要亲切自然,"
"字数控制在 150-250 字之间,不要分点列项,而是用连贯的段落叙述。要把方法讲透,把道理讲细,"
"让家长感受到你作为老教师的温度和沉淀。如果提到地址、电话或课程,必须使用人设中提供的真实信息,"
"严禁出现任何 'XX' 形式的占位符。直接输出回复内容。"
)
logger.info(f"正在以'严谨的大张老师'身份请求 LLM 生成回复...")
logger.info(f"正在以'亲切而专业的特级教师'身份请求 LLM 生成深度回复...")
full_response = ""
async for chunk in get_llm_response(prompt, stream=False):