|
|
|
|
|
|
|
|
import argparse |
|
|
from pathlib import Path |
|
|
|
|
|
from .run_generator import main as generate_main |
|
|
from .validator import validate_jsonl |
|
|
from .batch_generator import generate_batches |
|
|
|
|
|
|
|
|
def cli(): |
|
|
parser = argparse.ArgumentParser(prog="glyphicgen", description="Glyphic dataset generator and tools") |
|
|
|
|
|
subparsers = parser.add_subparsers(dest="command", required=True) |
|
|
|
|
|
|
|
|
gen_parser = subparsers.add_parser("generate", help="Generate a Glyphic training dataset") |
|
|
gen_parser.add_argument("--output", type=Path, help="Output JSONL path (overrides config)") |
|
|
|
|
|
|
|
|
val_parser = subparsers.add_parser("validate", help="Validate a Glyphic JSONL dataset") |
|
|
val_parser.add_argument("path", type=Path, help="Path to JSONL dataset") |
|
|
|
|
|
|
|
|
batch_parser = subparsers.add_parser("batch", help="Generate multiple datasets with varying configs") |
|
|
batch_parser.add_argument("--count", type=int, default=5, help="Number of datasets to generate") |
|
|
batch_parser.add_argument("--outdir", type=Path, default=Path("training/batches"), help="Output directory") |
|
|
|
|
|
args = parser.parse_args() |
|
|
|
|
|
if args.command == "generate": |
|
|
|
|
|
if args.output: |
|
|
from .config import OUTPUT_JSONL |
|
|
|
|
|
globals()["OUTPUT_JSONL"] = args.output |
|
|
generate_main() |
|
|
|
|
|
elif args.command == "validate": |
|
|
validate_jsonl(args.path) |
|
|
|
|
|
elif args.command == "batch": |
|
|
generate_batches(args.count, args.outdir) |
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
cli() |
|
|
|
|
|
|