printf-sourav's picture
Initial commit
27cdb3e
Raw
History Blame
1.55 kB
#!/usr/bin/env python3
"""
Training Launcher — DevOps RL Agent
Usage:
# Test the RL loop (No GPU, uses rule-based Baseline Agent)
python scripts/train.py --test --episodes 100
# Real GRPO Training (Requires GPU, uses Unsloth + Llama 3.2 3B)
python scripts/train.py --real --episodes 1000
"""
import argparse
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from training.train_grpo import GRPODevOpsTrainer
def main():
parser = argparse.ArgumentParser(description="Launch DevOps Agent Training")
parser.add_argument("--test", action="store_true", help="Run test training (no GPU, uses baseline agent)")
parser.add_argument("--real", action="store_true", help="Run real GRPO training (requires GPU)")
parser.add_argument("--episodes", type=int, default=500, help="Number of episodes to run")
parser.add_argument("--model", type=str, default="unsloth/llama-3.2-3b-instruct", help="Base model for real training")
args = parser.parse_args()
if not args.test and not args.real:
print("Please specify --test or --real. E.g., python scripts/train.py --test")
sys.exit(1)
use_grpo = args.real
trainer = GRPODevOpsTrainer(
model_name=args.model,
max_steps=args.episodes,
save_steps=100
)
print(f"Starting {'REAL' if use_grpo else 'TEST'} training for {args.episodes} episodes...")
trainer.train(num_episodes=args.episodes, use_grpo=use_grpo)
if __name__ == "__main__":
main()