Spaces:
Running
Running
Migrate to tokenizers.js
Browse files
script.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
| 1 |
-
import {
|
| 2 |
|
| 3 |
let tokenizeButton = document.querySelector("#tokenize");
|
| 4 |
tokenizeButton.addEventListener("click", async () => {
|
| 5 |
tokenizeButton.disabled = true;
|
| 6 |
-
let
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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];
|