While using Brave browser
Version 1.61.101 Chromium: 120.0.6099.71 (Official Build) (x86_64)
(and also on Chrome Version 120.0.6099.62 (Official Build) (x86_64)
without encountering any errors), I faced a JSON parsing issue when attempting to run the client-side example from Hugging Face's Next.JS tutorial for text classification. You can find the tutorial at: . This error prevented the text classification from working properly.
The specific error message I received is shown below:
https://i.sstatic.net/hIYrd.png
The code snippet below is from my TransformerWorker.js file, which is directly copied from the tutorial mentioned above without any modifications:
import { pipeline, env } from "@xenova/transformers";
// Skip local model check and cache
env.allowLocalModels = false;
// Use the Singleton pattern to enable lazy construction of the pipeline.
class PipelineSingleton {
static task = 'text-classification';
static model = 'Xenova/distilbert-base-uncased-finetuned-sst-2-english';
static instance = null;
static async getInstance(progress_callback = null) {
if (this.instance === null) {
this.instance = pipeline(this.task, this.model, { progress_callback });
}
return this.instance;
}
}
// Listen for messages from the main thread
self.addEventListener('message', async (event) => {
// Retrieve the classification pipeline. When called for the first time,
// this will load the pipeline and save it for future use.
let classifier = await PipelineSingleton.getInstance(x => {
// We also add a progress callback to the pipeline so that we can
// track model loading.
self.postMessage(x);
});
// Actually perform the classification
let output = await classifier(event.data.text);
// Send the output back to the main thread
self.postMessage({
status: 'complete',
output: output,
});
});