Download preprocessors/tokenize.py from dalaone/bini: direct link, hf CLI and curl.
- Browser
- Download file 757 Bytes
-
https://huggingface.co/spaces/dalaone/bini/resolve/main/preprocessors/tokenize.py
- Command line
-
hf download hf://spaces/dalaone/bini/preprocessors/tokenize.py
-
curl -L -o tokenize.py https://huggingface.co/spaces/dalaone/bini/resolve/main/preprocessors/tokenize.py
757 Bytes
| import os | |
| from typing import List | |
| from sentencepiece import SentencePieceProcessor | |
| class Tokenizer(): | |
| """Minimal tokenizer""" | |
| def __init__(self, model_path: str) -> None: | |
| """Loads sentencepiece model""" | |
| spm_model_path = os.path.join(model_path, "sentencepiece.bpe.model") | |
| self.sp = SentencePieceProcessor() | |
| self.sp.load(spm_model_path) | |
| def encode(self, text: str, src_lang_code: str) -> List: | |
| """Transform text to tokens""" | |
| tokens = [src_lang_code] | |
| tokens.extend(self.sp.encode_as_pieces(text)) | |
| tokens.append('</s>') | |
| return tokens | |
| def decode(self, tokens: List[str]): | |
| """Transform tokens to full sentence""" | |
| return self.sp.decode_pieces(tokens) |