Skip to content

NLP support with Huggingface tokenizers

This module contains the NLP support with Huggingface tokenizers implementation.

This is an implementation from Huggingface tokenizers RUST API.


The latest javadocs can be found on here.

You can also build the latest javadocs locally using the following command:

./gradlew javadoc

The javadocs output is built in the build/doc/javadoc folder.


You can pull the module from the central Maven repository by including the following dependency in your pom.xml file:



Use DJL HuggingFace model converter (experimental)

If you are trying to convert a complete HuggingFace (transformers) model, you can try to use our all-in-one conversion solution to convert to Java:

python3 -m pip install -r src/main/python/requirements.txt
python3 src/main/python/ -m deepset/bert-base-cased-squad2

This will generate a zip file into your local folder:


Then, all you need to do, is to load this model in DJL:

Criteria<QAInput, String> criteria = Criteria.builder()
    .setTypes(QAInput.class, String.class)
    .optTranslatorFactory(new DeferredTranslatorFactory())
    .optProgress(new ProgressBar()).build();

Currently, this converter support:

  • fill-mask
  • question-answering
  • sentence-similarity
  • text-classification
  • token-classification

From HuggingFace AutoTokenizer

In most of the cases, you can easily use a pre-existing tokenizer in DJL:


from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sentence-transformers/msmarco-distilbert-dot-v5")


HuggingFaceTokenizer tokenizer = HuggingFaceTokenizer.newInstance("sentence-transformers/msmarco-distilbert-dot-v5")

This way requires network connection to huggingface repo. The way to determine if you can use this way is through looking into the "Files and versions" in HuggingFace model tab and see if there is a tokenizer.json.

If there is a tokenizer.json, you can get it directly through DJL. Otherwise, use the other way below to obtain a tokenizer.json.

From HuggingFace Pipeline

If you are trying to get tokenizer from a HuggingFace pipeline, you can use the followings to extract tokenizer.json file.



From your local directory, you will find a tokenizer.json file.


HuggingFaceTokenizer tokenizer = HuggingFaceTokenizer.newInstance(Paths.get("./tokenizer.json"))

From pretrained json file

Same as above step, just save your tokenizer into tokenizer.json (done by huggingface).