Skip to content

Commit e4ba202

Browse files
authored
fix the base model requirement (#321)
* fix the base model requirement * tighten validation
1 parent fe39fd8 commit e4ba202

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

eval_protocol/cli_commands/create_rft.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -487,16 +487,23 @@ def create_rft_command(args) -> int:
487487
return 1
488488

489489
# Build training config/body
490-
# Ensure base model is explicitly provided for clarity
491-
if not getattr(args, "base_model", None):
492-
print(
493-
"Error: --base-model is required. Please specify the base model resource id (e.g., accounts/{account}/models/<model_id>)."
494-
)
490+
# Exactly one of base-model or warm-start-from must be provided
491+
base_model_raw = getattr(args, "base_model", None)
492+
warm_start_from_raw = getattr(args, "warm_start_from", None)
493+
# Treat empty/whitespace strings as not provided
494+
base_model = base_model_raw.strip() if isinstance(base_model_raw, str) else base_model_raw
495+
warm_start_from = warm_start_from_raw.strip() if isinstance(warm_start_from_raw, str) else warm_start_from_raw
496+
has_base_model = bool(base_model)
497+
has_warm_start = bool(warm_start_from)
498+
if (not has_base_model and not has_warm_start) or (has_base_model and has_warm_start):
499+
print("Error: exactly one of --base-model or --warm-start-from must be specified.")
495500
return 1
496501

497-
training_config: Dict[str, Any] = {"baseModel": args.base_model}
498-
if getattr(args, "warm_start_from", None):
499-
training_config["warmStartFrom"] = args.warm_start_from
502+
training_config: Dict[str, Any] = {}
503+
if has_base_model:
504+
training_config["baseModel"] = base_model
505+
if has_warm_start:
506+
training_config["warmStartFrom"] = warm_start_from
500507

501508
# Optional hyperparameters
502509
for key, arg_name in [

0 commit comments

Comments
 (0)