EvSys

tinker

TinkerBackend - thin wrapper around the tinker SDK.

prepare() lazily creates a ServiceClient and returns it as a handle along with the chosen model name + a tokenizer. The actual training-client creation is left to the algorithm so it can pick LoraConfig / lr / etc.

Most of the heavy lifting (SFT loop, RL loop, checkpointing, eval cadence) is in tinker_cookbook - algorithms that target this backend should call into the cookbook recipes rather than reinventing the loop.