(argv: list[str] | None = None)
| 481 | |
| 482 | |
| 483 | def main(argv: list[str] | None = None): |
| 484 | parser = argparse.ArgumentParser() |
| 485 | parser.add_argument("vocab_file", type=str, help="path to vocab 'gguf' file") |
| 486 | parser.add_argument("dir_tokenizer", type=str, help="directory containing 'tokenizer.model' file") |
| 487 | parser.add_argument("--verbose", action="store_true", help="increase output verbosity") |
| 488 | args = parser.parse_args(argv) |
| 489 | |
| 490 | logging.basicConfig(level = logging.DEBUG if args.verbose else logging.INFO) |
| 491 | logger.info(f"VOCABFILE: '{args.vocab_file}'") |
| 492 | |
| 493 | tokenizer1 = TokenizerGroundtruth(args.dir_tokenizer) |
| 494 | tokenizer2 = TokenizerLlamaCpp(args.vocab_file) |
| 495 | |
| 496 | # compare_tokenizers(tokenizer1, tokenizer2, generator_custom_text()) |
| 497 | # compare_tokenizers(tokenizer1, tokenizer2, generator_custom_text_edge_cases()) |
| 498 | compare_tokenizers(tokenizer1, tokenizer2, generator_ascii_lr_strip()) |
| 499 | compare_tokenizers(tokenizer1, tokenizer2, generator_apostrophe()) |
| 500 | compare_tokenizers(tokenizer1, tokenizer2, generator_unicodes()) |
| 501 | compare_tokenizers(tokenizer1, tokenizer2, generator_vocab_words(tokenizer1)) |
| 502 | compare_tokenizers(tokenizer1, tokenizer2, generator_added_lr_strip(tokenizer1)) |
| 503 | # compare_tokenizers(tokenizer1, tokenizer2, generator_random_added_tokens(tokenizer1, 10_000)) |
| 504 | # compare_tokenizers(tokenizer1, tokenizer2, generator_random_chars(10_000)) |
| 505 | # compare_tokenizers(tokenizer1, tokenizer2, generator_random_unicodes(10_000)) |
| 506 | # compare_tokenizers(tokenizer1, tokenizer2, generator_random_vocab_chars(tokenizer1, 10_000)) |
| 507 | # compare_tokenizers(tokenizer1, tokenizer2, generator_random_vocab_words(tokenizer1, 5_000)) |
| 508 | |
| 509 | tokenizer2.model.free() |
| 510 | |
| 511 | |
| 512 | if __name__ == "__main__": |
no test coverage detected