ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Graphiti 时态知识图:给 AI Agent 装长期记忆的最小 20 行方案

Graphiti 时态知识图:给 AI Agent 装长期记忆的最小 20 行方案 Graphiti 时态知识图给 AI Agent 装长期记忆的最小 20 行方案【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti它解决什么问题如果你在做一个 AI Agent发现它总是失忆——用户上次说过的话转头就忘数据在某时某刻是什么样子也说不清那 Graphiti 就是你要找的 AI Agent 记忆层。它把对话、业务数据、外部内容实时增量地吃进来实时构建一张可随时查询的时态知识图事实带双时间戳历史时点查询不用重算全图。核心能力一览说白了数据丢进去它自动抽实体和关系查询时向量、关键词、图遍历三路一起打分而且每条事实都知道自己何时为真。能力一句话说明对你意味着什么实时增量更新新内容即时入图不批量重建记忆永远最新省掉整库重跑双时态模型每条关系带生效时间和摄入时间当时是什么情况这种问题能直接答混合检索语义向量 BM25 关键词 图遍历组合低延迟出结果不靠 LLM 兜底汇总自定义本体用 Pydantic 模型定义自己的实体和关系按你的业务建模而不是套用默认结构多存储后端Neo4j、FalkorDB、Kuzu、Neptune 都支持用你手里现成的图数据库就能跑最快上手路径跑起来之前只需要四样东西Python 3.10pip install graphiti-core一行装好本地图数据库Neo4j 5.26 或 FalkorDBDocker 起都行配好OPENAI_API_KEY实体抽取和向量化都用它仓库里examples/quickstart/有官方样例对照改就行下面这 20 行就是连接 → 建索引 → 喂一条数据 → 混合搜索的完整闭环 ⚡import asyncio from graphiti_core import Graphiti from graphiti_core.nodes import EpisodeType async def main(): # 连接本地 Neo4j g Graphiti(bolt://localhost:7687, neo4j, password) # 建索引和约束只需跑一次 await g.build_indices_and_constraints() # 喂一段文本框架自动抽出实体和关系 await g.add_episode( nameEpisode 0, episode_bodyKamala Harris is the Attorney General of California., sourceEpisodeType.text, ) # 混合检索语义向量 BM25 关键词 results await g.search(Who is the California Attorney General?) print(results[0].fact) await g.close() asyncio.run(main())跑完你会拿到一条条带生效时间区间的事实陈述而不是 RAG 那种相似度比较高的几段文字——这是两者最本质的区别。三个真实场景电商推荐先把谁喜欢什么画成图你会用它把商品页、用户评论、客服对话不断喂进图里。仓库里 TinyBirds 这个样例会把商品TinyBirds Wool Runners、用户jess、尺码变体5T、8T……自动抽成实体再用MENTIONS、INTERESTED_IN、HAS_SIZE_VARIANT这类关系串起来。再问jess 对哪些商品有兴趣返回的是结构化的图路径而不是一堆文本碎片。客服 Agent让它真的记住客户你会用它把每轮对话用add_episode写进图里。客户下次说我上次讲过……时Agent 直接从图里取回历史说法和它的时间范围不靠上下文窗口硬扛。新对话只更新相关节点和边老图不用动。历史查询审计和当时是什么样事实变了比如换岗、改地址Graphiti 不删旧关系而是用双时态字段把它标记为失效。于是2015 年时谁在加州检察长任上这条用户信息在摄入前长什么样都能按时间点回答合规审计、决策回溯这类场景直接受益。容易踩的坑 调优建议 坑一忘了建索引搜索又空又慢现象连接成功、数据也进去了search却返回空或慢得出奇。原因Graphiti 依赖图库里的向量和全文索引这些不会自动存在。解法启动时先调一次build_indices_and_constraints()开发环境想重置就带delete_existingTrue重建。坑二Graph not found: default_db报错现象一启动就抛 Neo4j 的 DatabaseNotFound。原因驱动默认连的数据库名和你实际用的对不上。解法构建驱动时显式传database参数指向真实库名别改完默认值再排查半天。调优大批量历史数据入库慢现象一次性灌几百份文档慢到想杀进程。原因每条 episode 都要过 LLM 抽实体、去重串行时就是瓶颈。解法历史存量用框架提供的批量接口并行入库日常新增的对话走实时单条插入两者分开跑。周边与延伸Neo4j默认图存储后端向量与全文索引成熟你已有 Neo4j 集群就能直接接。FalkorDBRedis 生态的实时图数据库延迟低官方把它列为替代后端Docker 一键起。MCP Server仓库自带mcp_server/子项目把图查询能力封装成 MCP 工具Cursor 这类 IDE 里直接调用省掉自己写集成层。底层设计思路来自 Zep 团队发表的 Zep 论文arXiv 2501.13956仓库images/目录里留了论文首页截图想快速理解时态知识图的双时间戳动机可以翻一翻【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表