Skip to main content
The processing module provides classes for tracking document processing history, recording knowledge items, and managing execution pipelines.

ProcessingStep

A ProcessingStep represents a unit of work in a document processing pipeline. Steps form a DAG (directed acyclic graph) with parent-child relationships, enabling you to track the full lineage of how a document was processed.

Creating Steps

Fields

Parent-Child Relationships

Build processing hierarchies:

Merging Steps

Combine multiple processing branches:

Serialization

Steps serialize to JSON with circular reference handling:
The to_dict() method uses a seen set to handle circular references from bidirectional parent-child links. The from_dict() method uses a step_cache to reconstruct these references.

KnowledgeItem

A KnowledgeItem represents a piece of knowledge produced or consumed during processing.

Fields

KnowledgeFeature

A KnowledgeFeature attaches structured metadata to knowledge items.

Fields

Attaching to Processing Steps

Knowledge items are associated with processing steps:

PipelineContext

PipelineContext tracks the state of a running execution pipeline. It is primarily used by module developers building custom processing steps.

Fields

Status Updates

Report progress during execution:

Cancellation

Check for user-initiated cancellation:

RemoteStep

RemoteStep wraps a reference to a module on the platform and can process documents remotely:

Complete Example