简介

Graphiti​ 是一个创新的开源框架,专门用于为AI智能体构建实时知识图谱。它能够将用户交互、企业数据和外部信息持续整合到统一的、可查询的知识图谱中,为AI应用提供动态的、上下文感知的知识支持。

🔗 ​GitHub地址​:

https://github.com/getzep/graphiti

🚀 ​核心价值​:

知识图谱 · 实时更新 · AI智能体 · 多模态数据 · 开源免费

项目背景​:

  • AI智能体需求​:解决AI智能体对动态知识的需求

  • 传统RAG局限​:克服传统RAG批处理和静态数据的限制

  • 实时性要求​:满足实时数据整合和查询需求

  • 企业应用​:支持企业级动态数据管理

  • 开源生态​:构建开源知识图谱生态

项目特色​:

  • ⚡ ​实时更新​:实时数据整合和更新

  • 🧠 ​知识图谱​:强大知识图谱构建能力

  • 🔄 ​增量处理​:增量数据更新处理

  • 🌈 ​多数据源​:多源数据整合支持

  • 🆓 ​完全开源​:代码完全开源免费

技术亮点​:

  • 双时间模型​:事件发生和摄入时间跟踪

  • 混合检索​:语义、关键词和图遍历混合检索

  • 自定义实体​:灵活自定义实体定义

  • 高性能​:低延迟查询和高吞吐量

  • 可扩展​:企业级可扩展性


主要功能

1. ​核心功能体系

Graphiti提供了一套完整的知识图谱构建和管理解决方案,涵盖数据摄入、图谱构建、实时更新、混合检索、查询处理等多个方面。

数据摄入功能​:

数据源支持:
- 用户交互: 用户对话和交互数据
- 企业数据: 结构化企业数据
- 外部信息: 外部数据源整合
- 多模态数据: 文本、图像等多模态数据
- 实时流数据: 实时数据流处理

摄入处理:
- 实时摄入: 实时数据摄入处理
- 批量摄入: 批量数据摄入支持
- 增量更新: 增量数据更新处理
- 质量验证: 数据质量验证
- 格式转换: 数据格式转换

数据管理:
- 数据清洗: 数据清洗和预处理
- 数据标准化: 数据标准化处理
- 元数据管理: 元数据提取和管理
- 版本控制: 数据版本控制
- 溯源追踪: 数据溯源追踪

知识图谱构建功能​:

图谱构建:
- 实体提取: 自动实体提取和识别
- 关系抽取: 关系抽取和建立
- 图谱生成: 知识图谱生成
- 质量评估: 图谱质量评估
- 可视化: 图谱可视化支持

图谱管理:
- 节点管理: 节点增删改查管理
- 边管理: 关系边管理
- 属性管理: 节点属性管理
- 索引管理: 图谱索引管理
- 版本管理: 图谱版本管理

实时更新:
- 实时添加: 实时添加新数据
- 动态更新: 动态图谱更新
- 冲突解决: 数据冲突解决
- 一致性保证: 数据一致性保证
- 性能优化: 更新性能优化

检索查询功能​:

检索模式:
- 语义检索: 基于语义的检索
- 关键词检索: 关键词检索支持
- 图遍历: 图谱遍历检索
- 混合检索: 混合检索模式
- 高级检索: 高级检索功能

查询处理:
- 自然语言查询: 自然语言查询支持
- 结构化查询: 结构化查询语言
- 复杂查询: 复杂查询处理
- 实时查询: 实时查询响应
- 历史查询: 历史数据查询

结果处理:
- 结果排序: 检索结果排序
- 相关性评估: 相关性评估
- 结果聚合: 结果聚合处理
- 分页支持: 分页查询支持
- 格式输出: 多种输出格式

2. ​高级功能

时间感知功能​:

时间模型:
- 双时间模型: 事件时间和摄入时间
- 时间跟踪: 精确时间跟踪
- 历史查询: 历史数据查询
- 时间切片: 时间切片查询
- 时序分析: 时序数据分析

时间处理:
- 时间解析: 时间信息解析
- 时间标准化: 时间标准化处理
- 时间推理: 时间关系推理
- 时间约束: 时间约束查询
- 时间优化: 时间查询优化

