Parallel task execution support
In many cases that I've seen multiple interdependent LmTasks are run sequentially, wrapped in a single job. Users can parallelize these sequences via Java 8 CompletableFuture , still it takes a bit of skill and a bit of code to connect those things together.
Perhaps we can provide an API for users to build a task dependency graph , and let LM figure out parallel/sequential execution flow based on the dependency model. Or should we go full AI and check the extractor target semantics?
One caveat is that LmTask is not a functional interface, so we'll need to figure out how to deal with passing parameters and sync tokens between the stages.
After further analysis, the low hanging fruit here is executing batches of the same task in parallel. Batches are presumably independent from each other.