Derfel2025 commited on
Commit
1cee461
·
1 Parent(s): 1017c2b

trying to make pipeline only load once

Browse files
Files changed (2) hide show
  1. app.py +6 -1
  2. requirements.txt +2 -1
app.py CHANGED
@@ -1,8 +1,13 @@
1
  import gradio as gr
2
  from transformers import pipeline
3
  import transformers
 
4
 
5
 
 
 
 
 
6
 
7
  def translate_text(task, modelUrl, chunk_to_translate):
8
  print(transformers.__version__)
@@ -10,7 +15,7 @@ def translate_text(task, modelUrl, chunk_to_translate):
10
  modelUrl = modelUrl.strip()
11
  task = task.strip()
12
 
13
- pipe = pipeline(task, model=modelUrl)#these should be dynamically filled from frontend task and specific models
14
  result = pipe(chunk_to_translate)
15
  print(f"translated chunk is: {result}")
16
 
 
1
  import gradio as gr
2
  from transformers import pipeline
3
  import transformers
4
+ from functools import lru_cache
5
 
6
 
7
+ @lru_cache(maxsize=4)
8
+ def get_pipeline(task: str, model_url: str):
9
+ print(f"Loading pipeline: task={task}, model={model_url}")
10
+ return pipeline(task, model=model_url)
11
 
12
  def translate_text(task, modelUrl, chunk_to_translate):
13
  print(transformers.__version__)
 
15
  modelUrl = modelUrl.strip()
16
  task = task.strip()
17
 
18
+ pipe = get_pipeline(task, model_url)
19
  result = pipe(chunk_to_translate)
20
  print(f"translated chunk is: {result}")
21
 
requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
  transformers
2
  gradio
3
  torch
4
- sentencepiece
 
 
1
  transformers
2
  gradio
3
  torch
4
+ sentencepiece
5
+ functools