# Graphiti 中心节点重排：同名项目很多时，围绕当前客户找关系事实

已读取真实Graphiti node-distance检索recipe并执行作者BFS参考；未执行数据库检索、模型embedding或原生距离重排。

## 运行

在本目录使用独立虚拟环境并安装requirements.txt；脚本结果写入results。

```sh
python reference/audit.py
python reference/run_sdk.py
```

fixtures是原创输入与故意失败样本；作者真值、离线合成provider和实际SDK记录各自标明，不是模型正确率。需要真实模型/账号/GPU的步骤按正文另行授权运行。

## 1. 建立同名不同客户的关系

device-N与device-S都叫巡检项目，但只前者与client-N相连。名称相同不应让两条结果拥有相同业务归属。

## 2. 用作者图复算距离

audit.py从client-N做BFS，device-N距离2，device-S不可达。该结果是作者关系基准，不是Graphiti搜索分数。

## 3. 取得真实中心节点UUID

在Graphiti中查回目标客户实体并记录UUID；不能把示例标签client-N直接当真实数据库UUID传入。

## 4. 选择node-distance重排配置

使用当前search配置中支持中心节点的重排策略，传center_node_uuid；默认RRF与图距离的分数含义不同。

## 5. 固定候选比较默认与中心重排

记录同一query、group和候选下两种排序，不同时换语料或候选数。真实图关系和embedding都应保留来源。

## 6. 检查不可达结果如何处理

不要把None距离显示成0；同名但无关联结果应明确其不确定性。重排更靠前也不证明该事实绝对正确。

## 7. 交付中心及候选归属

保留中心UUID、实际返回顺序、关系路径和同名反例。本文未运行Graphiti检索与模型，只执行作者BFS基准。

## 官方依据

- Graphiti 官方文档或源码：https://raw.githubusercontent.com/getzep/graphiti/main/mcp_server/src/graphiti_mcp_server.py
