Deployment Basics
Tinker trains LoRA adapters and keeps the resulting checkpoints in Tinker storage. To serve a checkpoint outside Tinker, download it and use tinker_cookbook.weights to turn it into an artifact your serving stack understands.
| Guide | Output | Use it when |
|---|---|---|
| Merge into a HuggingFace Model | A standalone model directory (GBs) | You want one deployable model with no LoRA dependency, loadable by transformers, vLLM, SGLang, or TGI |
| Build a PEFT LoRA Adapter | adapter_config.json + adapter_model.safetensors (MBs) |
You want to keep one base model and hot-swap adapters in vLLM or SGLang |
| Publish to HuggingFace Hub | A Hub repository | You want to share or version either of the above |
| Coding with OpenCode | Nothing to export | You want to chat or code with a checkpoint straight from your terminal, via Tinker's OpenAI-compatible endpoint |
Prerequisites
- A sampler checkpoint, saved with
save_weights_for_sampler. Its path looks liketinker://<run_id>/sampler_weights/<name>and the archive contains the adapter weights and config that the build functions read. See Manage Checkpoints for saving and downloading checkpoints. tinker-cookbookinstalled, and aTINKER_API_KEYin your environment.
Download the checkpoint
Every export path starts with the adapter on local disk. weights.download fetches the archive and extracts it, returning the directory it wrote:
from tinker_cookbook import weights
adapter_dir = weights.download(
tinker_path="tinker://<run_id>/sampler_weights/final",
output_dir="./adapter",
)
The same thing from the shell:
See tinker checkpoint download for the directory naming and --force behavior.
Model support
Merging is supported for every model family Tinker trains. PEFT adapter export depends on the serving framework supporting LoRA for that architecture (for example, vLLM does not serve DeepSeek V3.1 or Kimi-K2.6 adapters). The weights module README has the per-family support matrix and vLLM compatibility notes.