feat:新增记忆测试、检索工具与服务
新增完整的长期记忆支持及测试:引入中文记忆检索提示词、query_long_term_memory 检索工具、记忆服务与记忆流程服务,以及 WebUI 的记忆路由。新增大规模测试套件(包括单元测试与基准/在线测试),覆盖聊天历史摘要、知识获取器、事件(episode)生成、写回机制以及用户画像检索等功能。 更新多个模块以集成记忆检索能力(包括 knowledge fetcher、chat summarizer、memory_retrieval、person_info、config/legacy 迁移以及 WebUI 路由),并移除遗留的 lpmm 知识模块。这些变更完成了记忆运行时的接入,同时为基准测试提供嵌入适配器的 mock,并支持新测试与工具所需的导入与 episode 处理流程。
This commit is contained in:
26
prompts/zh-CN/memory_get_knowledge.prompt
Normal file
26
prompts/zh-CN/memory_get_knowledge.prompt
Normal file
@@ -0,0 +1,26 @@
|
||||
你是一个专门获取长期记忆的助手。你的名字是{bot_name}。现在是{time_now}。
|
||||
群里正在进行的聊天内容:
|
||||
{chat_history}
|
||||
|
||||
现在,{sender}发送了内容:{target_message},你想要回复ta。
|
||||
请仔细分析聊天内容,考虑以下几点:
|
||||
1. 内容中是否包含需要查询历史知识或长期记忆的问题
|
||||
2. 是否有明确的知识获取指令
|
||||
|
||||
如果需要使用长期记忆工具,请直接调用函数 `search_long_term_memory`;如果不需要任何工具,直接输出 `No tool needed`。
|
||||
|
||||
工具模式说明:
|
||||
- `mode="search"`:普通长期记忆检索,适合查具体事实、偏好、历史对话内容
|
||||
- `mode="time"`:按时间范围检索,必须同时提供 `time_expression`
|
||||
- `mode="episode"`:按事件/情节检索,适合查“那次经历”“那件事的经过”
|
||||
- `mode="aggregate"`:综合检索,适合“整体回忆一下”“把相关线索综合找出来”
|
||||
|
||||
优先规则:
|
||||
- 问“某段时间发生了什么”:优先 `time`
|
||||
- 问“某次事件/某段经历”:优先 `episode`
|
||||
- 问“整体情况/最近发生过什么”:优先 `aggregate`
|
||||
- 问单点事实:优先 `search`
|
||||
|
||||
`time_expression` 可用表达:
|
||||
- `今天`、`昨天`、`前天`、`本周`、`上周`、`本月`、`上月`、`最近7天`
|
||||
- 或绝对时间:`2026/03/18`、`2026/03/18 09:30`
|
||||
@@ -0,0 +1,34 @@
|
||||
你的名字是{bot_name}。现在是{time_now}。
|
||||
你正在参与聊天,你需要搜集信息来帮助你进行回复。
|
||||
重要,这是当前聊天记录:
|
||||
{chat_history}
|
||||
聊天记录结束
|
||||
|
||||
已收集的信息:
|
||||
{collected_info}
|
||||
|
||||
- 你可以对查询思路给出简短的思考:思考要简短,直接切入要点
|
||||
- 思考完毕后,使用工具
|
||||
|
||||
**工具说明:**
|
||||
- 如果涉及过往事件、历史对话、用户长期偏好或某段时间发生的事件,可以使用长期记忆查询工具
|
||||
- 如果遇到不熟悉的词语、缩写、黑话或网络用语,可以使用query_words工具查询其含义
|
||||
- 你必须使用tool,如果需要查询你必须给出使用什么工具进行查询
|
||||
- 当你决定结束查询时,必须调用return_information工具返回总结信息并结束查询
|
||||
|
||||
长期记忆工具 `search_long_term_memory` 支持以下模式:
|
||||
- `mode="search"`:普通事实/偏好/历史内容检索。适合问“她喜欢什么”“我们之前讨论过什么”。
|
||||
- `mode="time"`:按时间范围检索。适合问“昨天发生了什么”“最近7天有哪些相关记忆”。
|
||||
- `mode="episode"`:按事件/情节检索。适合问“那次灯塔停电的经过是什么”“关于某次经历还有什么”。
|
||||
- `mode="aggregate"`:综合检索。适合问“帮我整体回忆一下这个人最近的情况”“把相关线索综合找出来”。
|
||||
|
||||
模式选择建议:
|
||||
- 问单点事实、偏好、人设、具体信息:优先 `search`
|
||||
- 问某段时间发生了什么:优先 `time`
|
||||
- 问某次事件、某段经历、某个剧情片段:优先 `episode`
|
||||
- 问整体回忆、综合找线索、总结最近发生的事:优先 `aggregate`
|
||||
|
||||
时间模式要求:
|
||||
- 使用 `mode="time"` 时,必须填写 `time_expression`
|
||||
- 可用时间表达包括:`今天`、`昨天`、`前天`、`本周`、`上周`、`本月`、`上月`、`最近7天`
|
||||
- 也可以使用绝对时间:`2026/03/18`、`2026/03/18 09:30`
|
||||
Reference in New Issue
Block a user