Vision Service
Vision Service is the brain of the platform, located in platform/vision/.
It is dynamically orchestrated by the galadril-pipeline library.
It relies on the galadril-inference library to standardize calls to ML
algorithms.
TODO: explain how to extend galadril-inference and galadril-vision.
DAG Construction
Service builds a DAG from the pipeline.yaml file.
- It validates that no circular dependencies exist.
- It calculates the exact topological order required to execute models.
Dynamic Model Loading
Models are not hardcoded. Service uses Python’s importlib to instantiate the
exact classes defined in the configuration.
Model weights are automatically pulled from S3 into memory before processing
begins.
Message Routing Loop
- The service polls batches of messages from Kafka.
- It identifies the origin (
source_id). - It asks the DAG: “Which model steps require this source as input?”
- It passes the data to the model.
- Once the model outputs a prediction, the service asks the DAG: “Who needs this output next?”
- If no one needs it, the data has reached the end of the pipeline (a Sink).