Favicon of Graphiti

Graphiti

A self-hosted Python framework for AI agent memory that preserves changing facts and their sources, with local LLM support and an Apache 2.0 license.

Screenshot of Graphiti website

Graphiti is a Python framework for developers building AI agents that need to remember information as it changes. It turns conversations, structured records and unstructured text into a queryable graph with a history of facts.

  • Historical memory: Query current facts or earlier states; when new information supersedes a fact, the graph retains its history.
  • Source tracing: Follow each derived entity and relationship back to the original data that produced it.
  • Incremental updates: Add incoming information without rebuilding the whole graph, with entity and relationship types defined through Pydantic or learned from the data.
  • Combined search: Retrieve context using semantic similarity, keyword matching and graph relationships without relying on LLM summaries at query time.

Graphiti is open source under Apache 2.0 and supports local inference through OpenAI-compatible endpoints, including Ollama, vLLM, llama.cpp and LM Studio. Hosted providers can use the same interface. Reliable structured JSON output matters: small local models can produce extraction failures when their responses don't match the required schema.

The framework needs a graph database backend and model services, so local deployment depends on those choices too. Supported backend choices include Neo4j, FalkorDB and Amazon Neptune. Its telemetry collects anonymous system and provider configuration details, but excludes queries, source data and graph content.

Similar to Graphiti