时间应用:
- 版本追溯: 数据版本追溯
- 变化跟踪: 数据变化跟踪
- 趋势分析: 趋势分析支持
- 预测支持: 预测模型支持
- 时序可视化: 时序数据可视化

混合检索功能​:

检索技术:
- 语义嵌入: 语义嵌入向量检索
- 关键词匹配: BM25关键词匹配
- 图遍历: 图谱结构遍历
- 混合算法: 混合检索算法
- 优化策略: 检索优化策略

性能优化:
- 索引优化: 检索索引优化
- 缓存策略: 智能缓存策略
- 并行处理: 并行检索处理
- 负载均衡: 检索负载均衡
- 资源管理: 资源使用优化

质量保证:
- 准确性: 检索准确性保证
- 完整性: 结果完整性
- 相关性: 高相关性结果
- 多样性: 结果多样性
- 新鲜度: 数据新鲜度

自定义实体功能​:

实体定义:
- 自定义类型: 自定义实体类型
- 属性定义: 自定义属性定义
- 关系定义: 自定义关系类型
- 约束定义: 数据约束定义
- 验证规则: 数据验证规则

实体管理:
- 创建管理: 实体创建和管理
- 更新处理: 实体更新处理
- 删除处理: 实体删除处理
- 查询支持: 实体查询支持
- 扩展支持: 实体扩展支持

应用集成:
- API集成: 编程API集成
- 工具集成: 开发工具集成
- 框架集成: 框架集成支持
- 系统集成: 系统集成支持
- 自定义开发: 自定义开发支持

安装与配置

1. ​环境准备

系统要求​:

硬件要求:
- 内存: 8GB+ RAM (推荐16GB)
- 存储: 20GB+ 可用空间
- CPU: 多核处理器
- 网络: 稳定网络连接

软件要求:
- 操作系统: Linux, Windows, macOS
- Python: 3.10+ 版本
- 图数据库: Neo4j 5.26+ 或 FalkorDB 1.1.2+
- LLM服务: OpenAI, Gemini, Anthropic等
- 容器支持: Docker (可选)

API要求:
- LLM API: OpenAI等API访问权限
- 嵌入模型: 嵌入模型API访问
- 网络访问: 外部服务访问权限

2. ​安装步骤

基础安装​:

# 使用pip安装核心包
pip install graphiti-core

# 或使用uv安装
uv add graphiti-core

# 安装FalkorDB支持
pip install graphiti-core[falkordb]

# 安装LLM提供商支持
pip install graphiti-core[anthropic]
pip install graphiti-core[groq] 
pip install graphiti-core[google-genai]

# 安装所有支持
pip install graphiti-core[falkordb,anthropic,groq,google-genai]

Docker安装​:

# 使用Docker Compose
git clone https://github.com/getzep/graphiti.git
cd graphiti

# 复制环境配置
cp .env.example .env

# 启动服务
docker compose up -d

# 或单独启动FalkorDB
docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest

开发安装​:

# 克隆仓库
git clone https://github.com/getzep/graphiti.git
cd graphiti

# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate

# 安装开发版本
pip install -e ".[dev]"

# 或使用uv
uv sync --all-extras

3. ​配置说明

基础配置​:

# 基础配置示例
from graphiti_core import Graphiti

# 使用Neo4j
graphiti = Graphiti(
    uri="bolt://localhost:7687",
    user="neo4j", 
    password="password",
    database="neo4j"
)

# 使用FalkorDB  
graphiti = Graphiti(
    host="localhost",
    port=6379,
    username="falkor_user",
    password="falkor_password",
    database="default_db"
)

LLM配置​:

# OpenAI配置
from graphiti_core import Graphiti
from graphiti_core.llm_client import OpenAIClient, LLMConfig

graphiti = Graphiti(
    "bolt://localhost:7687", "neo4j", "password",
    llm_client=OpenAIClient(
        config=LLMConfig(
            model="gpt-4o-mini",
            small_model="gpt-4o-mini"
        )
    )
)

# Azure OpenAI配置
from openai import AsyncAzureOpenAI

