Skip to main content

FalkorDB graph store plugin for Mem0

Project description

license PyPI version Codecov Forum Discord

mem0-falkordb

Try Free

FalkorDB graph store plugin for Mem0. Adds FalkorDB as a graph memory backend without modifying any Mem0 source code.

Installation

pip install mem0-falkordb

You also need Mem0 installed separately:

pip install mem0ai

Quick Start

from mem0_falkordb import register
register()

from mem0 import Memory

config = {
    "graph_store": {
        "provider": "falkordb",
        "config": {
            "host": "localhost",
            "port": 6379,
            "database": "mem0",
        },
    },
    # Add your LLM and embedder config as usual
    "llm": {
        "provider": "openai",
        "config": {"model": "gpt-4o-mini"},
    },
}

m = Memory.from_config(config)
m.add("I love pizza", user_id="alice")
results = m.search("what does alice like?", user_id="alice")
image

Demo

See the demo/ directory for a comprehensive multi-user demonstration showcasing:

  • Graph-structured memory — relationships between entities, not just flat facts
  • Per-user graph isolation — each user gets their own FalkorDB graph
  • Context-aware retrieval — semantic search with vector embeddings
  • Memory evolution — updates and conflict resolution
  • Visual inspection — see the actual graph structure
docker run --rm -p 6379:6379 falkordb/falkordb:latest
cd demo
uv sync
export OPENAI_API_KEY='your-key-here'
uv run python demo.py

See demo/README.md for complete instructions.

Configuration

Parameter Type Default Description
host str localhost FalkorDB server host
port int 6379 FalkorDB server port
database str mem0 Graph name prefix (each user gets {database}_{user_id})
username str None Authentication username (optional)
password str None Authentication password (optional)
base_label bool True Use __Entity__ base label

Per-User Graph Isolation

Each user automatically gets their own isolated FalkorDB graph (e.g. mem0_alice, mem0_bob). This leverages FalkorDB's native multi-graph support and provides:

  • Natural data isolation — no user_id filtering needed in Cypher queries
  • Simpler, faster queries — no WHERE clauses on user_id
  • Easy cleanupdelete_all simply drops the user's graph

Running FalkorDB

Using Docker:

docker run --rm -p 6379:6379 falkordb/falkordb

How It Works

This plugin uses Python's runtime patching to register FalkorDB into Mem0's existing factory system:

  1. GraphStoreFactory.provider_to_class gets a new "falkordb" entry
  2. GraphStoreConfig is patched to accept FalkorDBConfig
  3. A MemoryGraph class translates Mem0's graph operations to FalkorDB-compatible Cypher

Key Cypher Translations

Neo4j FalkorDB
elementId(n) id(n)
vector.similarity.cosine() db.idx.vector.queryNodes() procedure
db.create.setNodeVectorProperty() SET n.embedding = vecf32($vec)
CALL { ... UNION ... } subqueries Separate outgoing + incoming queries

Development

git clone <repo>
cd mem0-falkordb
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mem0_falkordb-0.4.1.tar.gz (181.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mem0_falkordb-0.4.1-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file mem0_falkordb-0.4.1.tar.gz.

File metadata

  • Download URL: mem0_falkordb-0.4.1.tar.gz
  • Upload date:
  • Size: 181.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mem0_falkordb-0.4.1.tar.gz
Algorithm Hash digest
SHA256 90e57292e377d98914695504ed3d472ce51c6217b7e62a712f1d59332a71c6df
MD5 4e1ed31d4d09e9ce9fe1de8088678fbb
BLAKE2b-256 6acb7b564503f75fc36ba0c3f9d01720810f7070fc4c48832aed26b1c1dff800

See more details on using hashes here.

Provenance

The following attestation bundles were made for mem0_falkordb-0.4.1.tar.gz:

Publisher: publish.yml on FalkorDB/mem0-falkordb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mem0_falkordb-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: mem0_falkordb-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mem0_falkordb-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ffff6e4efb46274d5c4dbce0612b3cfba20c1e59f04c10e7a6a70c716c9808e
MD5 0f86dfae099eaee3e65cbe2cbd59d578
BLAKE2b-256 c80c49d232d669fa94696f93abc9f668628918652dac3bf8def5057132d2ebeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for mem0_falkordb-0.4.1-py3-none-any.whl:

Publisher: publish.yml on FalkorDB/mem0-falkordb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page