File tree Expand file tree Collapse file tree 3 files changed +32
-1
lines changed Expand file tree Collapse file tree 3 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -23,3 +23,4 @@ print("out", out)
2323` ) ; 
2424} 
2525main ( ) ; 
26+ const  worker  =  new  Worker ( new  URL ( './worker.ts' ,  import . meta. url ) ,  {  type : "module"  } ) 
Original file line number Diff line number Diff line change 1+ /// <reference lib="webworker" /> 
2+ 
3+ console . log ( "WebWorker started" ) ; 
4+ 
5+ import  type  Pyodide  from  "pyodide" 
6+ 
7+ import  wheelUrl  from  "transformers-js-py.whl" ;   // This is the alias from vite.config.ts 
8+ 
9+ import  {  loadPyodide  }  from  "https://cdn.jsdelivr.net/pyodide/v0.23.4/full/pyodide.mjs" ; 
10+ 
11+ async  function  main ( )  { 
12+   const  pyodide : Pyodide . PyodideInterface  =  await  loadPyodide ( ) ; 
13+ 
14+   await  pyodide . loadPackage ( "micropip" ) ; 
15+   const  micropip  =  pyodide . pyimport ( "micropip" ) ; 
16+   await  micropip . install ( wheelUrl ) ; 
17+ 
18+   await  pyodide . runPythonAsync ( ` 
19+ from transformers_js import import_transformers_js 
20+ transformers = await import_transformers_js() 
21+ 
22+ pipeline = transformers.pipeline 
23+ 
24+ pipe = await pipeline('sentiment-analysis') 
25+ out = await pipe('I love transformers!') 
26+ print("out", out) 
27+ ` ) ; 
28+ } 
29+ 
30+ main ( ) ; 
Original file line number Diff line number Diff line change @@ -75,7 +75,7 @@ async def import_transformers_js(version: str = "latest"):
7575        """ 
7676    async function loadTransformersJs(version) { 
7777        const isBrowserMainThread = typeof window !== 'undefined'; 
78-         const isWorker = typeof self  !== 'undefined' && typeof  self.postMessage === 'function' && typeof self.importScripts === 'function' ; 
78+         const isWorker = typeof WorkerGlobalScope  !== 'undefined' && self instanceof WorkerGlobalScope ; 
7979        const isBrowser = isBrowserMainThread || isWorker; 
8080        const transformers = await import(isBrowser ? 'https://cdn.jsdelivr.net/npm/@xenova/transformers@' + version : '@xenova/transformers'); 
8181
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments