Repository navigation
Releases
0.4.0 — The index says what it will not answer
Indexing with GraphRAG is expensive, and what comes back is a folder of Parquet with no way to tell whether it came out well. This release makes the index say so itself.
Try it → Health. No API key needed anywhere in this release.
Health
The quality numbers, stated as named problems instead of numbers to interpret. On the shipped sample it reads:
20 entities (11%) belong to no community · global search
Global search reads community summaries and nothing else, so these entities cannot appear in a global answer. Local search still reaches them.
→ Most of them have no relationship for the clustering to use. Check what extraction produced, or cluster every connected component instead of the largest one.
Eight rules, each computed from the loaded files: entities no community claims, one community swallowing a level, communities global search cannot read, modularity that says the grouping does not follow the graph, descriptions too thin for a cosine to rank on, a hub the whole graph hangs off, no source text behind a citation, no entity vectors. Every one says which search it affects and what to change upstream, and opens the view that shows the records behind it. Every threshold is named in the source with the reason it sits where it does.
The count rides on the tab, so an index announces its own defects without being opened.
The views, grouped and renamed
Nine views read as one undifferentiated row, and Network, Graph and Schema could not be told apart by name. They are now grouped by what you came to do, and renamed: Overview → Health, Schema → Types, Network → Graph, and the community graph is Focus. The view values in shareable URLs are unchanged, so old links still open.
The strip is also a real tab pattern now. It was measured before this release: no aria-label, no aria-controls, zero role="tabpanel", and every tab its own keyboard stop. It is now one stop for the strip, arrow keys between views, disabled views stepped over, and each tab names the panel it opens.
Also
- The Ask tab keeps its question, its answer and the record it had open when you leave it. Following an answer into a community and coming back no longer costs the question, or the money to ask it again.
- A first visit is pointed once at the tab that answers something.
Full list in the changelog.
Checked before release
456 unit tests, 35 Playwright end-to-end tests against the production build, and two guards that keep private data and provider keys out of what is published.
0.3.0 — Ask a question, and check the answer
Open a Microsoft GraphRAG index in your browser, ask it a question, and follow the answer back to the exact records it used.
Try it now → Ask → See a saved run. No API key needed: the sample ships with a recorded run, so the whole answer-to-evidence path is one click away.
The Ask tab
- Local and Global search against any OpenAI-compatible provider, following GraphRAG's two methods. The key stays in your browser, never in a saved run and never in a log line.
- Every citation is a button. Picking one opens that record beside the answer, with the exact text that went into the prompt, the links the run carried and the source text behind it.
- What the model ignored is as visible as what it used. The evidence graph outlines the cited records in red; the table under it lists everything retrieved, with scores.
- The pipeline is on screen. Retrieval, context window, model call and response, with the counts and milliseconds the run actually spent. "Show the prompt sent to the model" prints the messages verbatim.
- The embedding space plots the question and the entity vectors (PCA, 2D or 3D), marking what went into the prompt and what the token budget cut.
- Runs are portable. Save one as a trace file and read it back on a machine with no key at all.
Also in this release
tools/embed_indexwrites theembeddings.parquetsidecar local search needs, with the model, the dimension and a SHA-256 of every source file in its metadata. A sidecar from a different index is detected and local search says so.- A folder may carry an
example-run.json; the Ask tab offers it as one click. - The app opens on the schema view: entity types, the relationships between them, and the Parquet tables with their key and reference columns.
- Korean documentation (README.ko.md) and a security note on what leaves the tab and what does not.
- Browser back and forward move between views and selections.
Full list in the changelog.
Checked before release
426 unit tests, 32 Playwright end-to-end tests against the production build, and two guards that keep private data and provider keys out of what is published.
0.2.0
- Korean interface with a switch in the top bar; the choice is remembered.
- PNG export of graph and map at 2x, CSV export of the community and quality tables.
- Shareable view state in the URL (
#view=map&set=leiden&community=11). - Heavy views load on demand; the overview bundle is a third of the size.
- Claims (
covariates.parquet) on the entity panel. - Neighbourhood exploration: 1 to 3 hops around any entity, drawn inside its communities.
- GraphRAG 0.3
create_final_*sample and smoke test; stress set generator (--scale). - Offline tools for Apache AGE export, Leiden runs and partition comparison.
- npm
bin(npx graphrag-community-explorer --data <folder>), Dockerfile, release notes.
0.1.0
First public release.
- Loads Microsoft GraphRAG Parquet output (0.3 to 2.x file names) and Apache AGE exports in the
same layout; extra<label>_communities.parquetfiles become switchable community sets. - Overview: hierarchy tree, summary, sortable community table, report inspector, integrity checks.
- Community graph: members inside the community container, type colors, degree-scaled nodes,
readable labels, outside links to ghost nodes, neighbourhood focus, relationship-type filter. - Community map: the whole dataset as community boxes with weighted links; nested hierarchies open
in place; entities in no community form their own box; layout in a web worker with caching. - Quality: modularity and coverage per level, size distributions, density and conductance per
community, NMI/ARI comparison of two community sets. - Evidence: text units and documents behind entities, relationships and communities.
- Synthetic sample dataset, Playwright smoke test, pre-push and post-build data checks.