AQUA assessments done in k8s in a separate docker container
Pre and post processing done using Serval repo, main AQUA algorithm in separate repo, as well as deployment scripts
Needed alignments done in machine
A bit more in depth:
Machine changes:
Merge together machine-engine and machine-job, now that the SMT jobs are done through ClearML
Expose alignments in machine, serving the same way as pretranslations
Serval changes:
Allow engines to have "parent" and "child" links (or similar), which connect to different engines.
There is a new state when building an engine called "check preconditions"
When a child engine finishes building, it checks any parents to see if all preconditions have been met because the child finished.
Assessment
Specifies multiple alignment engines that need to be completed at a specific revision as "preconditions" before the build starts.
The flow would be: Setup all alignment engines and the assessment engine. When starting the build, specify the minimum revision of the build of each engine to be checked in preconditions
When the assessment starts, it already has everything to complete the assessment without interacting with machine again
When an updated assessment is requested, Serval asks the child engine for the alignment and then the assessment engine for the updated assessment.
Using python.net, the Serval/AQUA dotnet code will call AQUA code to run the incremental algorithm, utilizing the saved models and any other needed assessments.
Here is a potential way to integrate AQUA:
A bit more in depth:
Machine changes:
Serval changes:
Assessment
@ddaspit, what do you think?