Skip to main content
View source

Data Extractor

View as Markdown

A RocketRide text-processing node that asks a connected LLM to extract configured columns from text, tables, or documents. Choose it when you need a consolidated table-shaped result from several chunks rather than a glossary or fact records with provenance.

What it does

For each input chunk, the node gives the connected LLM the configured column names, types, and default values, then requests a JSON array of rows. It keeps the latest LLM response as the working table, supplies that table as context for later chunks, and asks the LLM to merge duplicates and fill empty fields. It consumes those intermediate answers and emits the final table only when the input object closes: as one JSON answer and/or one JSON document per row. Use extract_facts instead when extraction needs source provenance and an optional second validation pass.

Connections

ConnectionRequiredDescription
llmyesLLM used to extract configured field values.

Lanes

Lane inLane outDescription
tableanswersEmits the final extracted table as one JSON answer.
tabledocumentsEmits one JSON document for each row in the final table.
textanswersEmits the final extracted table as one JSON answer.
textdocumentsEmits one JSON document for each row in the final table.
documentsanswersExtracts from incoming documents and emits the final table as one JSON answer.
documentsdocumentsExtracts from incoming documents and emits one JSON document for each final row.

Configuration

Configure the fields the LLM should look for. The node has one hidden default profile, so most configuration consists of the field list rather than choosing among extraction modes.

Fields

Provide between one and 32 fields. Each field has a column name, a type selected from the declared values, and an optional default value; the node passes all three to the LLM as extraction instructions. Use a column name that describes the value you want, even when that exact label is not expected in the source—the prompt explicitly allows the model to infer values from context. A blank column name or type does not stop the pipeline, but the node logs a warning and excludes that field from every extraction.

Field types and defaults

The type communicates the expected shape to the LLM; use text for unstructured values, numeric and date/time types for values that should be recognized in those forms, and specialized types such as email, url, phone, or json when the value has that structure. The default value is also prompt context, not a post-processing guarantee: choose it only when it is a sensible fallback for a missing value. If the running table already has rows, the next prompt includes it and asks the LLM to merge duplicates and fill empty fields, so stable column names and compatible defaults make multi-chunk results more reliable.

Notes

Final output timing

The node calls preventDefault for each intermediate LLM answer, so downstream listeners do not receive a partial table after every chunk. It resets its accumulated table at the start of each input object. On close, it writes the full table only to output lanes that have listeners; document output contains JSON-serialized rows with non-table metadata.

Schema

FieldTypeDescriptionDefault
extract.columnstringColumn
Name of column
"column"
extract.defvalstringDefault Value""
extract.fieldsarray
extract.profilestring"default"
extract.typestringType"text"