Agent Forge & Deploy Autopilot (v0.46.0)
soup agent — OpenAPI / MCP / GraphQL → SFT
Parse a tool spec, synthesize tool-calling SFT data, and print the training recipe for it.
soup agent synth --spec ./openapi.yaml --output ./tools.jsonl
soup agent train --spec ./openapi.yaml --base meta-llama/Llama-3.1-8B-Instruct
soup agent eval --spec ./openapi.yaml --predictions ./preds.jsonlsoup agent train does not train. It writes the synthesized dataset (--dataset-out, default agent_dataset.jsonl), then prints a planned recipe and the soup train --config agent_train.yaml --yes command. It does not create agent_train.yaml: you save the recipe yourself and run that command. The printed recipe pins epochs: 3 and lr: 2.0e-5. soup agent train writes 4 examples per endpoint by default (-n, 1 to 32).
--examples-per-endpoint (-n) sets how many rows each endpoint gets: 1 by default for soup agent synth, 4 for soup agent train, 1 to 32 for both. The rows are templated, not model-written: each pairs one of three fixed user phrasings (built from the endpoint's description or name) with a tool call whose arguments are the literal placeholder <value> for every parameter, so beyond 3 per endpoint the user messages repeat.
Supports OpenAPI 3.x, MCP manifests, and GraphQL introspection.
soup deploy autopilot
Pick PEFT + quant + spec-decoding combo for a hardware target.
soup deploy autopilot --base ./output --target runpod-a100
soup deploy autopilot --base ./output --target mac-m4-pro--list prints the catalog. The ten target ids are mac-m3, mac-m4-pro, rtx-3060-12gb, rtx-4090-24gb, iphone-16, pixel-9, ollama-local, lm-studio, runpod-a100 and hf-jobs-h100. A run writes two files, deploy_autopilot.yaml and deploy_autopilot.sh.
Soup is free and Apache-2.0. If it saved you a training run, starring the repo costs nothing and helps most. You can also fund the GPU time behind the work a 4 GB laptop cannot reach.