Graphiti 使用教程
从入门到精通的完整指南
Graphiti 简介
Graphiti 是由 Zep 开发的开源知识图谱框架,专为 AI Agent 设计的时间感知型图记忆系统。基于 Neo4j 图数据库构建,能自动从对话和数据中抽取实体关系,构建动态演化的知识图谱。支持时间戳管理和历史版本追踪,让 AI Agent 拥有持久化的结构化记忆能力,适合需要复杂关系推理的 AI 应用场景。
详细功能介绍
【工具简介】
Graphiti 是一款专为 AI Agent 设计的开源时间感知知识图谱框架,为 Agent 提供结构化的长期记忆能力。
【核心功能】
①自动知识抽取:从对话文本、文档和数据中自动识别实体和关系,构建结构化的知识图谱,无需手动标注。
②时间感知记忆:所有知识节点和关系都带有时间戳,支持时间范围查询和历史版本追踪,让 Agent 理解信息的时效性。
③增量图更新:支持对知识图谱进行增量更新,新信息自动与已有知识融合,处理实体消歧和关系冲突。
④语义与图混合检索:结合向量语义搜索和图结构遍历,支持复杂的多跳关系查询和上下文感知的信息检索。
⑤Neo4j 生态集成:基于 Neo4j 图数据库,利用其成熟的图查询语言 Cypher 和可视化工具,降低图数据库使用门槛。
【适用场景】
【快速入门】
【优缺点分析】
优点:
缺点:
【适合人群】
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,模糊语义搜索用向量库,两者互补能覆盖更多查询场景