Skip to content

Releases: stevereiner/flexible-graphrag

v0.6.2 migrated to LlamaParse 2.x, backend in docker fixes

02 Jun 14:51

Choose a tag to compare

  1. Migrated from using LlamaParse 1.x to using LlamaParse 2.x
  2. Fixed default port for Neo4j to be 7687 if no .env
  3. frontend package names fixed: now flexible-graphrag-react, flexible-graphrag-vue,
    already had flexible-graphrag-angular (had leftover names from cmis-graphrag-react, etc.)
  4. For backend in docker: docker.env was fixed to have new style db specific json config vars,
    docker ontology paths fixed, access of postgres for inc update mgt fixed
  5. In env-sample.txt, section with db config details in individual vars was removed,
    with details moved to json examples in regular db sections, added lm studio examples for
    openai_like llm and embedding.
  6. for arcadedb embedded, readme.md and docs/getting-started/python-backend to have the correct
    package name arcadedb-embedded

v0.6.1: packaging fix (missing adapter files), pypi readme/description update, ontology docs fixes

16 May 03:19

Choose a tag to compare

v0.6.1: packaging fix (fix missing adapter files), pypi README/description improvements, ontology docs path corrections

  1. flexible-graphrag/pyproject.toml — bump to 0.6.1; add adapters* to
    packages.find include (fixes ModuleNotFoundError: No module named
    'adapters' after PyPI install); rewrite description to be keyword-rich

  2. flexible-graphrag/README.md — canonical intro paragraph; quick-install
    code block; LlamaIndex-only caveat with Framework Config doc link;
    corrected ontology schema paths (../schemas/); pointer to full README
    for Docker/frontend/extras

  3. flexible-graphrag/start.py — fix docstring: uv run python -m start
    replaced with python -m start (former only works from source checkout)

  4. flexible-graphrag-mcp/pyproject.toml — bump to 0.6.1; rewrite
    description (replace "HTTP bridge" with "connects to", add DB/source counts)

  5. flexible-graphrag-mcp/README.md — top paragraph replaced with
    canonical project intro; remove "HTTP bridge" and GET /api/status
    references

  6. docs/DATABASES/RDF/ontology_examples_and_config.md — clarify
    ontologies apply to both property graphs and RDF stores (not RDF-only);
    remove misleading RDF_GRAPH_DB block; correct all schema paths to
    ../schemas/ (matching env-sample.txt); add install-type note

  7. CHANGELOG.md — 0.6.1 entry

v0.6.0 Full LangChain support in addition to LlamaIndex, more DBs (15 PG, 4 RDF)

14 May 06:49

Choose a tag to compare

