Overview
Graph evaluation runs an LLM-as-judge over ingested documents to assess whether extracted graph facts match the source text and content-type schema. It is observational only — it does not modify the graph or re-trigger ingestion. Evaluation uses Graph Lineage records plus live graph node state (including matched existing nodes) as input. See Graph Lineage for how ingestion writes are recorded. Open Admin → Process → Graph Evaluation for the runs list, filters, and run detail pages. You can also start a run from a completed job via Process → Jobs → job detail → Run Evaluation.When you can run evaluation
The Run Evaluation button is available when:
Only one evaluation run may be pending or running per job at a time.
Running an evaluation
From the Graph Evaluation page
- Go to Process → Graph Evaluation
- Click Run Evaluation and pick a completed unstructured job
- Set samples per content type (default from
GRAPH_EVALUATION_SAMPLES_PER_CONTENT_TYPE, max 50) - Confirm — the run is queued to the graph evaluation worker
- Open the run detail page to watch progress and review results
From a job detail page
- Open Process → Jobs and select a completed unstructured job
- In the Graph Evaluation card, click Run Evaluation
- Confirm samples per content type — you are redirected to the run detail page when the run starts
Automatic runs after job completion
WhenGRAPH_EVALUATION_AUTO_RUN_AFTER_JOB is enabled in Admin → System Settings, Experio
queues an evaluation automatically once every file in the job has reached a terminal processing
status (including ingested, failed, skipped, and other finalized states). The run uses the
configured default sample count (GRAPH_EVALUATION_SAMPLES_PER_CONTENT_TYPE).
Auto-run uses the same eligibility rules as manual runs (unstructured, full ingestion, at least one
ingested file, terminal job status, no other pending/running evaluation). Parse-only jobs and jobs
with no ingested files are skipped silently.
Reading results
Run summary
Each run shows:- Status — pending, running, completed, failed, or cancelled
- Sample count and issue count aggregated across samples
- Summary line — evaluated / skipped / failed counts
Runs list
The Graph Evaluation page supports search, status filters, data source filters, and pagination. Filter by job using the job link orscanOrderId query parameter from a job detail page.
Samples list
On a run detail page, the left column lists sampled files with:- Status — evaluated, skipped (no lineage), or failed
- Issue count for evaluated samples
- Overall quality — good, acceptable, or poor
Sample details and issues
The right column shows:- File name, overall quality badge, and content type
- Judge summary for the document
- Issues (N) — each issue includes category, severity, description, and document evidence
- Lineage links when the issue references a graph element with lineage records
Issue categories
Skipped samples (no lineage)
Files ingested before Graph Lineage was enabled may have no lineage records. Those samples are marked skipped (no lineage) with guidance to re-ingest the file before evaluating.Matched existing nodes
When ingestion links a document to a pre-existing graph node (entity resolution / matching), lineage may only record a new relationship — not a full node create. Evaluation enriches the judge input with live graph properties for relationship endpoints so matched entities are not falsely flagged as missing.API
Authenticated admin REST endpoints (prefix/api/graph-evaluation/):
Worker and infrastructure
The graph-evaluation job service consumesgraph.evaluation.queue via RabbitMQ. It uses the
Ingestion-Large model configuration for judge calls (with JSON-mode response parsing).
Tune worker concurrency, shutdown, sampling defaults, and auto-run in Admin → System Settings
(JOBS category): GRAPH_EVALUATION_THREADS (default 2),
GRAPH_EVALUATION_SHUTDOWN_TIMEOUT_SECONDS (default 600),
GRAPH_EVALUATION_SAMPLES_PER_CONTENT_TYPE (default 3), and
GRAPH_EVALUATION_AUTO_RUN_AFTER_JOB (default False). See
System Settings for details.
In production (Omnistrate), deploy the graph-evaluation service built from
Dockerfile.graph_evaluation. For local development:
Related documentation
- Jobs & Monitoring — job list and detail pages
- Graph Lineage — provenance records used as judge input
- Content Types — schemas compared during evaluation
- Architecture plan:
docs/plans/graph-evaluation-architecture.md