为什么要自定义事件记忆权重
没有自定义权重时,记忆检索只是简单的通过 query 和记忆的相似度匹配,找到相关性更高的事件记忆。通过引入可配置的自定义事件记忆权重,结合向量匹配与时间衰减,可以打破单一相关性排序,输出更贴合业务逻辑的智能检索结果。例如:
- 用户手动将部分记忆标记为重要记忆,检索记忆时要对标记的重要记忆进行加权
- 希望在抽取记忆时,有一定的判断,哪些记忆更重要、权重更高
如何操作
第一步:创建事件规则, 配置权重
在创建事件规则时,可以选择配置事件权重,支持两种配置方式:
配置方式 | 说明 | 使用场景 |
|---|
固定权重 | 当前设置的事件记忆类型,均为设定的固定权重分数。 | 配置了多个事件规则,不同事件规则需要设置不同权重。例如: - 从用户和 AI 的聊天记录中抽取出两类记忆,一类是用户明确指令要求记住的,一类是 AI 自动判断生成的,前者权重更高,配置为固定权重1,后者使用默认权重0.5
|
按事件字段配置 | 通过使用该事件类型的多个字段配置的表达式,计算每条记忆的权重。 - 仅支持 float32, int64 类型字段
- 仅可使用 + - * / () 符号
| 对于某类事件记忆,业务指定权重分数,由大模型抽取权重分数。 - 业务指定:在创建事件记忆时,定义一个字段 custom_score,描述为业务自定义的事件权重分数。
- 配置事件权重:选择“按事件字段配置”,表达式 custom_score
- 事件权重分数的抽取:默认情况下,大模型会在抽取记忆时为每个事件记忆也赋予一个分数;此外,对于用户标记为“重要记忆”的事件记忆,也可调用 UpdateEvent 接口,手动更改 custom_score 的值。
|

第二步:事件检索,配置事件权重的影响因子
在调用记忆检索时,可进行检索分数融合的配置。
检索分数融合:最终融合分数 = 向量检索分数 * 权重 + 时间衰减分数 * 权重 + 自定义权重分数 * 权重。
- 向量权重:控制内容相似度匹配的重要程度
- 时间权重:控制记忆发生时间的重要程度
* 无衰减期:设置记忆不会衰减的时间范围,超出时间范围的记忆将进入衰减期,时间分数会自然下降 - 事件权重:控制自定义权重分数的重要程度
简单来说,三部分分数,哪部分权重越大,对最终的得分的影响越大。

在检索记忆时,将返回每部分得分明细。