llm_client_azure = AsyncAzureOpenAI(
    api_key="your-api-key",
    api_version="2024-02-15-preview",
    azure_endpoint="https://your-resource.openai.azure.com/"
)

# Gemini配置
from graphiti_core.llm_client.gemini_client import GeminiClient

graphiti = Graphiti(
    "bolt://localhost:7687", "neo4j", "password",
    llm_client=GeminiClient(
        config=LLMConfig(
            api_key="your-google-api-key",
            model="gemini-2.0-flash"
        )
    )
)

高级配置​:

# 自定义数据库配置
from graphiti_core import Graphiti
from graphiti_core.driver.neo4j_driver import Neo4jDriver

driver = Neo4jDriver(
    uri="bolt://localhost:7687",
    user="neo4j",
    password="password",
    database="custom_database"
)

graphiti = Graphiti(graph_driver=driver)

# 性能配置
import os
os.environ["SEMAPHORE_LIMIT"] = "20"  # 并发控制
os.environ["USE_PARALLEL_RUNTIME"] = "true"  # 并行运行

# 禁用遥测
os.environ["GRAPHITI_TELEMETRY_ENABLED"] = "false"

环境变量配置​:

# 数据库配置
export NEO4J_URI="bolt://localhost:7687"
export NEO4J_USER="neo4j"
export NEO4J_PASSWORD="password"
export NEO4J_DATABASE="neo4j"

# LLM配置
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-..."
export GOOGLE_API_KEY="your-google-key"

# 性能配置
export SEMAPHORE_LIMIT="20"
export USE_PARALLEL_RUNTIME="true"

# 遥测配置
export GRAPHITI_TELEMETRY_ENABLED="false"

使用指南

1. ​基本工作流

使用Graphiti的基本流程包括:环境准备 → 数据库配置 → Graphiti初始化 → 数据摄入 → 图谱构建 → 查询检索 → 结果处理。整个过程设计为简单高效。

2. ​基本使用

初始化配置​:

1. 环境准备:
   - 数据库安装: 安装Neo4j或FalkorDB
   - API配置: 配置LLM和嵌入模型API
   - 依赖安装: 安装Graphiti和相关依赖
   - 环境变量: 设置必要环境变量
   - 验证准备: 验证环境准备情况

2. Graphiti初始化:
   - 数据库连接: 配置数据库连接
   - LLM设置: 配置LLM客户端
   - 嵌入模型: 配置嵌入模型
   - 交叉编码器: 配置重排序模型
   - 完成初始化: 完成Graphiti初始化

3. 配置验证:
   - 连接测试: 测试数据库连接
   - API测试: 测试API访问
   - 功能验证: 验证基本功能
   - 性能测试: 性能基线测试
   - 就绪确认: 系统就绪确认

数据摄入​:

1. 数据准备:
   - 数据收集: 收集待摄入数据
   - 格式检查: 检查数据格式兼容性
   - 质量评估: 评估数据质量
   - 预处理: 必要预处理操作
   - 批量准备: 批量数据准备

2. 摄入操作:
   - 单条摄入: 单条数据摄入
   - 批量摄入: 批量数据摄入
   - 实时摄入: 实时数据流摄入
   - 增量更新: 增量数据更新
   - 状态监控: 摄入状态监控

3. 质量控制:
   - 摄入验证: 摄入结果验证
   - 错误处理: 摄入错误处理
   - 质量报告: 摄入质量报告
   - 优化调整: 摄入流程优化
   - 性能监控: 摄入性能监控

查询检索​:

1. 查询构建:
   - 自然语言: 自然语言查询构建
   - 结构化查询: 结构化查询构建
   - 参数设置: 查询参数设置
   - 模式选择: 检索模式选择
   - 优化调整: 查询优化调整

2. 检索执行:
   - 检索模式: 选择检索模式
   - 参数调整: 调整检索参数
   - 执行检索: 执行检索操作
   - 结果合并: 多结果集合并
   - 重排序: 结果重排序

3. 结果处理:
   - 结果解析: 检索结果解析
   - 相关性排序: 按相关性排序
   - 格式转换: 结果格式转换
   - 质量评估: 结果质量评估
   - 输出准备: 输出结果准备

