Token导航 LogoToken导航TokenDH.com
Graphiti Brainstorming Kg logo
数据服务stdio官方级别未说明来源级核验

Graphiti Brainstorming Kg

MCP Server

Graphiti是一个为AI代理设计的实时知识图谱构建框架,支持动态数据整合、高效检索和历史查询,适用于上下文感知的AI应用开发。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
知识图谱PythonClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Joseperko1982

提供方

Joseperko1982

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install graphiti-core

详细介绍

Graphiti

Build Real-Time Knowledge Graphs for AI Agents

![Lint](https://github.com/getzep/Graphiti/actions/workflows/lint.yml) ![Unit Tests](https://github.com/getzep/Graphiti/actions/workflows/unit_tests.yml) ![MyPy Check](https://github.com/getzep/Graphiti/actions/workflows/typecheck.yml)

![Discord](https://discord.com/invite/W8Kw6bsgXQ) ![arXiv](https://arxiv.org/abs/2501.13956) ![Release](https://github.com/getzep/graphiti/releases)

:星: _帮助我们接触到更多的开发人员,并发展Graphiti社区。星这个回购!_

\[!提示\] 看看新的 Graphiti的MCP服务器!为Claude、Cursor和其他MCP客户端提供强大的基于知识图的内存。

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

使用Graphiti可以:

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

知识图谱是一个由相互关联的事实组成的网络,例如 _“肯德拉喜欢阿迪达斯的鞋子。”_ 每个事实都是由两个实体表示的“三元组”,或 节点(“肯德拉”、“阿迪达斯鞋”)及其关系,或边缘(“爱”)。知识图谱已被探索 广泛用于信息检索。Graphiti的独特之处在于它能够自主构建知识图 同时处理不断变化的关系并维护历史背景。

Graphiti和Zep存储器

Graphiti为核心提供动力 Zep的存储层 AI代理。

使用Graphiti,我们已经证明了Zep是 这 Agent记忆的最新进展.

阅读我们的论文: Zep:一种用于代理内存的时态知识图架构.

我们很高兴开源Graphiti,相信它的潜力远远超出了人工智能内存应用程序。

为什么选择Graphiti?

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

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

Graphiti与GraphRAG

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

Graphiti专门用于应对动态和频繁更新的数据集的挑战,使其特别适合需要实时交互和精确历史查询的应用程序。

安装

要求:

  • Python 3.10或更高版本
  • Neo4j 5.26或更高版本(作为嵌入式存储后端)
  • OpenAI API密钥(用于LLM推理和嵌入)
\[!重要\] Graphiti最适合支持结构化输出的LLM服务(如OpenAI和Gemini)。 使用其他服务可能会导致不正确的输出模式和摄入失败。这尤其 使用较小型号时会出现问题。

可选:

  • Google Gemini、Anthropic或Groq API密钥(适用于替代LLM提供商)
\[!提示\] 安装Neo4j最简单的方法是通过 Neo4j桌面。它提供了一个用户友好的 用于管理Neo4j实例和数据库的接口。
pip install graphiti-core

poetry add graphiti-core

您还可以额外安装可选的LLM提供程序:

# Install with Anthropic support
pip install graphiti-core[anthropic]

# Install with Groq support
pip install graphiti-core[groq]

# Install with Google Gemini support
pip install graphiti-core[google-genai]

# Install with multiple providers
pip install graphiti-core[anthropic,groq,google-genai]

快速开始

\[!重要\] Graphiti使用OpenAI进行LLM推理和嵌入。确保 OPENAI_API_KEY 设置在您的环境中。 对Anthropic和Groq LLM推理的支持也是可用的。其他LLM提供商可能通过OpenAI获得支持 兼容的API。

有关完整的工作示例,请参阅 快速入门示例 在示例目录中。快速入门演示了:

  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服务器自述文件.

REST服务

server 目录包含用于和Graphiti API交互的API服务。它是使用FastAPI构建的。

请查看 服务器README 了解更多信息。

可选环境变量

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

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

在Azure OpenAI中使用Graphiti

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

from openai import AsyncAzureOpenAI
from graphiti_core import Graphiti
from graphiti_core.llm_client import OpenAIClient
from graphiti_core.embedder.openai import OpenAIEmbedder, OpenAIEmbedderConfig
from graphiti_core.cross_encoder.openai_reranker_client import OpenAIRerankerClient

# Azure OpenAI configuration
api_key = ""
api_version = ""
azure_endpoint = ""

# Create Azure OpenAI client for LLM
azure_openai_client = AsyncAzureOpenAI(
    api_key=api_key,
    api_version=api_version,
    azure_endpoint=azure_endpoint
)

# Initialize Graphiti with Azure OpenAI clients
graphiti = Graphiti(
    "bolt://localhost:7687",
    "neo4j",
    "password",
    llm_client=OpenAIClient(
        client=azure_openai_client
    ),
    embedder=OpenAIEmbedder(
        config=OpenAIEmbedderConfig(
            embedding_model="text-embedding-3-small"  # Use your Azure deployed embedding model name
        ),
        client=azure_openai_client
    ),
    # Optional: Configure the OpenAI cross encoder with Azure OpenAI
    cross_encoder=OpenAIRerankerClient(
        client=azure_openai_client
    )
)

# Now you can use Graphiti with Azure OpenAI

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

在Google Gemini中使用Graphiti

Graphiti支持谷歌的Gemini模型,用于LLM推理和嵌入。要使用Gemini,您需要使用Google API密钥配置LLM客户端和嵌入程序。

安装Graphiti:

poetry add "graphiti-core[google-genai]"

# or

uv add "graphiti-core[google-genai]"
from graphiti_core import Graphiti
from graphiti_core.llm_client.gemini_client import GeminiClient, LLMConfig
from graphiti_core.embedder.gemini import GeminiEmbedder, GeminiEmbedderConfig

# Google API key configuration
api_key = ""

# Initialize Graphiti with Gemini clients
graphiti = 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"
        )
    )
)

# Now you can use Graphiti with Google Gemini

文档

现状和路线图

Graphiti正在积极开发中。我们的目标是保持API的稳定性,同时致力于:

  • \[x\] 支持自定义图形模式:

- 允许开发人员在摄取剧集时提供自己定义的节点和边缘类 - 实现针对特定用例量身定制的更灵活的知识表示

  • \[x\] 通过更强大和可配置的选项增强检索能力
  • \[x\] Graphiti MCP服务器
  • \[\]扩大测试覆盖范围以确保可靠性并抓住边缘情况

贡献

我们鼓励并感谢所有形式的贡献,无论是代码、文档、解决GitHub问题,还是 在Graphiti Discord频道回答问题。有关代码贡献的详细指南,请参阅 向 贡献.

支持

加入 Zep Discord服务器 然后前往 #图形 频道!

目录标签

目录标签

知识图谱PythonClaude本地部署AI代理实时数据处理语义搜索动态数据整合

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP