首页
/ 【免费下载】 Graphiti 开源项目使用教程

【免费下载】 Graphiti 开源项目使用教程

2026-01-30 04:09:10作者:温艾琴Wonderful

1. 项目介绍

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

Graphiti 的特点包括:

  • 实时增量更新:立即集成新数据片段,无需批量重算。
  • 双时态数据模型:明确跟踪事件发生和摄入时间,允许准确的点时间查询。
  • 高效混合检索:结合语义嵌入、关键词(BM25)和图遍历,实现低延迟查询,无需依赖 LLM 汇总。
  • 自定义实体定义:通过简单的 Pydantic 模型支持灵活的本体创建和开发者定义的实体。
  • 可扩展性:通过并行处理有效地管理大型数据集,适用于企业环境。

2. 项目快速启动

在开始之前,请确保您的环境中已安装以下依赖项:

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

以下是一个快速启动 Graphiti 的示例代码:

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

# 初始化 Graphiti 作为您的内存层
graphiti = Graphiti(
    "bolt://localhost:7687",
    "neo4j",
    "password"
)

# 初始化图数据库的索引。这只需执行一次。
graphiti.build_indices_and_constraints()

# 添加数据片段
episodes = [
    "Kamala Harris 是加州的检察长。她之前是旧金山的地区检察官。",
    "作为检察长,Harris 在 2011 年 1 月 3 日至 2017 年 1 月 3 日期间的在任。"
]

for i, episode in enumerate(episodes):
    await graphiti.add_episode(
        name=f"Freakonomics Radio {i}",
        episode_body=episode,
        source=EpisodeType.text,
        source_description="播客"
    )

请确保您已经设置了环境变量 OPENAI_API_KEY

3. 应用案例和最佳实践

应用案例

  • 动态用户交互和业务数据的集成与维护
  • 为代理实现基于状态推理和任务自动化
  • 使用语义、关键词和图搜索方法查询复杂、演变的数据

最佳实践

  • 在增量更新数据时,确保数据的一致性和准确性。
  • 利用 Graphiti 提供的自定义实体定义功能,为您的特定应用场景创建灵活的本体。
  • 在处理大型数据集时,利用 Graphiti 的并行处理能力以提高性能。

4. 典型生态项目

Graphiti 可以与多种类型的项目集成,以提供强大的知识图功能。以下是一些典型的生态项目示例:

  • 自然语言处理(NLP)项目:使用 Graphiti 管理和查询实体关系。
  • 推荐系统:集成 Graphiti 以构建用户兴趣图,提供个性化的推荐。
  • 智能搜索系统:利用 Graphiti 的混合检索能力,提供更智能的搜索结果。
登录后查看全文
热门项目推荐
相关项目推荐