3. ​高级用法

MCP服务器​:

MCP集成:
- 协议支持: Model Context Protocol支持
- 客户端集成: MCP客户端集成
- 功能暴露: Graphiti功能暴露
- 标准化接口: 标准化协议接口
- 扩展支持: 扩展功能支持

服务器部署:
- Docker部署: Docker容器部署
- 本地部署: 本地服务器部署
- 配置管理: 服务器配置管理
- 监控管理: 服务器监控管理
- 扩展开发: 服务器扩展开发

客户端使用:
- 客户端配置: MCP客户端配置
- 功能调用: 远程功能调用
- 数据交换: 数据交换处理
- 错误处理: 远程错误处理
- 性能优化: 远程性能优化

REST API服务​:

API架构:
- FastAPI: 基于FastAPI构建
- RESTful: RESTful API设计
- 异步支持: 异步处理支持
- 文档生成: 自动API文档
- 验证支持: 输入验证支持

API功能:
- 数据摄入: 数据摄入API
- 查询检索: 查询检索API
- 图谱管理: 图谱管理API
- 系统管理: 系统管理API
- 监控统计: 监控统计API

客户端集成:
- SDK支持: 客户端SDK支持
- 语言支持: 多语言客户端
- 认证授权: 认证授权支持
- 错误处理: 客户端错误处理
- 性能优化: 客户端性能优化

高级检索​:

混合检索:
- 语义检索: 语义向量检索
- 关键词检索: 关键词匹配检索
- 图遍历: 图谱结构检索
- 混合策略: 混合检索策略
- 权重调整: 检索权重调整

高级功能:
- 时间检索: 时间感知检索
- 空间检索: 空间关系检索
- 语义相似: 语义相似性检索
- 模式匹配: 模式匹配检索
- 推理检索: 推理增强检索

优化策略:
- 索引优化: 检索索引优化
- 缓存策略: 智能缓存策略
- 预取优化: 数据预取优化
- 并行处理: 并行检索处理
- 资源管理: 资源使用优化

应用场景实例

案例1:AI智能体记忆系统

场景​:AI智能体长期记忆和上下文管理

解决方案​:使用Graphiti构建智能体记忆系统。

实施方法​:

  1. 交互记录​:记录智能体与用户交互

  2. 知识提取​:从交互中提取知识

  3. 图谱构建​:构建智能体知识图谱

  4. 上下文管理​:管理对话上下文

  5. 记忆检索​:支持记忆检索和利用

智能体价值​:

  • 长期记忆​:提供长期记忆能力

  • 上下文理解​:增强上下文理解

  • 个性化​:个性化交互支持

  • 一致性​:保持交互一致性

  • 学习能力​:持续学习能力

案例2:企业知识管理

场景​:企业动态知识管理系统

解决方案​:使用Graphiti构建企业知识图谱。

实施方法​:

  1. 数据整合​:整合企业多源数据

  2. 知识提取​:提取企业知识

  3. 图谱构建​:构建企业知识图谱

  4. 知识检索​:支持知识检索和查询

  5. 知识应用​:知识应用和分享

企业价值​:

  • 知识整合​:企业知识统一整合

  • 知识发现​:新知识发现和支持

  • 决策支持​:支持企业决策

  • 效率提升​:提升工作效率

  • 创新支持​:支持创新和发展

案例3:实时推荐系统

场景​:实时个性化推荐系统

解决方案​:使用Graphiti构建实时推荐引擎。

实施方法​:

  1. 用户行为​:收集用户行为数据

  2. 实时处理​:实时处理用户行为

  3. 图谱更新​:实时更新知识图谱

  4. 推荐生成​:生成个性化推荐

  5. 效果优化​:推荐效果优化

推荐价值​:

  • 实时性​:实时推荐生成

  • 个性化​:高度个性化推荐

  • 准确性​:推荐准确性高

  • 多样性​:推荐多样性保证

  • 用户体验​:提升用户体验

案例4:科研知识发现

场景​:科研文献知识发现

解决方案​:使用Graphiti构建科研知识图谱。

