diff options
author | Ben Sima <ben@bensima.com> | 2025-05-23 20:35:29 -0400 |
---|---|---|
committer | Ben Sima <ben@bensima.com> | 2025-05-23 20:35:29 -0400 |
commit | db6ed71fa3aed299de4344c9d56a55d44699966f (patch) | |
tree | d81d731d3c407200f53893d23e47a2b6b8292f8e | |
parent | 168ebb4dc55d92c5c91a343e6790e75165b43cf6 (diff) |
-rwxr-xr-x | counttokens | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/counttokens b/counttokens new file mode 100755 index 0000000..e1c7442 --- /dev/null +++ b/counttokens @@ -0,0 +1,30 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i python3 -p 'python3.withPackages (ps: with ps; [ transformers argparse ])' + +import sys +import argparse +from transformers import AutoTokenizer + +def main(): + parser = argparse.ArgumentParser( + description="Tokenize input text using specified model tokenizer." + ) + parser.add_argument( + '-m', '--model', + type=str, + default='gpt2', + help='Model name for tokenizer, e.g., "gpt2", "distilgpt2". Default is "gpt2".' + ) + args = parser.parse_args() + + # Read text from standard input + text = sys.stdin.read().strip() + + # Load tokenizer for the specified model + tokenizer = AutoTokenizer.from_pretrained(args.model) + tokens = tokenizer.encode(text) + + print(len(tokens)) + +if __name__ == "__main__": + main() |