Architecture
Pipeline & Value Objects
The core of Open Ticket AI is its processing pipeline:
[ Incoming Ticket ]
↓
[ Preprocessor ] — cleans & merges subject+body
↓
[ Transformer Tokenizer ]
↓
[ Queue Classifier ] → Queue ID + confidence
↓
[ Priority Classifier ] → Priority score + confidence
↓
[ Postprocessor ] — applies thresholds, routes or flags
↓
[ Ticket System Adapter ] — updates ticket via REST API
Each stage in this pipeline consumes and produces Value Objects (e.g., subject
, body
, queue_id
, priority
). This design makes the pipeline modular and easy to extend with custom processing steps or new value objects.
Pipeline Components
- Pipeline – A container that executes a sequence of pipes. It controls the overall status and stops execution if any pipe reports a failure.
- Pipe – A single processing step that implements a
process()
method. Pipes inherit from theProvidable
mixin so they can be created from the dependency injection container. - PipelineContext – A Pydantic model passed to every pipe. It stores the ticket ID, arbitrary data produced by pipes and meta‑information such as the current pipeline status. Pipes read from and write to this context object to share data.