实施方法​:

  1. 文献收集​:收集科研文献数据

  2. 知识提取​:提取科研知识

  3. 图谱构建​:构建科研知识图谱

  4. 关系发现​:发现知识关系

  5. 研究支持​:支持研究创新

科研价值​:

  • 知识连接​:连接分散知识

  • 新发现​:支持新发现

  • 研究效率​:提升研究效率

  • 合作支持​:支持科研合作

  • 创新加速​:加速科研创新

案例5:智能客服系统

场景​:智能客服知识支持

解决方案​:使用Graphiti增强客服系统。

实施方法​:

  1. 客服数据​:收集客服交互数据

  2. 知识构建​:构建客服知识图谱

  3. 实时支持​:实时客服支持

  4. 质量提升​:客服质量提升

  5. 效率优化​:客服效率优化

客服价值​:

  • 响应质量​:提升响应质量

  • 处理效率​:提高处理效率

  • 一致性​:保持回答一致性

  • 客户满意​:提高客户满意度

  • 成本降低​:降低客服成本


总结

Graphiti作为一个创新的实时知识图谱框架,通过其强大的实时更新、混合检索、时间感知和自定义实体能力,为AI智能体和知识管理应用提供了完整的解决方案。

核心优势​:

  • ⚡ ​实时性​:实时数据更新和查询

  • 🧠 ​知识图谱​:强大知识图谱能力

  • 🔍 ​混合检索​:多模式混合检索

  • ⏰ ​时间感知​:时间感知数据处理

  • 🆓 ​开源免费​:代码完全开源免费

适用场景​:

  • AI智能体记忆系统

  • 企业知识管理

  • 实时推荐系统

  • 科研知识发现

  • 智能客服系统

立即开始使用​:

# 快速开始
pip install graphiti-core
# 配置环境变量
export OPENAI_API_KEY="your-api-key"
export NEO4J_URI="bolt://localhost:7687"
# 开始使用!

资源链接​:

  • 📚 ​项目地址​:GitHub仓库

  • 📖 ​技术文档​:完整技术文档

  • 💬 ​社区支持​:GitHub讨论区

  • 🎥 ​演示示例​:快速开始示例

  • 🔧 ​配置参考​:配置选项参考

通过Graphiti,您可以​:

  • 实时知识​:构建实时知识图谱

  • 智能增强​:增强AI智能体能力

  • 知识管理​:高效知识管理

  • 决策支持​:支持智能决策

  • 应用创新​:创新应用开发

无论您是AI开发者、企业用户、研究人员还是系统架构师,Graphiti都能为您提供强大、高效且免费的知识图谱解决方案!​

特别提示​:

  • 🔍 ​数据库配置​:正确配置图数据库

  • 📖 ​文档阅读​:详细阅读技术文档

  • 🤝 ​社区参与​:积极参与社区贡献

  • 🔧 ​性能优化​:根据需求优化配置

  • ⚠️ ​API管理​:注意API使用成本

通过Graphiti,共同推动知识图谱技术的发展!​

未来发展​:

  • 🚀 ​更多功能​:持续添加新功能

  • 🤖 ​性能提升​:进一步提升性能

  • 🌍 ​生态建设​:开发者生态建设

  • 📊 ​质量优化​:进一步质量优化

  • 🔧 ​集成扩展​:更多系统集成

加入社区​:

参与方式:
- GitHub Issues: 问题反馈和功能建议
- 文档贡献: 技术文档改进贡献
- 代码贡献: 代码改进和功能添加
- 示例贡献: 示例和教程贡献
- 社区讨论: 社区讨论和交流

社区价值:
- 技术交流和学习
- 问题解答和支持
- 功能建议和讨论
- 项目贡献和认可
- 职业发展机会

通过Graphiti,共同构建更好的知识图谱未来!​

许可证​:

Apache 2.0许可证
免费用于学术和商业用途

致谢​:

特别感谢:
- Zep团队: 项目开发和维护
- 贡献者: 代码和功能贡献
- 用户社区: 用户反馈和支持
- 开源项目: 依赖的开源项目
- 研究机构: 研究成果贡献

通过Graphiti,体验实时知识图谱的无限可能!​

Logo

更多推荐