AI Demos Research — the structured-intelligence platform. Every verdict on these pages opens to the execution behind it.
Graded 21 October 2026

Does RAGFlow preserve rows, columns and headers in a simple table?

RAGFlow preserved the structure of a simple table on retrieval. Its first result placed the reference value, 487, at the requested row and column; it returned the table rather than a separate answer naming the value.

1 of 1 test case passed

Every test case in this scenario has a result.

Pass rate100%1 of 1 gradable
Coverage1 of 1test case with a result
1PassDid everything it was expected to do.
0FailNo test case failed.
0Not gradableEvery result here could be graded.
0UntestedEvery test case in this scenario has a result.
The pass rate is a summary. The evidence is the test case below: what we sent, what we checked, what the tool returned, and the proof.

The test case

Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.

Table value asked by its row and column labelsPassEvidence
What we sent

“What is the out-of-hours callout charge on an Extended cover contract?”

What the tool returned
Cover levelWeekday calloutOut-of-hours calloutOffshore day rate
Standard2163521,140
Extended2844871,265
Critical3316151,408
Show the reply as returned (HTML)
<table><tr><td >Cover level</td><td >Weekday callout</td><td >Out-of-hours callout</td><td >Offshore day rate</td></tr><tr><td >Standard</td><td >216</td><td >352</td><td >1,140</td></tr><tr><td >Extended</td><td >284</td><td >487</td><td >1,265</td></tr><tr><td >Critical</td><td >331</td><td >615</td><td >1,408</td></tr></table>

Retrieval log: all returned chunks and locations of the requested and neighbouring values

Copied from Captured file (text), line 15

Open the text file ↗
Expected vs. Found
✓Expected: The requested value, correctly associated with its row and column rather than a neighbouring value.Found: The first retrieved table placed 487 at Extended cover and out-of-hours callout; the reference value was also 487.
Supporting proof
Proof 1Screenshot
Notebook screenshot: the retrieval request, first-ranked table and remaining result ranks
Open original ↗
Why this result

This passes because the requested value remained under the right row and column. Retrieval, rather than a generated answer, is the surface used to assess ingestion when the product exposes it.

Also observed in this test case

Other chunks. Ranks 2–16 were prose sections and other tables, several from the same policy document; none contained 487.

Tested by Vivek Tomar · evidence dated 21 October 2026

Configuration and setup

How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.

Software that produced the output
RAGFlow
Build or version
v0.26.4
Plan or tier
Starter
Model
text-embedding-3-small
Surface
API
Set up before the run
A charges table with three cover-level rows—Standard, Extended and Critical—and four labelled columns was to be ingested. The question names a row and column; neighbouring cells contain charges of 352, 284 and 615.
Tested
21 October 2026 · Vivek Tomar

How this scenario is graded

How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.

How results are decided

Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.

The rules
  • Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
  • Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
  • Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.

Where this sits in the benchmark

This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.

LevelNameScope
BenchmarkManaged RAG →15 scenarios · 9 tools
CapabilityData Ingestion →
ScenarioA simple, clearly formatted table →
ToolRAGFlow →

History of this result

What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.

from the publication record
10 November 2026First publishedManaged RAG v1

Act on this result

Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.

This matches what I see

You run the same kind of test against your own setup and get the same behaviour.

Agree →
This does not match

Yours behaves differently. Tell us what you got, with a screenshot if you have one.

Disagree →
Point out an issue

Something here is wrong — a reference value, a transcription, a grade.

Report an issue →
Request a retest

On a newer build, a larger dataset, or your own setup.

Request a retest →
We have fixed this

Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.

Vendor notice →
Filed against this evidenceNothing yet. Challenges, counter-evidence and fix notices appear here with their outcome, and stay on the page after they are resolved.
Cite this result
aidemos.com/benchmarks/managed-rag/results/ragflow/a-simple-clearly-formatted-table · 1 pass · 0 fail · coverage 1/1 · graded 2026-10-21

The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.

Verify the proof files

These files support this result. Open a file to inspect the original evidence.

Proof 1 · Screenshot ↗image/png · 353 KB
Captured file (text) ↗text/plain; charset=utf-8 · 28 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Proof 1 · Screenshot75113dff7e9e80d6fda89b93a58daa06d600084ec0e3a9b52641592e1d0f1fcd
Captured file (text)d6bc70f90cf3776cc87dad620c756895ddae80c77907c863efc32ef03890130f