v0.6.0 LlamaIndex or LangChain, 15 graph (8 + ArangoDB,AGE,Cosmos,SurrealDB,Spanner,HugeGraph,TigerGraph). 4 RDF (3 + Neptune RDF), 10 vector, 3 search

  1. 15 total property graph databases — 8 existing LlamaIndex stores with LangChain versions
    added (Neo4j, ArcadeDB, FalkorDB, Memgraph, NebulaGraph, Neptune, Neptune Analytics,
    LadybugDB); 6 new LC-only stores (ArangoDB, Apache AGE, Azure Cosmos DB Gremlin, Apache
    HugeGraph, SurrealDB, TigerGraph); 1 new LI-only store (Google Cloud Spanner)

  2. 10 LangChain vector backends (Qdrant, Elasticsearch, Milvus, Weaviate, LanceDB, Chroma,
    Pinecone, pgvector, OpenSearch, Neo4j vector); 3 LangChain search backends (Elasticsearch,
    OpenSearch, BM25); 4 RDF/triple-store backends (Fuseki, GraphDB, Oxigraph + new Amazon
    Neptune RDF with IAM SigV4 auth)

  3. flexible-graphrag now runs fully on LlamaIndex, fully on LangChain, or any mix — both
    frameworks are first-class peers. Each pipeline stage is independently configurable:
    CHUNKER_BACKEND, KG_EXTRACTOR_BACKEND, GRAPH_BACKEND, VECTOR_BACKEND, SEARCH_BACKEND,
    RETRIEVAL_FUSION, LLM_PROVIDER, EMBEDDING_KIND. Note: document readers / data sources
    remain LlamaIndex-based (first pipeline stage). LangChain-only graph stores auto-select
    GRAPH_BACKEND=langchain.

  4. Retrievers for both LI and LC with fusion support for both frameworks (RETRIEVAL_FUSION=
    llamaindex uses QueryFusionRetriever; =langchain uses EnsembleRetriever when all stores are
    LC-backed). LangChain retrievers include: Synonym Exploder (expands query terms for vector
    search), pg_vector + neighborhood traversal for Neo4j (LANGCHAIN_PG_VECTOR_SEARCH,
    USE_PG_NEIGHBORHOOD), and text-to-query graph QA for all LC property graph stores (generates
    Cypher for Neo4j/ArcadeDB/Memgraph/FalkorDB/Ladybug/AGE, GQL for HugeGraph, SurrealQL for
    SurrealDB, AQL for ArangoDB, SPARQL for all RDF stores).

  5. Matrix test support — run_matrix.py / run_all_profiles.py; 24+ integration test profiles
    covering all PG, vector, search, RDF, and chunker combinations

  6. Docling OCR — DOCLING_OCR=true + DOCLING_OCR_ENGINE (auto / rapidocr / easyocr /
    tesseract_cli / tesserocr / ocrmac); optional extras for easyocr, tesserocr, ocrmac

  7. Incremental update (add, delete, modify) end-to-end across property graph, RDF,
    vector, and search databases on both LlamaIndex and LangChain backends

  8. scripts/cleanup.py — all 15 property graph stores have native-client cleanup; early skip
    when store stage disabled to improve speed, postgres document state / datasource config
    tabvle cleanup skipped ifuse incremental update false.

  9. Observability — upgraded OpenLIT + OpenInference LangChain instrumentation; both OTLP
    producers (LlamaIndex via OpenLIT, LangChain via OpenInference) work simultaneously

  10. Docs site (zensical 0.0.40) + major doc updates — ARCHITECTURE.md (15 PG stores, 13 LLM
    providers, framework backends section), per-store setup guides (Cosmos Gremlin, Neptune,
    Spanner), CONFIG-PROPERTY-GRAPH, DATABASE-CONFIGURATION, UI-TAB-SEARCH, MCP-TOOLS; all
    broken links fixed, README.md updated

  11. Per-store config isolation — each database and LLM/embedding provider has its own typed
    config env var ({TYPE}_GRAPH_DB_CONFIG, {TYPE}_VECTOR_DB_CONFIG, {TYPE}_SEARCH_DB_CONFIG,
    {KIND}_EMBEDDING_MODEL, etc.); per-store config takes precedence over generic fallback; no
    shared config collisions across stores

  12. Time logging now separates out KG extraction time from graph storage time.

v0.5.2 ladybug pkg, py 3.14: MCP stdio and ingest text fixes

12 Apr 23:41

Choose a tag to compare

v0.5.2 Release Notes

v0.5.2 use ladybug package, llama-index-ladybug 0.3.1, py 3.14 MCP stdio fix, py 3.14 MCP/REST ingest_text, ingest_from_sample fix

Ladybug package rename

  • Updated dependency from real-ladybug to ladybug>=0.15.3
  • Updated dependency to llama-index-graph-stores-ladybug>=0.3.1
  • factories.py import updated to match

Python 3.14 async fixes

  • MCP stdio mode: removed nest_asyncio (broke on Python 3.14, was never needed)
  • ingest_text / test_with_sample REST endpoints: call ingest/ingest_from_text: replaced sync refresh_ref_docs()
    with async_add() in ingest/ingest_from_text.py, fixing crash on Python 3.14;
    ingest_documents (used by UI) was unaffected as it already used the async path
  • nest-asyncio removed from flexible-graphrag-mcp dependencies

v0.5.1 added LadyBug, modularized hybrid_system.py

06 Apr 00:48

Choose a tag to compare

v0.5.1 flexible-graphrag release notes

v0.5.1: Added Ladybug support, modularized large hybrid_system.py, removed Kuzu support, /rdf/schemas moved to project root

  1. Added Ladybug support in config.py, factories.py, env-sample.txt, docker include for ladybug-explorer.yaml, added Ladybug info in /docs/
  2. Removed Kuzu support in config.py, factories.py, env-sample, removed kuzu-explorer.yamal and kuzu-api.yaml docker includes, and remomved Kuzu info in /docs/
  3. Split off code in hybrid_system.py into ingest/, process/, stores/, query_engine, retriever_setup, schema_manager; hybrid_system.py wires submodules.
  4. FalkorDB ingest: patch falkordb.helpers and falkordb.graph stringify (bool, numpy, map keys) via llamaindex/graph/falkordb_param_patch.py.
  5. docs/PERFORMANCE.md: legacy banner. will be completely redone; left Kuzu, will test Ladybug when redon; note about future split of KG extraction time with given LLM vs graph DB insert time.
  6. File moving: cleanup.py and check_elasticsearch.py under moved to scripts/; Neptune wrapper under llamaindex/graph, removed unused cmis_util.py
  7. README.md: Added LLM provider list to features section, Added Ladybug (Kuzu fork), removed Kuzu
  8. requirements.txt removed — uv / pyproject.toml is the only supported install method
  9. Bump flexible-graphrag and flexible-graphrag-mcp to v0.5.1.
  10. flexible-graphrag-mcp/main.py — nest_asyncio.apply() moved out of HTTP mode; only applied in stdio mode to avoid anyio conflict on Python 3.14.
  11. rdf/ontology_manager.py — relative ontology paths now resolve against os.getcwd() only
  12. flexible-graphrag/rdf/schemas TTL files schemas now live at repo-root /schemas

