feat(reminder): 增强自然语言时间解析的智能化
更新了用于时间转换的LLM提示词,增加了更智能的推断规则,以更准确地处理模糊的时间表述。 主要改进: - 根据当前时间上下文推断上午/下午。例如,在下午说“8点”,将被理解为当晚20:00。 - 当解析出的时间早于当前时间时,自动将提醒设置为第二天,避免创建无效的过去提醒。
This commit is contained in:
@@ -200,7 +200,14 @@ class RemindAction(BaseAction):
|
|||||||
f"请将以下自然语言时间短语转换为一个未来的、标准的 'YYYY-MM-DD HH:MM:SS' 格式。"
|
f"请将以下自然语言时间短语转换为一个未来的、标准的 'YYYY-MM-DD HH:MM:SS' 格式。"
|
||||||
f"请只输出转换后的时间字符串,不要包含任何其他说明或文字。\n"
|
f"请只输出转换后的时间字符串,不要包含任何其他说明或文字。\n"
|
||||||
f"作为参考,当前时间是: {current_time_str}\n"
|
f"作为参考,当前时间是: {current_time_str}\n"
|
||||||
f"需要转换的时间短语是: '{remind_time_str}'"
|
f"需要转换的时间短语是: '{remind_time_str}'\n"
|
||||||
|
f"规则:\n"
|
||||||
|
f"- 如果用户没有明确指出是上午还是下午,请根据当前时间判断。例如,如果当前是上午,用户说‘8点’,则应理解为今天的8点;如果当前是下午,用户说‘8点’,则应理解为今天的20点。\n"
|
||||||
|
f"- 如果转换后的时间早于当前时间,则应理解为第二天的时间。\n"
|
||||||
|
f"示例:\n"
|
||||||
|
f"- 当前时间: 2025-09-16 10:00:00, 用户说: '8点' -> '2025-09-17 08:00:00'\n"
|
||||||
|
f"- 当前时间: 2025-09-16 14:00:00, 用户说: '8点' -> '2025-09-16 20:00:00'\n"
|
||||||
|
f"- 当前时间: 2025-09-16 23:00:00, 用户说: '晚上10点' -> '2025-09-17 22:00:00'"
|
||||||
)
|
)
|
||||||
|
|
||||||
success, response, _, _ = await llm_api.generate_with_model(
|
success, response, _, _ = await llm_api.generate_with_model(
|
||||||
|
|||||||
Reference in New Issue
Block a user