RCRAG Converter

Parsing vs extraction: two jobs people collapse into one

Document parsing for RAG turns a file into passages you can retrieve; extraction pulls named fields into a schema - they are different jobs, and a pipeline that treats them as one will do both badly.

The vendors split the product for a reason

Reducto ships Parse and Extract as separate verbs. LlamaIndex has LlamaParse for layout-aware text and LlamaExtract for typed JSON. Unstructured partitions into elements, then lets you chunk or project those elements into a schema. Parsing answers 'what does this file say, in order, with structure'. Extraction answers 'give me the effective date, the party names and the total in this shape'. One produces a corpus. The other produces a row.

RAG needs passages, not fields

Retrieval works when a question can land on a stretch of text that still makes sense on its own. A schema of twenty fields is excellent for a dashboard and almost useless for 'what is our refund policy if the item is opened'. If you extract first and index only the fields, you have thrown away the sentences that would have answered the questions you have not thought of yet. Convert the document into chunks. Extract afterwards, from the same file, if you also need a table of records.

Extraction needs a schema you are willing to maintain

The moment the form changes - a new exhibit, a scanned addendum, a column renamed in this year's filing - a brittle schema starts returning nulls that look like missing facts. That is a different failure from a bad chunk. Hosted extractors exist because keeping those schemas honest is a product. Do not build one accidentally inside your chunker by stuffing 'vendor' and 'amount' into metadata you guessed from the first page.

Do the parse once, own the artifact

Both jobs start with the same bytes. The cheap order is: parse to a durable corpus you can re-chunk, re-embed and re-extract without touching the original file again. JSONL plus a manifest is enough. RAG Converter is the parse half - files to overlapping passages in the browser, nothing uploaded - and it stops there on purpose. If you later need typed fields, run extraction on the files you already converted rather than sending the folder through a second black box that also wants to be your index.

More on converting for RAG

  • rusty_ragdocument ingest, chunking and retrieval
  • rusty_xmlWord, PowerPoint and Excel, without LibreOffice
  • rusty_jpeg / rusty_pngimage decode
  • rusty_flacaudio decode
  • rusty_zstdcompression
  • rusty_allocthe allocator, in wasm too
  • rusty_timeNTP timestamps on every chunk
  • spacedbthe storage seam, CRDT per entry
  • FFAIthe AI toolkit the three engines below come from
  • CarmentaOCR - reads scans and screenshots, in your browser
  • Mercuryspeech recognition - turns recordings into transcripts
  • Argusvision - describes images and video frames

MATA Corporate Holdings © 2026 — Made in Scottsdale, Arizona

Remade with Rust