refactor(chat): 简化日程状态提示逻辑
删除了在日程活动时间范围之外的冗余状态判断。现在,无论当前时间是否在活动时间段内,都会统一计算并展示活动的开始、结束、已进行和剩余时间,简化了代码逻辑并确保了信息展示的一致性。反正LLM自己会判断的,不需要咱操心那么多啦。
This commit is contained in:
@@ -1468,18 +1468,15 @@ class DefaultReplyer:
|
||||
if now < start_time:
|
||||
now += timedelta(days=1)
|
||||
|
||||
if start_time <= now < end_time:
|
||||
duration_minutes = (now - start_time).total_seconds() / 60
|
||||
remaining_minutes = (end_time - now).total_seconds() / 60
|
||||
schedule_block = (
|
||||
duration_minutes = (now - start_time).total_seconds() / 60
|
||||
remaining_minutes = (end_time - now).total_seconds() / 60
|
||||
schedule_block = (
|
||||
f"你当前正在进行“{activity}”,"
|
||||
f"计划时间从{start_time.strftime('%H:%M')}到{end_time.strftime('%H:%M')}。"
|
||||
f"这项活动已经开始了{duration_minutes:.0f}分钟,"
|
||||
f"预计还有{remaining_minutes:.0f}分钟结束。"
|
||||
"(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)"
|
||||
)
|
||||
else:
|
||||
schedule_block = f"你当前正在进行“{activity}”。(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)"
|
||||
|
||||
except (ValueError, AttributeError):
|
||||
schedule_block = f"你当前正在进行“{activity}”。(此为你的当前状态,仅供参考。除非被直接询问,否则不要在对话中主动提及。)"
|
||||
|
||||
@@ -350,10 +350,10 @@ def _default_normal_response_parser(
|
||||
api_response.tool_calls = []
|
||||
for call in message_part.tool_calls:
|
||||
try:
|
||||
arguments = orjson.loads(repair_json(call.function.arguments))
|
||||
arguments = orjson.loads(repair_json(call.function.arguments)) # type: ignore
|
||||
if not isinstance(arguments, dict):
|
||||
raise RespParseException(resp, "响应解析失败,工具调用参数无法解析为字典类型")
|
||||
api_response.tool_calls.append(ToolCall(call.id, call.function.name, arguments))
|
||||
api_response.tool_calls.append(ToolCall(call.id, call.function.name, arguments)) # type: ignore
|
||||
except orjson.JSONDecodeError as e:
|
||||
raise RespParseException(resp, "响应解析失败,无法解析工具调用参数") from e
|
||||
|
||||
|
||||
Reference in New Issue
Block a user