mirror of
https://github.com/wassname/jsteer.git
synced 2026-09-12 04:00:21 +08:00
demo: omit delivery tag when cfg has no apply_mode (fixes MeanDiffC baseline crash)
show_steer's header assumed vec.cfg.apply_mode, but steering-lite's own configs (MeanDiffC persona baseline) don't have it -- only jsteer's configs do. getattr -> None -> no tag, so the mean_diff cell in persona_steering runs again. Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
+6
-2
@@ -56,9 +56,13 @@ def show_steer(jac: Jacobian, model, tok, vec, user_msg: str, *,
|
||||
prompt = chat_input(tok, user_msg)
|
||||
enc = tok(prompt, return_tensors="pt").to(model.device)
|
||||
name = getattr(model.config, "name_or_path", "model").split("/")[-1]
|
||||
# header carries name/method/delivery/prompt once; per-C blocks only vary in C
|
||||
# header carries name/method/delivery/prompt once; per-C blocks only vary in C.
|
||||
# steering-lite's own configs (e.g. MeanDiffC baseline) have no apply_mode, so
|
||||
# only jsteer vectors show a delivery tag.
|
||||
delivery = getattr(vec.cfg, "apply_mode", None)
|
||||
tag = f" · delivery={delivery}" if delivery else ""
|
||||
rule = "=" * 72
|
||||
logger.info(f"\n\n{rule}\n{name} · method={vec.cfg.method} · delivery={vec.cfg.apply_mode}"
|
||||
logger.info(f"\n\n{rule}\n{name} · method={vec.cfg.method}{tag}"
|
||||
f"\nprompt: {user_msg!r}\n{rule}")
|
||||
# SHOULD: C=0 is the baseline; +C tilts the lens tokens and tone toward the
|
||||
# concept, -C away; all stay coherent (gibberish = coeff too large).
|
||||
|
||||
Reference in New Issue
Block a user