Graphiti – LLM-Powered Temporal Knowledge Graphs
Hey HN! We're Paul, Preston, and Daniel from Zep. We've just open-sourced Graphiti, a Python library for building temporal Knowledge Graphs using LLMs. Graphiti helps you create and query graphs that evolve over time. Knowledge Graphs have been explored extensively for information retrieval. What makes Graphiti unique is its ability to build a knowledge graph while handling changing relationships and maintaining historical context. At Zep, we build a memory layer for LLM applications. Developers use Zep to recall relevant user information from past conversations without including the entire…
In plain words
Graphiti is a Python library for building temporal knowledge graphs with large language models. It creates and queries graphs that evolve over time, tracking changing relationships while preserving historical context. Designed for developers building LLM applications, Graphiti helps maintain accurate user information and conversation context without requiring entire chat histories in prompts. The open-source tool addresses the need for AI systems to remember past information accurately and understand event chronology.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
Hey HN! We're Paul, Preston, and Daniel from Zep. We've just open-sourced Graphiti, a Python library for building temporal Knowledge Graphs using LLMs. Graphiti helps you create and query graphs that evolve over time. Knowledge Graphs have been explored extensively for information retrieval. What makes Graphiti unique is its ability to build a knowledge graph while handling changing relationships and maintaining historical context. At Zep, we build a memory layer for LLM applications. Developers use Zep to recall relevant user information from past conversations without including the entire chat history in a prompt. Accurate context is crucial for LLM applications. If an AI agent doesn't remember that you've changed jobs or confuses the chronology of events, its responses can be jarring or irrelevant, or worse, inaccurate. Before Graphiti, our approach to storing and retrieving user “memory” was, in effect, a specialized RAG pipeline. An LLM extracted “facts” from a user’s chat history. Semantic search, reranking, and other techniques then surfaced facts relevant to the current conversation back to a developer for inclusion in their prompt. We attempted to reconcile how new information may change our understanding of existing facts: Fact: “Kendra loves Adidas shoes” User message: “I’m so angry! My favorite Adidas shoes fell apart! Puma’s are my new favorite shoes!” Facts: - “Kendra used to love Adidas shoes but now prefers Puma.” - “Kendra’s Adidas shoes fell apart.” Unfortunately, this approach became problematic. Reconciling facts from increasingly complex conversations challenged even frontier LLMs such as gpt-4o. We saw incomplete facts, poor recall, and hallucinations. Our RAG search also failed at times to capture the nuanced relationships between facts, leading to irrelevant or contradictory information being retrieved. We tried fixing these issues with prompt optimization but saw diminishing returns on effort. We realized that a graph would help model a user’s complex world, potentially addressing these challenges. We were intrigued by Microsoft’s GraphRAG, which expanded on RAG text chunking with a graph to better model a document corpus. However, it didn't solve our core problem: GraphRAG is designed for static documents and doesn't natively handle temporality. So, we built Graphiti, which is designed from the ground up to handle constantly changing information, hybrid semantic and graph search, and scale: - Temporal Awareness: Tracks changes in facts and relationships over time. Graph edges include temporal metadata to record relationship lifecycles. - Episodic Processing: Ingests data as discrete episodes, maintaining data provenance and enabling incremental processing. - Hybrid Search: Semantic and BM25 full-text search, with the ability to rerank results by distance from a central node. - Scalable: Designed for large datasets, parallelizing LLM calls for batch processing while preserving event chronology. - Varied Sources: Ingests both unstructured text and structured data. Graphiti has significantly improved our ability to maintain accurate user context. It does a far better job of fact reconciliation over long, complex conversations. Node distance reranking, which places a user at the center of the graph, has also been a valuable tool. Quantitative data evaluation results may be a future ShowHN. Work is ongoing, including: 1. Improving support for faster and cheaper small language models. 2. Exploring fine-tuning to improve accuracy and reduce latency. 3. Adding new querying capabilities, including search over neighborhood (sub-graph) summaries. ## Getting Started Graphiti is open source and available on GitHub: https://github.com/getzep/graphiti. We'd love to hear your thoughts. Please also consider contributing!
More ai this month
the category →
I trained a 125M-parameter transformer to autocomplete piano performances in real time (~108 notes/sec on an iPhone 15). The idea is basically GitHub Copilot or Tabnine, except instead of prompting it with code, you prompt it by playing a few notes on a MIDI piano. The model then continues what you played, entirely on-device. The app is free if anyone wants to try it. Happy to answer questions about the model, training, Core ML, or the many things that didn't work.
AI · 17d ago · simedw.com
Astute▲585Automate your B2B brand going viral, with new media creators
AI · 18d ago · company-app.joinastute.com


Hey HN, Henry from Cactus here! We previously released Cactus Needle, a 14MB agentic LLM for tool call, device use, and structured extraction for phones, wearables, smart homes, small robots and microcontrollers. We got really great feedback here, and have now incorporated the suggestions to release Needle 2. The whole model is a single 14MB binary that runs a full session in 28MB of RAM; 45m parameters at 2bit compression. Needle hits 500 tokens/sec decode speed on a Raspberry Pi 5, sits between 400-1,500 tokens/sec on VR devices like Meta Quest 3S and Apple Vision Pro, and ranges…
AI · 26d ago · cactuscompute.com


Launched alongside, September 2024
the whole month →

BeforeSunset AI 2.0▲1,267Personalized AI daily planning that suits your life
AI · 2024 · beforesunset.ai


