Graphiti为AI代理构建时序知识图谱
【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti
搭建AI代理的时候,你可能会遇到这个困境:用户偏好不断变化,业务规则经常更新,知识库检索出来的却还是上个月的版本,手动更新文档之后又没有留痕可查。Graphiti是一个用于构建和查询上下文图谱的时序知识图谱框架,专门处理这类“随时间变化”的信息。
传统做法是RAG知识库:文档批量处理、按块检索,数据一变索引就过期。Graphiti的思路是让图谱成为“活的结构”——新数据直接增量并入,每条事实都记录它何时生效、何时被取代。
能力拆解:时序边、溯源与混合检索
时序边:每条事实带有效期窗口
Graphiti把事实存成“实体→关系→实体”三元组,每条边都有有效性窗口。信息发生变化时,旧事实不会被删除,而是被标记为失效,既能查“现在是什么”,也能查“某个历史时点是什么”。对需要解释决策依据的代理来说,这个区分很关键。
溯源机制:每个事实都能追到原始来源
每个节点和边都能回溯到产生它的episode(原始数据片段),调试或审计时可以顺着派生事实一路查到源文档。节点与边的模型位于graphiti_core/nodes.py和edges.py,你可以用Pydantic模型预先定义实体类型,也可以让结构从数据中自然涌现。
图:Graphiti时序知识图谱构建演示,展示实体与关系随新数据不断演化的过程
混合检索:语义、关键词与图遍历三路结合
graphiti_core/search/中的检索管线把语义向量、BM25关键词匹配和图遍历合并排序,不依赖LLM摘要,查询通常在秒级内返回。search_config_recipes.py里还预置了多种检索配方,直接选用即可。
从克隆仓库到第一次图查询
先克隆仓库 https://gitcode.com/GitHub_Trending/grap/graphiti ,最省事的部署路径是Docker Compose:mcp_server/docker/的默认配置把FalkorDB和MCP服务器打进同一个镜像,docker-compose up一条命令即可启动数据库与服务,FalkorDB的可视化界面在 localhost:3000。另一条路是本地起Neo4j,通过代码里的Neo4j驱动连接。
接着准备OPENAI_API_KEY(Graphiti默认用OpenAI做LLM推理和向量化),再跑examples/quickstart/里的示例脚本:它会带你完成连接数据库、初始化索引、写入episode文本、执行检索的完整流程,加入几段业务文本后就能直接查回抽出的实体与关系。
图:Graphiti在LangGraph代理场景中的演示,代理基于上下文图谱回答问题
秒级查询与增量更新验证效果
关键指标是查询延迟:Graphiti的混合检索通常亚秒级返回,新episode随时摄入、增量并入,不需要整图重算。并行处理与可插拔后端(Neo4j、FalkorDB、Neptune)让它在数据量增长时依然稳定。
回到开头的场景:知识库更新后不再有“上个月版本”的遗留问题,新旧事实在图谱中共存且时间窗口清晰,既能查当前状态,也能追溯任意历史时点生效的内容。
图:Zep时序知识图谱架构论文截图,是这套框架背后的研究成果
仓库里还有更多可运行的示例,从examples/quickstart/开始,跑完第一次查询就会对时序感知检索有直观感受。
【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考