v0.5.0 RDF ontologies, RDF Stores, 4 new LLM providers

25 Mar 09:22

Choose a tag to compare

Added support for 3 RDF stores, RDF ontologies, LangChain retrievers/llm, 4 new LlamaIndex LLM providers

  1. Flexible GraphRAG now supports RDF-based ontologies for both property graph databases and RDF triple store databases
  2. Added support for 3 RDF stores: Ontotext GraphDB, Fuseki, and Oxigraph.
  3. The RDF stores support the same full pipeline as property graphs: document ingestion with KG extraction, auto incremental data source change detection, and UI search (hybrid search, AI query, and AI chat)
  4. Add OWL/RDFS ontology-guided KG extraction (ontology_manager.py) — works with all property graph and RDF stores; URI map round-trip; XSD-typed literals from DatatypeProperty ranges
  5. Add LangChain RDF QA fusion retriever (langchain/graph/) — TextToGraphQueryRetriever, SynonymExpander, GraphEntityVectorRetriever, GraphNeighborhoodRetriever
  6. SynonymExpander can be configured on a retriever (LPG, RDF, etc) basis to improve LLM results
  7. With SynonymExpander and GraphEntityVectorRetriever results from property graphs (initially with Neo4j)
  8. Added native LangChain LLM factory (langchain/llm/) — all 13 providers with same config mapped to
    use LangChain LLMs
  9. Added 4 new LLM providers on the LlamaIndex side: OpenRouter, LiteLLM proxy, openai_like, vLLM; scripts/litellm_config.yaml sample config
  10. Added bundled ontology schemas (company_classes.ttl, company_properties.ttl, common_ontology.ttl, foaf_ontology.ttl); multi-ontology file support via ONTOLOGY_PATHS / ONTOLOGY_DIR
  11. Added / updated docs: RDF-STORE-USER-GUIDE.md (implementation status, store dashboards), LANGCHAIN-GRAPH-INTEGRATION.md, LLM-EMBEDDING-CONFIG.md; README features, prerequisites, project structure;
  12. Bumped version to 0.5.0

v0.4.0 ArcadeDB embedded mode added, pypi built releases (0.4.0)

12 Mar 02:28

Choose a tag to compare

ArcadeDB embedded mode added, pypi built releases (0.4.0) for flexible-graphrag and flexible-graphrag-mcp, readme updated, search fixes

  1. ArcadeDB embedded mode: factories.py, config.py, env-sample.txt — runs in-process via ARCADEDB_MODE=embedded; optional HTTP/Studio via ARCADEDB_EMBEDDED_SERVER=true; arcadedb-embedded>=26.2.1 added as commented-out dependency
  2. llama-index-graph-stores-arcadedb bumped to >=0.4.1 in requirements.txt and pyproject.toml for embedded seport
  3. hybrid_system.py: X->REL->Y bare relation links filtered in all modes (not just graph-only); filtered before top_k slice
  4. hybrid_system.py: Elasticsearch/OpenSearch-only ingestion error fixed
  5. pyproject.toml: version 0.4.0; PEP 639 license; all 14 py-modules; incremental_updates package; Dockerfile/env-sample/requirements/uv.toml in sdist; placeholder README.md
  6. start.py + pyproject.toml: flexible-graphrag console script entry point added
  7. flexible-graphrag-mcp/pyproject.toml: version 0.4.0; Apache 2.0 license; author; readme reference
  8. .gitignore: arcadedb_data/ and log/ excluded
  9. README.md: badges added, backend pip install from pypi quickstart added; MCP server quickstart setup section added, mcp tools moved after; project/file structure updated; UI Usage moved after frontend setup; Testing cleanup mentions cleanup.py