Favicon of Graphiti

Graphiti

A self-hosted Python framework for AI agent memory that tracks changing facts. Apache 2.0 licensed, with support for local LLMs and cloud APIs.

Graphiti is a self-hosted Python framework for developers building AI agents that need to remember changing facts. It builds knowledge graphs from conversations, structured records and unstructured text, so an agent can query current information or recover what was true earlier. It's open source under Apache 2.0.

When new information supersedes a fact, Graphiti preserves the older fact's history. Each derived entity and relationship links back to the source data that produced it. Incoming data updates the graph incrementally, without rebuilding the whole graph. Search combines semantic similarity with keyword matching and relationship traversal, without relying on LLM summaries at query time. Developers can define entity and relationship types with Pydantic or let the structure emerge from their data.

Graphiti runs on your own infrastructure, with Docker deployment available. It supports Neo4j, FalkorDB and Amazon Neptune as graph backends. For local LLM inference, it connects to Ollama, vLLM, llama.cpp or LM Studio through OpenAI-compatible APIs. It defaults to cloud-based OpenAI inference and embeddings, which require an API key; Anthropic, Gemini and Groq are alternatives. Smaller local models can fail to produce the structured output it needs.

You'll need to build the surrounding application yourself. Zep is the separate managed offering. Graphiti includes an MCP server for AI assistants and a FastAPI REST service. Its telemetry collects system and provider configuration details, but excludes your queries, source data and graph content.

Similar to Graphiti