Graphiti:构建实时知识图谱,赋能AI Agents

Graphiti:构建实时知识图谱,赋能AI Agents

graphiti Build and query dynamic, temporally-aware Knowledge Graphs graphiti 项目地址: https://gitcode.com/gh_mirrors/grap/graphiti

项目介绍

Graphiti 是一个专门为 AI Agents 设计的开源框架,用于构建和查询时间感知的知识图谱。它能够连续集成用户交互、结构化和非结构化的企业数据以及外部信息,形成一个连贯、可查询的图谱。Graphiti 支持增量数据更新、高效检索以及精确的历史查询,而不需要完整的图重组计算,这使得它非常适合开发交互式、上下文感知的 AI 应用程序。

项目技术分析

Graphiti 框架采用了一系列先进的技术,包括:

  • 时间感知的图模型:Graphiti 通过明确跟踪事件发生和摄入时间,支持精确的点时间查询。
  • 混合检索方法:它结合了语义嵌入、关键词(BM25)和图遍历,实现了低延迟查询,而无需依赖大型语言模型的总结。
  • 自定义实体定义:Graphiti 支持通过简单的 Pydantic 模型创建灵活的本体和开发人员定义的实体。
  • 可扩展性:Graphiti 通过并行处理,有效地管理大量数据,适用于企业环境。

项目技术应用场景

Graphiti 的核心应用场景包括:

  • 动态用户交互和业务数据集成:Graphiti 能够处理用户交互和企业数据的变化,保持数据的实时更新。
  • 基于状态推理和任务自动化:它支持 Agent 进行状态推理和自动化任务。
  • 复杂数据的语义、关键词和图搜索:Graphiti 提供了一种高效的方法来查询复杂且不断变化的数据。

项目特点

Graphiti 与传统的检索增强生成(RAG)方法相比,具有以下显著特点:

  • 实时增量更新:Graphiti 可以即时集成新的数据片段,无需批量重算。
  • 双时态数据模型:明确跟踪事件发生和摄入时间,支持精确的点时间查询。
  • 高效的混合检索:结合语义嵌入、关键词和图遍历,实现低延迟查询。
  • 自定义实体类型:Graphiti 允许开发者自定义实体类型,增加了灵活性。
  • 高可扩展性:Graphiti 通过并行处理,优化了大数据集的管理。

Graphiti 与 GraphRAG 的对比

| 特点 | GraphRAG | Graphiti | | --- | --- | --- | | 主要用途 | 静态文档总结 | 动态数据管理 | | 数据处理 | 批量处理 | 连续增量更新 | | 知识结构 | 实体集群和社区总结 | 情境数据、语义实体和社区 | | 检索方法 | 序列化语言模型总结 | 混合语义、关键词和图搜索 | | 适应性 | 低 | 高 | | 时间处理 | 基本时间戳跟踪 | 明确双时态跟踪 | | 矛盾处理 | 语言模型驱动的总结判断 | 时间的边无效化 | | 查询延迟 | 秒到几十秒 | 通常低于一秒 | | 自定义实体类型 | 不支持 | 支持 | | 可扩展性 | 中等 | 高,优化大数据集 |

Graphiti 专为处理动态和频繁更新的数据集而设计,非常适合需要实时交互和精确历史查询的应用。

使用 Graphiti

Graphiti 的安装和使用相对简单。首先,确保您的系统满足以下要求:

  • Python 3.10 或更高版本
  • Neo4j 5.26 或更高版本(作为嵌入存储后端)
  • OpenAI API 密钥(用于语言模型推理和嵌入)

安装 Graphiti Core:

pip install graphiti-core

或者使用 Poetry:

poetry add graphiti-core

快速开始使用 Graphiti,您可以添加数据片段,然后执行搜索:

from graphiti_core import Graphiti
from graphiti_core.nodes import EpisodeType
from datetime import datetime, timezone

graphiti = Graphiti("bolt://localhost:7687", "neo4j", "password")
graphiti.build_indices_and_constraints()

episodes = [
    "Kamala Harris is the Attorney General of California. She was previously the district attorney for San Francisco.",
    "As AG, Harris was in office from January 3, 2011 – January 3, 2017"
]
for i, episode in enumerate(episodes):
    await graphiti.add_episode(
        name=f"Freakonomics Radio {i}",
        episode_body=episode,
        source=EpisodeType.text,
        source_description="podcast",
        reference_time=datetime.now(timezone.utc)
    )

results = await graphiti.search('Who was the California Attorney General?')

Graphiti 还提供了一个 API 服务和 MCP 服务器,方便与 Graphiti 知识图谱进行交互。

通过其强大的功能和灵活的设计,Graphiti 正在成为 AI 领域中构建实时知识图谱的领先选择。如果您正在寻找一种方法来提高 AI Agents 的智能和效率,Graphiti 可能是您需要的解决方案。立即开始使用 Graphiti,为您的 AI 应用程序添加实时知识图谱的能力吧!

graphiti Build and query dynamic, temporally-aware Knowledge Graphs graphiti 项目地址: https://gitcode.com/gh_mirrors/grap/graphiti

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俞毓滢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值