ai_graph.step.foreach module

ForEach pipeline implementation using Chain of Responsibility pattern.

class ai_graph.step.foreach.ForEachStep(items_key=None, iterations=None, results_key='foreach_results', name=None)[source]

Bases: BasePipelineStep

Pipeline step that processes each item in a collection or runs a fixed number of iterations.

This step creates a sub-pipeline that processes each item or runs for each iteration. Results are collected in the output data.

__init__(items_key=None, iterations=None, results_key='foreach_results', name=None)[source]

Initialize a ForEach step.

Parameters:
  • items_key (Optional[str]) – Key in the input data containing the items to iterate over. If None, uses the iterations parameter instead.

  • iterations (Optional[int]) – Number of iterations to run if items_key is None.

  • results_key (str) – Key in output data where results will be stored.

  • name (Optional[str]) – Name of this pipeline step.

Raises:

ValueError – If neither items_key nor iterations is provided.

add_sub_step(step)[source]

Add a step to the sub-pipeline.

Parameters:

step (BasePipelineStep) – Step to add to the sub-pipeline.

Return type:

ForEachStep

Returns:

Self for method chaining.