项目详情

Graphiti

为 AI Agent 构建时态知识图谱的开源引擎

GitHub 地址 Apache-2.0 PythonNeo4j

更新于 2026-07-20

← 返回汇总
项目速览

一句话定位

为 AI Agent 构建时态知识图谱的开源引擎

Zep 开源的时态知识图谱引擎。不同于静态 KG 或 RAG 分块,它持续追踪事实随时间的变化——每个三元组都带有效期窗口,保留完整溯源链路到原始数据。Neo4j/FalkorDB/Neptune 多后端,支持 OpenAI/Anthropic/Gemini/Ollama 等 LLM,提供 MCP Server 接入 Claude/Cursor。DMR 基准 94.8% 超越 MemGPT,arXiv 论文背书,是 Agent Memory 赛道的头部开源项目。

项目速览

核心数据

28.9k
GitHub Stars
2.9k
Forks
94.8%
DMR 基准
4
图数据库支持
为什么存在

传统 RAG 的三重局限

静态快照

文档索引是一次性批处理,数据更新需全量重建。面对频繁变化的企业数据,索引始终滞后于现实。

丢失时间维度

向量检索只关心语义相似度,无法回答"他从什么时候开始担任这个职位?"或"她现在的偏好是什么?"

碎片化上下文

Document chunks 丢失实体间关系,Agent 拿到的是一堆文本碎片,不是结构化知识。

核心理念

什么是 Context Graph?

Context Graph = 带时间轴的知识图谱。每条事实都有有效期——什么时候为真,什么时候(如果)被取代。实体摘要随时间演化,一切追溯到原始数据 Episode。

组件存储内容
Entities(节点)人物、产品、政策、概念——摘要随时间演化
Facts / Relationships(边)三元组(实体→关系→实体),带时间有效期窗口
Episodes(溯源)原始摄入数据——每条事实都追溯至此
Custom Types(本体)Pydantic 模型定义的实体与边类型
核心机制

时态事实管理:双时态窗口

每条边携带四个时间戳:valid_at(事实何时成真)、invalid_at(何时失效)、Graphiti 何时发现该事实、何时发现该事实已失效。由此天然支持时间点查询与历史回放。

Episode 摄入 LLM 抽取实体+关系 节点去重/边去重 时态冲突解决 增量写入图谱

无需全量重建图谱——增量更新,旧事实保留为历史

核心机制

混合检索:三层召回

语义搜索

Embedding 向量相似度匹配,捕捉语义相近的事实

关键词检索

BM25 全文检索,精确匹配实体名称与术语

图谱遍历

中心节点重排序,按图距离优化结果相关性

三者以 RRF(倒数秩融合)合并排序,不依赖 LLM 在线重排序——零额外推理延迟

架构

分层架构

应用层
Graphiti API / MCP Server
add_episode · search · build_indices_and_constraints
AI 层
LLM Client · Embedder · Cross-Encoder Reranker
OpenAI / Anthropic / Gemini / Groq / Ollama · Voyage / Sentence Transformers
存储层
Graph Database Drivers
Neo4j · FalkorDB · Amazon Neptune · Kuzu(嵌入式)
定位

Graphiti vs Zep:引擎 vs 平台

维度Zep(商业平台)Graphiti(开源引擎)
本质托管式上下文图谱基础设施开源时态知识图谱引擎
图谱规模海量 per-user 图谱 + 治理单图谱构建与查询
用户管理内置 Users / Threads / Messages自行构建
检索性能预配置,P95 <200ms取决于自建部署
开发者工具Dashboard、可视化、日志自行构建
部署方式全托管 / 私有云仅自托管
性能基准

SOTA 级 Agent Memory

Deep Memory Retrieval (DMR)
94.8%
Zep (Graphiti 驱动)
vs MemGPT 93.4%
LongMemEval

更贴近真实场景的长程记忆评估,Graphiti 在召回率与 token 成本两端均显著领先


  • Token 成本大幅降低:增量更新避免重复处理整个对话历史
  • 检索延迟可控:混合检索无需 LLM 在线参与重排序
快速上手

5 分钟搭建记忆层

# 1. 启动 Neo4j(或 FalkorDB)
docker run -p 7687:7687 -e NEO4J_AUTH=neo4j/password neo4j:5.26
# 2. 安装
pip install graphiti-core
# 3. 摄入 Episode,自动建图
await graphiti.add_episode(
    name="user_session_42",
    episode_body="Kendra loves Adidas Ultraboost,
     she switched from Nike last month.",
    source="text",
    source_description="user chat",
    reference_time=datetime.now(timezone.utc),
)
# 4. 混合检索
results = await graphiti.search("What shoes does Kendra like?")
# → Fact: Kendra LOVES Adidas Ultraboost (valid from 2026-03)
生态集成

多数据库 · 多 LLM · MCP

图数据库
  • Neo4j 5.26+(默认)
  • FalkorDB(低延迟)
  • Amazon Neptune(AWS)
  • Kuzu(嵌入式,零依赖)
LLM & Embedding
  • OpenAI / Azure OpenAI
  • Anthropic Claude
  • Google Gemini
  • Groq / Ollama / vLLM
  • Voyage / Sentence Transformers
Agent 集成
  • MCP Server(Claude / Cursor)
  • Python SDK(asyncio)
  • REST API(自建)
  • LangChain 集成
适用场景

适合谁用

风险提示

需要警惕

潜力评估

未来空间

时态知识图谱 + Agent Memory 交汇点的头部项目。28.9k Stars + arXiv 论文背书,Neo4j 官方博客推荐。若本体学习、多模态支持、本地化部署继续深化,有望成为 Agent 记忆层的基础设施标准。


上一个
G0DM0D3
下一个
Mem0
1 / 15