AI工具箱
Graphiti

Graphiti 使用教程

从入门到精通的完整指南

Graphiti 简介

Graphiti 是由 Zep 开发的开源知识图谱框架,专为 AI Agent 设计的时间感知型图记忆系统。基于 Neo4j 图数据库构建,能自动从对话和数据中抽取实体关系,构建动态演化的知识图谱。支持时间戳管理和历史版本追踪,让 AI Agent 拥有持久化的结构化记忆能力,适合需要复杂关系推理的 AI 应用场景。

详细功能介绍

【工具简介】

Graphiti 是一款专为 AI Agent 设计的开源时间感知知识图谱框架,为 Agent 提供结构化的长期记忆能力。

【核心功能】

①自动知识抽取:从对话文本、文档和数据中自动识别实体和关系,构建结构化的知识图谱,无需手动标注。

②时间感知记忆:所有知识节点和关系都带有时间戳,支持时间范围查询和历史版本追踪,让 Agent 理解信息的时效性。

③增量图更新:支持对知识图谱进行增量更新,新信息自动与已有知识融合,处理实体消歧和关系冲突。

④语义与图混合检索:结合向量语义搜索和图结构遍历,支持复杂的多跳关系查询和上下文感知的信息检索。

⑤Neo4j 生态集成:基于 Neo4j 图数据库,利用其成熟的图查询语言 Cypher 和可视化工具,降低图数据库使用门槛。

【适用场景】

  • AI Agent 长期记忆:为聊天机器人和 AI 助手构建持久化的对话记忆,让 Agent 能记住用户偏好、历史交互和关键信息。
  • 企业知识图谱构建:从内部文档、邮件和系统数据中自动抽取实体关系,构建企业级知识图谱用于智能检索和决策支持。
  • 复杂关系推理:在金融风控、社交网络分析等需要多跳关系推理的场景中,利用图结构进行深度关联分析。
  • 【快速入门】

  • 环境准备:安装 Python 3.10+ 和 Neo4j 数据库,可通过 Docker 快速启动 Neo4j 实例。
  • 安装 SDK:通过 pip install graphiti-core 安装 Graphiti 核心库及依赖。
  • 初始化图谱:创建 Graphiti 实例,连接 Neo4j 数据库,配置 Embedding 模型用于语义索引。
  • 添加知识:调用 add_episode 方法传入文本数据,自动抽取实体关系并写入知识图谱。
  • 【优缺点分析】

    优点:

  • 时间感知设计独特,能追踪知识的演化和时效性,比传统向量记忆更精确。
  • 自动知识抽取能力强,减少人工标注工作量,适合大规模数据处理。
  • 基于成熟的 Neo4j 生态,图查询和可视化能力强。
  • 缺点:

  • 依赖 Neo4j 数据库,部署和运维成本比纯向量方案更高。
  • 图抽取质量受 LLM 能力影响,复杂领域可能需要人工校验。
  • 学习曲线较陡,需要了解图数据库概念和 Cypher 查询语言。
  • 【适合人群】

  • AI 应用开发者:构建需要长期记忆和复杂关系推理能力的 AI Agent 和聊天机器人的开发者。
  • 知识管理工程师:需要从非结构化数据中构建企业知识图谱的技术人员。
  • 数据科学家:从事图数据分析、社交网络分析和关系挖掘的研究和工程人员。
  • 1Graphiti入门教程:为AI Agent构建时间感知知识图谱

    入门10分钟
    Graphiti是Zep开发的开源知识图谱框架,专为AI Agent设计,能自动从对话中抽取实体关系,构建具有时间感知能力的动态图记忆系统。 一、快速开始 1. 安装Neo4j图数据库,Graphiti基于Neo4j运行,推荐使用Docker快速部署:docker run -p 7474:7474 -p 7687:7687 neo4j:latest 2. 安装Graphiti库:pip install graphiti-core 3. 配置数据库连接和LLM API密钥,在代码中初始化Graphiti客户端,传入Neo4j连接地址和大语言模型的API Key 4. 调用graphiti.add_episode()方法添加第一条数据,即可开始构建知识图谱 二、核心功能演示 功能1:自动实体关系抽取 将一段对话或文本传入Graphiti,系统会利用大语言模型自动识别其中的人物、组织、概念等实体,并推断它们之间的关系。例如输入张三是百度的AI工程师,会自动创建张三和百度两个节点,并建立任职于的关系边。 功能2:时间戳版本追踪 每次添加新信息时,Graphiti会自动记录时间戳并保留历史版本。当信息发生变化,例如张三跳槽到了腾讯,系统会保留旧关系的同时记录新状态,支持按时间线查询某个时刻的知识状态。 功能3:图谱语义搜索 支持基于自然语言的图谱查询,不需要编写Cypher语句。输入张三目前在哪里工作这样的问题,系统会在知识图谱中进行语义匹配,返回最相关的实体和关系信息。 三、实际使用案例 案例1:对话记忆系统 为AI客服或聊天助手集成Graphiti,自动将每轮对话中的关键信息抽取存入图谱。当用户再次对话时,Agent可以通过图谱检索历史上下文,实现真正有记忆的个性化交互体验。 案例2:组织关系管理 企业可以用Graphiti构建内部人员和项目的知识图谱,自动从会议记录、邮件摘要中抽取更新组织架构和项目关系,保持信息实时同步,辅助管理和决策。 四、常见问题 Q1:Graphiti和传统向量数据库有什么区别? A:向量数据库擅长相似度检索,Graphiti擅长结构化关系推理。它能回答A和B之间有什么联系这类关系查询,还能追踪关系随时间的变化,这是向量数据库难以做到的。 Q2:支持哪些大语言模型? A:支持OpenAI、Anthropic等主流模型提供商。实体抽取的质量很大程度取决于底层LLM的能力,推荐使用GPT-4或Claude级别的模型以获得最佳效果。 Q3:数据量大了会不会变慢? A:Neo4j本身对图查询做了深度优化,百万级节点规模下查询依然很快。可以通过建立合适的索引和定期清理过期数据来保持性能。 五、小贴士 1. 合理定义实体类型:在开始构建图谱前,先规划好你的业务场景需要哪些实体类型和关系类型,这能让抽取结果更准确,避免后期大量人工修正 2. 利用时间过滤功能:查询时加上时间范围参数,可以获取特定时间段内的知识快照,这在追踪项目进展或人员变动时非常实用 3. 结合向量检索使用:Graphiti可以和向量数据库配合使用,结构化关系查询用Graphiti,模糊语义搜索用向量库,两者互补能覆盖更多查询场景