Skip to content

v0.8.0 CocoIndex Integration

Latest

Choose a tag to compare

@stevereiner stevereiner released this 20 Aug 15:03
· 3 commits to main since this release

v0.8.0 — CocoIndex Integration

Added

  • CocoIndex pipeline backend — optional Rust-based incremental pipeline (PIPELINE_BACKEND=cocoindex), running inside Flexible GraphRAG or standalone. Mixes CocoIndex connectors, functions and splitters with Flexible GraphRAG's sources, parsers, chunkers, embeddings, KG extractors and targets (15 property graphs, 10 vector stores, 4 RDF stores, 3 search engines). Same REST/MCP/UI endpoints.
  • Custom KG extractors — subclass KGExtractor and register by name, module:Class or file path; unrecognised content can delegate back to the built-in extractor.
  • Entity resolutionENTITY_RESOLUTION=none | normalize | llm, applied per document.
  • Entity properties on graph nodes — ontology-declared entity properties now reach the nodes, verified across all six writer families.
  • Meeting-notes exampleexamples/cocoindex/meeting_notes_graph_any/: CocoIndex's Neo4j example ported to run against any of the 15 graph databases and any of the 10 auto-sync data sources.
  • litellm without a proxy — direct provider mode as well as proxy mode.
  • CocoIndex in the published Docker images — backend and langflow ship cocoindex with the entity-resolution and sentence-transformer extras.
  • New test suites — incremental change detection for the CocoIndex pipeline (add/modify/delete verified on 29 of 32 stores), a deterministic property-graph id/label test that removes the LLM from the loop, and Nuxeo ingest tests (14 data sources).

Changed

  • CocoIndex floor raised to >=1.0.20; litellm is now floor-only (>=1.81).
  • Weaviate moved to port 8086 so Nuxeo keeps its default 8081.
  • Source-dialog path defaults are per-source (Alfresco / CMIS / Nuxeo) instead of reusing the local Process Folder path.
  • nuxeo replaces nuxeo[oauth2] — the extra's jwt package overwrote PyJWT and broke ArangoDB and authlib.
  • CocoIndex monitoring writes one row per file, with document-level counters.
  • Test-suite exit codes now reflect real failures; previously every run reported success.

Fixed

  • Every ingest failed in the Docker images — uv's hardlinked installs tripped nltk 3.10.3's new path hardening, killing LlamaIndex chunking. Docker-only: Windows reports st_nlink=1, so dev venvs never saw it. Both images now install with UV_LINK_MODE=copy.
  • LangChain-only graph stores under CocoIndex — a recomputed backend value discarded the automatic downgrade, and could clear a working vector index mid-session.
  • Entity ids containing apostrophes or backslashes broke Gremlin and FalkorDB — unescaped query interpolation, now sanitised per store.
  • DOCUMENT_PARSER=liteparse was silently ignored by the CocoIndex pipeline, and its separator splitter rewrote documents by rejoining fragments on spaces.
  • Failed CocoIndex ingests reported success, and live-mode statistics were always zero.
  • Directory ingest under CocoIndex now registers the directory as its own watch root.
  • Nuxeo was missing from the CocoIndex source layer.
  • Entity resolution could merge a bare first name into the wrong person.
  • SurrealDB entity properties — its SCHEMAFULL entity table needs a DEFINE FIELD per key.
  • The MCP sdist shipped files from a local venv — packaging patterns were unanchored and matched at any depth.
  • Windows log records were dropped on unicode characters; the uv wheel cache no longer ships inside the images.