2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

Graphiti-构建用于AI代理的实时知识图谱

发布日期:2025-05-09 19:07:00 浏览次数: 3169
作者:三人行AI

微信搜一搜,关注“三人行AI”

推荐语

Graphiti框架,为AI代理打造动态知识图谱,开启交互式AI应用新篇章。

核心内容:
1. Graphiti框架的核心功能与应用场景
2. Graphiti与传统RAG方法的区别及优势
3. Graphiti在Zep AI代理记忆层中的应用与开源意义

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

小贴士

查看Graphiti的新MCP服务器[1]!为Claude、Cursor和其他MCP客户端提供强大的基于知识图谱的记忆功能。

Graphiti简介

Graphiti是一个构建和查询时间感知知识图谱的框架,专门为在动态环境中运行的AI代理量身定制。与传统的检索增强生成(RAG)方法不同,Graphiti不断将用户交互、结构化和非结构化的企业数据以及外部信息整合到一个连贯的、可查询的图谱中。该框架支持增量数据更新、高效检索和精确的历史查询,而无需重新计算整个图谱,使其非常适合开发交互式、上下文感知的AI应用。

使用Graphiti,您可以:

集成并维护动态的用户交互和业务数据。促进基于状态的推理和任务自动化。使用语义、关键词和基于图谱的搜索方法查询复杂且不断发展的数据。

Graphiti temporal walkthrough

知识图谱是一个由互联事实构成的网络,例如“Kendra喜欢Adidas鞋子”。每个事实都是一个由两个实体或节点(“Kendra”,“Adidas鞋子”)以及它们的关系或边(“喜欢”)组成的“三元组”。知识图谱在信息检索中已经得到了广泛的探索。Graphiti的独特之处在于,它能够在处理变化关系并保持历史上下文的同时,自动构建一个知识图谱。

Graphiti与Zep记忆

Graphiti为Zep的AI代理记忆层提供核心支持。

通过使用Graphiti,我们证明了Zep是AI代理记忆领域的最先进技术[2]

阅读我们的论文:Zep: 一种用于代理记忆的时间知识图谱架构[3]

我们很高兴开源Graphiti,并相信它的潜力远超AI记忆应用。

Zep: A Temporal Knowledge Graph Architecture for <a href=Agent Memory" class="rich_pages wxw-img" data-imgfileid="100000766" data-type="png" style="height: auto !important;" data-ratio="0.42962962962962964" data-w="1080" src="https://api.ibos.cn/v4/weapparticle/accesswximg?aid=110728&url=aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9LNTlSWlAyYkhpYUR1VjFFYkx6UFloOWdVeTEzNmFVZEZzSENnMHhQd1BuTHBEalhsTDB5dllaMW01TGMwYW5HdlZoWm5zSUtVTlQ1UXlGQ2FzaWJlUEh3LzY0MD93eF9mbXQ9cG5nJmFtcA==;from=appmsg">

为什么选择Graphiti?

传统的RAG方法通常依赖于批处理和静态数据摘要,这使得它们在处理频繁变化的数据时效率较低。Graphiti通过提供以下功能来解决这些挑战:

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

Graphiti structured + unstructured demo

Graphiti 和GraphRAG的区别

方面
GraphRAG
Graphiti
主要用途
静态文档摘要
动态数据管理
数据处理
批量处理
持续增量更新
知识结构
实体簇与社区摘要
事件数据、语义实体、社区
检索方法
顺序LLM摘要
混合语义、关键词和基于图的搜索
适应性
时间处理
基本时间戳跟踪
显式双时间跟踪
矛盾处理
LLM驱动的摘要判断
时间边缘失效
查询延迟
秒到几十秒
通常在子秒级别
自定义实体类型
是,可定制
可扩展性
高,针对大数据集进行了优化

Graphiti专门设计用于解决动态和频繁更新的数据集所面临的挑战,使其特别适用于需要实时交互和精确历史查询的应用。

安装

系统要求:

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

重要提示

Graphiti 最适用于支持结构化输出的LLM服务(如 OpenAI 和 Gemini)。使用其他服务可能会导致输出模式错误和数据摄取失败。尤其是在使用较小模型时,这个问题更加明显。

可选项:

Google Gemini、Anthropic 或 Groq API 密钥(用于其他LLM提供商)

小贴士

安装 Neo4j 的最简单方法是通过 Neo4j Desktop[4]。它提供了一个用户友好的界面来管理 Neo4j 实例和数据库。

安装 Graphiti

pip install graphiti-core

或者

poetry add graphiti-core

您还可以安装可选的 LLM 提供商作为附加功能:

# 安装支持 Anthropic 的版本pip install graphiti-core[anthropic]
# 安装支持 Groq 的版本pip install graphiti-core[groq]
# 安装支持 Google Gemini 的版本pip install graphiti-core[google-genai]
# 安装多个提供商支持pip install graphiti-core[anthropic,groq,google-genai]

快速开始

重要提示

