错误: 边缘无效化会搜索整个图形,因此无关的事实会相互消除
□ 环境
- Graphiti版本:基于0.29.3. 下面的行号取自一个叉子,有不相干的地方补丁,因此它们可能从股票0.29.3被几行取出,但所引用的代码没有被修改.
- 数据库后端:FalkorDB
- ** LLM供应商**:Google Gemini(用于除尘/阻塞法官的小型号)
□ 问题
保存一个记忆,这个记忆只是*mentions * 一个实体可以退休 一个无关的,仍然真实的事实 该实体。 已退休的事实留在图表中,但印有 " 无效日期 " ,因此搜索会降级或降级,知识实际上已经消失 -- -- 默默地,没有任何迹象表明任何东西已经丢失。
在一张大约3 950个事实的制作图中,1 616(41%)带有`无效'。 其中四人经手审计发现三人是附带的,而不是真正的改变:
被判决杀死
|.
在公司(WORKS-AT' person-company)持有特定职称的人 同一人管理该公司的源控制组织(负责For' person-org account)** 错误** ——添加作用,不同目标实体*
一人受雇于一家公司,管理遵守职能(WORKS-AT' person-company) 同一人提出了审计要求(IMPOSED REQUREMENT' person-requirement' person-requirement) |错误-无关事实,不同的目标实体 |
- 公司必须保持安全标准态势(
SUBJECT-TO'公司-职称) 该公司要求根据同一标准进行审查(REQUIRES'公司-标准审查)** 错误** 较窄的重述,不同的目标实体* 'Helper.py'是属于插件的脚本('PART OF'.py file plugin) ‘Helper.rb'是属于该插件的脚本('PART OF'.rb file plugin) ** 右**-脚本真的被移植到Ruby * .
4个样本太小,无法描述其他1 612个样本。 但这三起错案共用了外形: 杀人边缘与被害者——同人,同公司——分享一个终点,而其另一个终点则完全不同,并带有不同的关系名. 一个正确的案例形状相反:一个不同的终点,但指向同一个共享父的同名关系名(`PART OF')。
第三个案例有第二个值得命名的问题:"姿态"和"标准审查"可以说是同一个实体,应该在节点分解期间合并. 这是另一个弱点。 这并不能解释前两个,其中目标实体是无可置疑的不同事物.
∮为什么会发生∮
**1. 候选人人才库在重述中失去了范围界定。 ** 在“graphiti core/utils/维护/edge operations.py”中,每取出边缘进行两次搜索。 重复检测被标为同两个节点(399号线)之间的边缘. 无效考生根本没有范围(第414行):
[Python] 搜索( E) 客户, 提取出 edge. fact, group ids=[extracted dedge.group id], , (中文(简体) ). 配置=EDGE HYBRID SARCH RRRF, . . . . . . .
内容来源: getzep/graphiti