"""Run Accentik from Hugging Face or a downloaded model folder.""" import argparse from pathlib import Path import torch from transformers import AutoModel def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--model", default="TeraSpace/accentik") parser.add_argument("--revision", help="Optional pinned Hub commit") parser.add_argument("--device", default="cpu") parser.add_argument("--threads", type=int, default=2) parser.add_argument("--restore-yo", action="store_true", help="Enable experimental ะต โ†’ ั‘ placement") parser.add_argument("--yo-threshold", type=float, help="Override the validation-selected ั‘ threshold") inputs = parser.add_mutually_exclusive_group(required=True) inputs.add_argument("--text") inputs.add_argument("--input", type=Path) parser.add_argument("--output", type=Path) args = parser.parse_args() torch.set_num_threads(args.threads) model = AutoModel.from_pretrained( args.model, revision=args.revision, trust_remote_code=True, ).to(args.device).eval() text = args.text if args.text is not None else args.input.read_text(encoding="utf-8") result = model.accentuate(text, restore_yo=args.restore_yo, yo_threshold=args.yo_threshold) if args.output: args.output.write_text(result, encoding="utf-8") else: print(result) if __name__ == "__main__": main()