Graphiti 使用 OpenAI 进行LLM推理和嵌入。确保在您的环境中设置了 OPENAI_API_KEY。也支持 Anthropic 和 Groq 的LLM推理。其他LLM提供商也可以通过兼容 OpenAI 的 API 进行支持。

要查看完整的工作示例,请参见 examples 目录中的 Quickstart 示例[5]。该示例展示了:

1.连接到 Neo4j 数据库2.初始化 Graphiti 索引和约束3.向图谱中添加事件(包括文本和结构化 JSON)4.使用混合搜索查找关系(边)5.使用图距离重新排序搜索结果6.使用预定义搜索配方查找节点

该示例有完整文档,清晰解释每项功能,并包含详细的 README,提供了设置说明和后续步骤。

MCP 服务器

mcp_server 目录包含 Graphiti 的模型上下文协议(MCP)服务器实现。该服务器允许 AI 助手通过 MCP 协议与 Graphiti 的知识图谱功能进行交互。

MCP 服务器的关键功能包括:

事件管理(添加、检索、删除)实体管理和关系处理语义和混合搜索功能用于组织相关数据的组管理图谱维护操作

MCP 服务器可以使用 Docker 和 Neo4j 部署,使得将 Graphiti 集成到您的 AI 助手工作流中变得更加简便。

有关详细的设置说明和使用示例,请参见 MCP 服务器的 README 文件[6]

REST 服务

server 目录包含与 Graphiti API 交互的 API 服务。该服务是使用 FastAPI 构建的。

更多信息,请参见服务器的 README 文件。

可选环境变量

除了 Neo4j 和兼容 OpenAI 的凭证外,Graphiti 还具有一些可选的环境变量。如果您使用的是我们支持的模型,如 Anthropic 或 Voyage 模型,必须设置必要的环境变量。

USE_PARALLEL_RUNTIME 是一个可选的布尔变量,如果您希望为我们的多个搜索查询启用 Neo4j 的并行运行时功能,可以将其设置为 true。请注意,该功能不支持 Neo4j 社区版或较小的 AuraDB 实例,因此默认情况下该功能是关闭的。

使用 Graphiti 与 Azure OpenAI

Graphiti 支持 Azure OpenAI 进行 LLM 推理和嵌入。要使用 Azure OpenAI,您需要使用您的 Azure OpenAI 凭证配置 LLM 客户端和嵌入器。

from openai importAsyncAzureOpenAIfrom graphiti_core importGraphitifrom graphiti_core.llm_client importOpenAIClientfrom graphiti_core.embedder.openai importOpenAIEmbedder,OpenAIEmbedderConfigfrom graphiti_core.cross_encoder.openai_reranker_client importOpenAIRerankerClient
# Azure OpenAI 配置api_key ="<your-api-key>"api_version ="<your-api-version>"azure_endpoint ="<your-azure-endpoint>"
# 创建 Azure OpenAI 客户端用于 LLMazure_openai_client =AsyncAzureOpenAI(    api_key=api_key,    api_version=api_version,    azure_endpoint=azure_endpoint)
# 使用 Azure OpenAI 客户端初始化 Graphitigraphiti =Graphiti("bolt://localhost:7687","neo4j","password",    llm_client=OpenAIClient(        client=azure_openai_client),    embedder=OpenAIEmbedder(        config=OpenAIEmbedderConfig(            embedding_model="text-embedding-3-small"# 使用您的 Azure 部署的嵌入模型名称),        client=azure_openai_client),# 可选:使用 Azure OpenAI 配置 OpenAI 交叉编码器    cross_encoder=OpenAIRerankerClient(        client=azure_openai_client))
# 现在您可以使用 Azure OpenAI 与 Graphiti 进行集成

确保用您实际的 Azure OpenAI 凭证替换占位符值,并指定在 Azure OpenAI 服务中部署的正确嵌入模型名称。

使用 Graphiti 与 Google Gemini

Graphiti 支持 Google 的 Gemini 模型进行 LLM 推理和嵌入。要使用 Gemini,您需要使用您的 Google API 密钥配置 LLM 客户端和嵌入器。

安装 Graphiti

poetry add "graphiti-core[google-genai]"
# or
uv add "graphiti-core[google-genai]"
from graphiti_core importGraphitifrom graphiti_core.llm_client.gemini_client importGeminiClient,LLMConfigfrom graphiti_core.embedder.gemini importGeminiEmbedder,GeminiEmbedderConfig
# Google API 密钥配置api_key ="<your-google-api-key>"
# 使用 Gemini 客户端初始化 Graphitigraphiti =Graphiti("bolt://localhost:7687","neo4j","password",    llm_client=GeminiClient(        config=LLMConfig(            api_key=api_key,            model="gemini-2.0-flash")),    embedder=GeminiEmbedder(        config=GeminiEmbedderConfig(            api_key=api_key,            embedding_model="embedding-001")))
# 现在您可以使用 Google Gemini 与 Graphiti 进行集成

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