Synth's funcionality can be broken into 3 main parts:
- Inference Engine: The inference engine is the process by which Synth ingests a datasets and attempts to infer and build the Synth Schema
- Schema (IR): The Schema intermediate representation is a compact state representing the range of data generation
- Generator Network: Schemas are transpiled into a network of generators which actually generate the required data.
Below is a high-level diagram illustrating the process: