Merge pull request #2495 from Risenafis/fix-change-model Fix transformers model changes

db4fe14011ef508d4090ccd52c2a7902c5a55fd7

Cohee <18619528+Cohee1207@users.noreply.github.com>

Signed
1 files changed, +6 -1Ignore whitespace
src/transformers.mjs+6 -1
@@ -94,7 +94,11 @@ function getModelForTask(task) {
9494 */
9595async function getPipeline(task, forceModel = '') {
9696 if (tasks[task].pipeline) {
97- return tasks[task].pipeline;
97+ if (forceModel === '' || tasks[task].currentModel === forceModel) {
98+ return tasks[task].pipeline;
99+ }
100+ console.log('Disposing transformers.js pipeline for for task', task, 'with model', tasks[task].currentModel);
101+ await tasks[task].pipeline.dispose();
98102 }
99103
100104 const cache_dir = path.join(process.cwd(), 'cache');
@@ -103,6 +107,7 @@ async function getPipeline(task, forceModel = '') {
103107 console.log('Initializing transformers.js pipeline for task', task, 'with model', model);
104108 const instance = await pipeline(task, model, { cache_dir, quantized: tasks[task].quantized ?? true, local_files_only: localOnly });
105109 tasks[task].pipeline = instance;
110+ tasks[task].currentModel = model;
106111 return instance;
107112}
108113