MCPcopy Create free account
hub / github.com/microsoft/SkillOpt / main

Function main

scripts/train.py:512–552  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

510# ── Main ─────────────────────────────────────────────────────────────────────
511
512def main() -> None:
513 args = parse_args()
514 cfg = load_config(args)
515
516 print(f"\n{'='*60}")
517 print(f" SkillOpt — Executive Strategy for Self-Evolving Agent Skills")
518 print(f"{'='*60}")
519 print(f" env: {cfg.get('env')}")
520 print(f" optimizer_model: {cfg.get('optimizer_model')}")
521 print(f" target_model: {cfg.get('target_model')}")
522 print(f" optimizer_backend:{cfg.get('optimizer_backend', 'openai_chat')}")
523 print(f" target_backend:{cfg.get('target_backend', 'openai_chat')}")
524 print(f" reasoning: {cfg.get('reasoning_effort') or 'off'}")
525 print(f" rewrite_effort: {cfg.get('rewrite_reasoning_effort') or 'off'}")
526 print(f" epochs: {cfg.get('num_epochs')}")
527 print(f" train_size: {cfg.get('train_size') or 'from dataset'}")
528 print(f" steps/epoch: auto")
529 print(f" batch_size: {cfg.get('batch_size')}")
530 print(f" edit_budget: {cfg.get('edit_budget')}")
531 print(f" lr_scheduler: {cfg.get('lr_scheduler', 'constant')}")
532 print(f" update_mode: {cfg.get('skill_update_mode', 'patch')}")
533 print(f" min_edit_budget:{cfg.get('min_edit_budget', 2)}")
534 print(f" minibatch_size: {cfg.get('minibatch_size')}")
535 print(f" seed: {cfg.get('seed')}")
536 print(f" meta_skill: {cfg.get('use_meta_skill', False)}")
537 print(f" skill_aware_reflection: {cfg.get('use_skill_aware_reflection', False)}")
538 print(f" slow_update: {cfg.get('use_slow_update', False)}")
539 print(f" out_root: {cfg.get('out_root')}")
540 print(f"{'='*60}\n")
541
542 # Build adapter
543 adapter = get_adapter(cfg)
544
545 # Build trainer and run
546 from skillopt.engine.trainer import ReflACTTrainer
547 trainer = ReflACTTrainer(cfg, adapter)
548 summary = trainer.train()
549
550 print(f"\n Output saved to: {cfg['out_root']}")
551 if summary.get("test_hard") is not None:
552 print(f" Final test: {summary['test_hard']:.4f}")
553
554
555if __name__ == "__main__":

Callers 1

train.pyFile · 0.70

Calls 6

trainMethod · 0.95
ReflACTTrainerClass · 0.90
getMethod · 0.80
parse_argsFunction · 0.70
load_configFunction · 0.70
get_adapterFunction · 0.70

Tested by

no test coverage detected