Graphiti:面向AI代理的时序知识图谱引擎
构建随时间演变的上下文图谱,让AI代理掌握事实的时效性变化。
- Star 数
- ★ 32k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 50/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要从对话历史中提取持续更新的用户画像(如偏好、关系)的客服代理。
- 不适合
- 不想自行运维图数据库(Neo4j/FalkorDB)的团队
- 需要内置用户管理、仪表盘等企业级功能的团队
这个 Agent 能做什么,适合哪些场景?
Graphiti是一个开源框架,用于构建和查询面向AI代理的时序知识图谱。与静态知识图谱不同,Graphiti能够追踪事实随时间的变化、保留数据来源,并支持预设和自学习本体。它持续整合用户交互、结构化与非结构化企业数据及外部信息,形成可查询的图谱。采用增量更新,无需全量重算,适用于交互式、上下文感知的AI应用。Graphiti提供混合检索(语义+关键词+图遍历),支持跨时间的精准查询,并具备亚秒级查询延迟。作为Zep的核心引擎,Graphiti在Zep的上下文中证明了其在高性能代理记忆方面的有效性。
Graphiti建立时序上下文图谱:从原始数据(episodes)中提取实体和关系,赋予时间有效性窗口,并自动处理矛盾信息。核心操作包括:通过Graphiti类初始化,添加episodes(文本或结构化JSON),使用混合搜索(语义+BM25+图遍历)检索边和节点,利用图距离重排序结果,以及通过Graphiti的驱动接口(如Neo4jDriver、FalkorDriver)连接Neo4j、FalkorDB等图数据库。支持增量图构建,实时整合新数据。
- 需要从对话历史中提取持续更新的用户画像(如偏好、关系)的客服代理。
- 需要精准回答“某事实在特定时间是否成立”的金融或法律分析人员。
- 需要动态知识整合的推荐系统,根据用户最新行为实时调整推荐。
- 需要从多源数据(邮件、文档、数据库)构建统一知识图谱的企业。
- 希望自托管图谱引擎,避免供应商锁定,同时支持多种LLM提供商(OpenAI、Anthropic等)的开发团队。
如何安装或部署这个 Agent?
安装要求:Python 3.10+,Neo4j 5.26或FalkorDB等图数据库,以及OpenAI API密钥(默认)。使用pip安装:pip install graphiti-core,或使用uv:uv add graphiti-core。若使用FalkorDB,需安装:pip install graphiti-core[falkordb]。可选LLM提供商:如Anthropic(pip install graphiti-core[anthropic])。
如何使用这个 Agent?
快速开始:1. 设置OPENAI_API_KEY环境变量。2. 连接数据库:使用Graphiti类,传入URI、用户名、密码(如bolt://localhost:7687)。3. 初始化索引和约束。4. 添加episodes:使用add_episode方法,传入文本或JSON。5. 检索:调用search方法进行混合搜索。完整示例见examples/quickstart目录。
这个 Agent 有哪些优点和局限?
- 时序事实管理:自动失效旧事实,保留历史,支持任意时点查询。
- 混合检索:结合语义、关键词和图遍历,亚秒级延迟。
- 增量构建:新数据实时整合,无需批量重算。
- 支持多种图数据库后端:Neo4j、FalkorDB、Amazon Neptune等。
- 对LLM依赖较强,需要支持结构化输出的服务(如OpenAI),否则可能失败。
- 需要自备图数据库(如Neo4j),增加了运维成本。
- 高级功能如用户管理、仪表盘需自行构建,或使用Zep平台(商业)。
- Kuzu后端已弃用。
这个 Agent 与同类方案有什么区别?
Graphiti可与GraphRAG对比:GraphRAG适用于静态文档摘要,批处理,查询延迟高(秒级);Graphiti面向动态上下文,增量更新,亚秒级查询,支持时间追踪和矛盾自动失效。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Graphiti:面向AI代理的时序知识图谱引擎 当前 | 50 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 32k | 今天 | Python | OpenAI API · Claude API |
| Yuxi(语析)——可私有部署的多租户知识智能体平台 | 41 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 7.4k | 2 天前 | Python | OpenAI API |
| SimpleMem:LLM 智能体的高效终身记忆系统 | 43 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.8k | 2 个月前 | Python | ChatGPT · Claude Code |
| M-flow 认知记忆引擎 | 36 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 4.5k | 2 个月前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目使用Apache-2.0许可证,有SECURITY.md说明安全更新支持0.x版本,并指引通过GitHub私有漏洞报告机制。依赖项在pyproject.toml中列出,但未提供依赖安全审计或漏洞扫描证据。数据流方面,README说明了数据如何被摄取到图数据库,但未明确数据流向或用户确认机制。外部效果方面,项目会调用外部LLM和数据库服务,但未说明权限最小化或用户确认。回滚机制未提及。来源归属方面,有作者信息,但发布者未验证。扣分原因:缺乏用户确认、数据流透明性不足、依赖安全证据薄弱、外部效果未明确权限、无回滚机制。
证据显示:README和代码示例在功能描述上基本一致,但未提供执行测试的证据。依赖项在pyproject.toml中列出,但未验证其可用性。失败消息方面,代码中可能有错误处理,但未提供具体示例。扣分原因:未执行测试,依赖可用性未验证,失败消息证据不足。
证据显示:README明确了目标受众(AI代理开发者)和使用场景(构建时间上下文图)。能力边界通过Zep vs Graphiti对比和GraphRAG对比有所说明。触发精度方面,提供了API使用示例,但未明确触发条件。环境适配方面,支持多种数据库和LLM提供商,但未说明所有环境配置。扣分原因:触发精度不明确,环境适配未全面覆盖。
证据显示:README结构清晰,包含安装、快速开始、示例等。安装说明详细,支持多种安装方式。命名方面,项目名称和包名一致。示例和FAQ部分有快速开始和MCP服务器说明。已知限制方面,提到了Kuzu弃用和LLM结构化输出问题。许可证为Apache-2.0,版本号在pyproject.toml中。维护责任方面,有作者和贡献指南。扣分原因:缺少明确的变更日志,版本历史不完整。
证据显示:输出可用性方面,提供了API和MCP服务器,输出为图数据,但未提供实际输出示例。边际价值方面,与GraphRAG对比突出其时间感知和增量更新优势。成本效益方面,开源免费,但需要自托管数据库和LLM API成本。扣分原因:输出示例不足,成本效益未量化。
证据显示:README中的声明(如时间感知、增量更新)有代码和文档支持,但未提供独立验证。跨来源佐证方面,有arXiv论文链接,但未提供其他独立来源。事实与推断分离方面,README区分了功能描述和性能声明,但未明确标注哪些是推断。扣分原因:跨来源佐证不足,事实与推断分离不明确。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 发布者身份未验证,需谨慎对待供应链风险。
- 依赖项未提供安全审计证据,建议检查依赖漏洞。
- 项目会调用外部LLM和数据库服务,需确保数据隐私和权限最小化。
- Kuzu后端已弃用,使用前需注意。
- 未提供回滚机制,数据操作需谨慎。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * chore: set graphiti-core version to 0.31.0 for the v0.31.0 release by @devin-ai-integration[bot] in https://github.com/getzep/graphiti/pull/2010 * chore: set graphiti-core version to 0.31.1 by @devin-ai-integration[bot] in https://github.com/getzep/graphiti/pull/2011 Full Changelog: https://github.com/getzep/graphiti/compare/v0.31.0...v0.31.1在 GitHub 查看 ↗ -
v0.31.0 v0.31.0 - gpt-6-luna as the default OpenAI model
发布说明摘录
What's Changed * Publish zepai/graphiti on v*.*.* tags like MCP by @mehulp93 in https://github.com/getzep/graphiti/pull/1862 * Add pevans to the CLA allowlist [ZEPAI-3570] by @pevans in https://github.com/getzep/graphiti/pull/1883 * Update root uv.lock to fix Dependabot alerts [ZEPAI-3570] by @pevans in https://github.com/getzep/graphiti/pull/1881 * Update mcp_server/uv.lock to fix Dependabot alerts [ZEPAI-3570] by @pevans in https://github.com/getzep/graphiti/pull/1882 …在 GitHub 查看 ↗ -
v0.30.2 v0.30.2 - FalkorDB updates
发布说明摘录
What's Changed * fix(ci): bump gh-action-pypi-publish for metadata 2.5 by @prasmussen15 in https://github.com/getzep/graphiti/pull/1821 * Bump graphiti-core to 0.30.1 by @prasmussen15 in https://github.com/getzep/graphiti/pull/1822 * Fix Neo4j database routing and honor NEO4J_DATABASE in MCP server by @mehulp93 in https://github.com/getzep/graphiti/pull/1812 * fix: include Saga nodes when clearing data by group_ids by @Naseem77 in https://github.com/getzep/graphiti/pull/1688 …在 GitHub 查看 ↗