HKUDS / LightRAG

"LightRAG: Simple and Fast Retrieval-Augmented Generation"
https://arxiv.org/abs/2410.05779
MIT License
9.22k stars 1.13k forks source link

[node embedding] node_embedding_algorithm 的疑问 #283

Open SpikeYangRc opened 1 week ago

SpikeYangRc commented 1 week ago

经过代码分析,我发现虽然系统中声明了 node_embedding_algorithm=node2vec 作为节点嵌入算法,但实际运行中并未调用 _node2vec_embed 进行嵌入计算。在进行 entity、relationship 和 text units 的召回时,系统仅仅使用了图数据库最基础的 get_node、get_edge 等 graph 操作来查询直接关系,这种使用方式完全可以用普通的关系型数据库来实现。那么,使用 graph 的主要目的是否仅仅局限于数据存储和计算 degree 用于排序?值得注意的是,目前的实现并未充分发挥 graph 在处理多级间接关系方面的优势,比如无法实现从 A 经过 B、C 最终到达 D 这样的间接关系路径发现。

LarFii commented 2 days ago

非常感谢您的关注,实际上在做检索的过程中我们是利用向量进行的匹配,同时在local信息中也会包含节点的一阶邻居。当然,我们目前确实没有利用graph处理多级间接关系,这也是我们未来探索的方向之一。后续我们也会添加更多的图相关功能,包括自定义KG等等。