Principle:Marker Inc Korea AutoRAG Node Line Execution
| Knowledge Sources | |
|---|---|
| Domains | Pipeline_Orchestration, Evaluation |
| Last Updated | 2026-02-08 06:00 GMT |
Overview
An orchestration pattern that sequentially executes evaluation trials across all nodes and module combinations in a RAG pipeline.
Description
Node Line Execution is the core orchestration loop of AutoRAG's optimization engine. The Evaluator class manages the entire trial lifecycle: validating configuration, ingesting corpus data, running each node line sequentially, collecting results, and generating a trial summary. Within each node line, run_node_line iterates over nodes, running each node's module combinations and selecting the best via the node's strategy. Results propagate from one node to the next, with the output of each node becoming the input of the next.
Usage
Use this principle to run a full RAG optimization trial. Call Evaluator.start_trial with a YAML config after preparing QA and corpus datasets. The Evaluator handles validation, ingestion, execution, selection, and summary generation automatically.
Theoretical Basis
The execution model follows a sequential pipeline with combinatorial evaluation:
- Load node lines from YAML config
- For each node line (sequential):
- For each node in the line (sequential):
- Expand module × parameter combinations
- Run each combination on the previous result
- Evaluate results against ground truth
- Select the best module/params via the node's strategy
- Save the best result as input for the next node
- For each node in the line (sequential):
- Aggregate results into a trial summary
# Abstract execution flow
for node_line in config.node_lines:
result = qa_data
for node in node_line.nodes:
for module, params in node.get_combinations():
module_result = module.run(result, **params)
evaluate(module_result, metrics)
best_result = node.strategy.select_best(all_results)
result = best_result