Skip to content

v0.5.1

Choose a tag to compare

@emiehling emiehling released this 16 Sep 02:14
· 1 commit to main since this release
92e3098

Adds registration for controls defined outside the toolkit, scopes TRL LoRA adapters to the decoder stack, and merges the FewShot example block into the leading system message. This is a patch release without any new methods.

Changes

  • register_method(category, name, control_cls, args_cls) (algorithms/core/registry.py) registers a control class defined outside the toolkit tree under "<category>_control/<name>", so out-of-tree controls can be saved to and loaded from a .spipe bundle. Registration is process-global, so the defining package must be imported before a bundle naming its keys is loaded
  • to_spipe(freeze=True) on an unsteered pipeline no longer loads the model when every enabled control is recipe-frozen (FACTS steer access, no fits, no exported state, as for a prompt-only pipeline); a blocking control is named in the error
  • TRL wrappers: a LoRA target_modules suffix list is scoped at steer time to the resolved decoder stack through the new lora_target_pattern() (core/internals/model_layout.py), so an adapter no longer lands on the vision tower of a composite multimodal wrapper. target_modules widens to list[str] | str; a string is passed to PEFT as a regex unchanged
  • FewShot: new system_mode ("append", "prepend", "insert") and separator arguments control how the rendered example block combines with an existing leading system message. append and prepend yield exactly one system message, which some chat templates (Qwen3) require
  • PhasedDecodingArgs and the controls guide note that a plan whose first phase is fixed must splice the reasoning close tag under a template that opens the reasoning block in its generation prompt
  • Dependencies: vllm-hook-plugins points back at IBM/vLLM-Hook@steerability-challenge in the vllm extra and dev group, with the matching uv.lock update
  • Docs: state and output control descriptions on the landing page corrected; README contributing section trimmed to link the steering method tutorial and steering pipelines concept page

Breaking changes

  • FewShot defaults to system_mode="append": on chat input with an existing leading system message, the example block is merged into it rather than inserted as a second system message. The previous behavior is available as system_mode="insert". A .spipe written before this change loads with the new default; one written by 0.5.1 records system_mode and separator and does not load on an older toolkit

What's Changed

  • Register external controls, fix LoRA targets, and merge the FewShot example block by @emiehling in #31

Full Changelog: v0.5.0...v0.5.1