Graphiti

活跃
GitHub Python Apache-2.0

简介

Graphiti 是面向 Agent 记忆的时序知识图谱引擎,帮助系统持续沉淀长期上下文。

核心特性

  • 时序事实管理 — 每个事实具有时间窗口,旧事实被失效而非删除,可查询当前或历史任意时刻的真实状态
  • 溯源与血缘追踪 — 每个实体和关系追溯到产生它的原始数据(Episodes),完整的推导事实到数据源的血缘
  • 混合检索 — 结合语义嵌入、关键词 BM25 和图遍历实现低延迟高精度查询,无需依赖 LLM 摘要
  • 增量图构建 — 新数据即时集成无需批量重算,图随数据摄取实时演进
  • 预定义与学习型本体 — 通过 Pydantic 模型预定义实体和边类型,或从数据中自动学习结构
  • MCP Server 集成 — 提供 MCP Server 供 Claude、Cursor 等客户端使用时序上下文图记忆

适用场景

💡 AI Agent 长期记忆 — 为对话代理提供随时间演进的结构化上下文,替代扁平文档块
💡 客户关系跟踪 — 自动构建和更新客户偏好、交互历史的时序知识图谱
💡 企业知识管理 — 整合结构化和非结构化企业数据到统一的可查询图中
💡 实时决策支持 — 基于最新事实和历史变化趋势为 Agent 提供决策依据
💡 合规审计 — 通过完整的事实时间线追踪信息变更,支持合规性审计

快速开始

pip install graphiti-core

from graphiti_core import Graphiti
import asyncio

async def main():
    # 连接到 Neo4j
    client = Graphiti(
        "bolt://localhost:7687",
        "neo4j",
        "password"
    )
    await client.build_indices_and_constraints()

    # 添加数据
    await client.add_episode(
        name="conversation",
        body="Kendra 最喜欢 Adidas 运动鞋",
        source_description="用户对话"
    )

    # 查询
    results = await client.search("Kendra 喜欢什么品牌?")
    print(results)

asyncio.run(main())

相关项目