qikp commited on
Commit
8fd424f
·
verified ·
1 Parent(s): aa2bc1e

Migrate to tokenizers.js

Browse files
Files changed (1) hide show
  1. script.js +8 -3
script.js CHANGED
@@ -1,16 +1,21 @@
1
- import { AutoTokenizer } from "https://nobsdelivr.private.coffee/npm/@huggingface/transformers@4.0.0";
2
 
3
  let tokenizeButton = document.querySelector("#tokenize");
4
  tokenizeButton.addEventListener("click", async () => {
5
  tokenizeButton.disabled = true;
6
- let tokenizer = await AutoTokenizer.from_pretrained(document.querySelector("#model").value);
 
 
 
 
 
7
  let text = document.querySelector("#text").value.replace(/[^\S ]/g, "");
8
  let tokenized = tokenizer.encode(text);
9
  document.querySelector("#totalLength").textContent = `Total length: ${tokenized.length}`;
10
  let output = document.querySelector("#output");
11
  output.contentDocument.body.innerHTML = "";
12
  let colors = ["#ff0000", "#ff8700", "#ffd300", "#deff0a", "#a1ff0a", "#0aff99", "#0aefff", "#147df5", "#580aff", "#be0aff"].sort(() => Math.random() - 0.5);
13
- tokenized.forEach((token, index) => {
14
  let content = document.createElement("span");
15
  content.textContent = tokenizer.decode([token]);
16
  content.style.backgroundColor = colors[index % colors.length];
 
1
+ import { Tokenizer } from "https://nobsdelivr.private.coffee/npm/@huggingface/tokenizers@0.1.3";
2
 
3
  let tokenizeButton = document.querySelector("#tokenize");
4
  tokenizeButton.addEventListener("click", async () => {
5
  tokenizeButton.disabled = true;
6
+ let modelId = document.querySelector("#model").value;
7
+ let tokenizerJSONSocket = await fetch(`https://huggingface.co/${modelId}/resolve/main/tokenizer.json`);
8
+ let tokenizerJSON = await tokenizerJSONSocket.json();
9
+ let tokenizerConfigSocket = await fetch(`https://huggingface.co/${modelId}/resolve/main/tokenizer_config.json`);
10
+ let tokenizerConfig = await tokenizerConfigSocket.json();
11
+ let tokenizer = new Tokenizer(tokenizerJSON, tokenizerConfig);
12
  let text = document.querySelector("#text").value.replace(/[^\S ]/g, "");
13
  let tokenized = tokenizer.encode(text);
14
  document.querySelector("#totalLength").textContent = `Total length: ${tokenized.length}`;
15
  let output = document.querySelector("#output");
16
  output.contentDocument.body.innerHTML = "";
17
  let colors = ["#ff0000", "#ff8700", "#ffd300", "#deff0a", "#a1ff0a", "#0aff99", "#0aefff", "#147df5", "#580aff", "#be0aff"].sort(() => Math.random() - 0.5);
18
+ tokenized.ids.forEach((token, index) => {
19
  let content = document.createElement("span");
20
  content.textContent = tokenizer.decode([token]);
21
  content.style.backgroundColor = colors[index % colors.length];