Spaces:
Sahaltech
/
Running on CPU Upgrade

Anicet commited on
Commit
bb94e39
·
1 Parent(s): 405b2f1

update: add texte correction

Browse files
Files changed (4) hide show
  1. Dockerfile +5 -2
  2. language/correction_service.py +20 -0
  3. main.py +13 -0
  4. requirements.txt +1 -0
Dockerfile CHANGED
@@ -9,8 +9,11 @@ ENV PYTHONUNBUFFERED=1 \
9
  NVIDIA_VISIBLE_DEVICES=all \
10
  NVIDIA_DRIVER_CAPABILITIES=compute,utility
11
 
12
- RUN apt-get update && apt-get install -y --no-install-recommends git ffmpeg && \
13
- rm -rf /var/lib/apt/lists/*
 
 
 
14
 
15
  COPY . .
16
 
 
9
  NVIDIA_VISIBLE_DEVICES=all \
10
  NVIDIA_DRIVER_CAPABILITIES=compute,utility
11
 
12
+ RUN apt-get update && apt-get install -y --no-install-recommends \
13
+ git \
14
+ ffmpeg \
15
+ openjdk-17-jre-headless \
16
+ && rm -rf /var/lib/apt/lists/*
17
 
18
  COPY . .
19
 
language/correction_service.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import language_tool_python
2
+
3
+
4
+ class CorrectionService:
5
+
6
+ def __init__(self):
7
+ self.tools = {
8
+ "fra_Latn": language_tool_python.LanguageTool("fr"),
9
+ "eng_Latn": language_tool_python.LanguageTool("en"),
10
+ }
11
+
12
+
13
+ def correctText(self, text: str, sourceLang: str) -> str:
14
+ tool = self.tools.get(sourceLang)
15
+
16
+ if tool is None:
17
+ raise ValueError(f"Langue non supportée : {sourceLang}")
18
+
19
+ return tool.correct(text)
20
+
main.py CHANGED
@@ -10,6 +10,7 @@ from language.dioula.dyu_stt import dioulaSTT
10
  from language.dioula.dyu_tts import dioulaTTS
11
 
12
  from language.fr_mos import translateFRMOS
 
13
 
14
  import os
15
  from huggingface_hub import login
@@ -23,6 +24,8 @@ app = FastAPI(
23
  root_path='/api',
24
  )
25
 
 
 
26
 
27
  @app.post("/nllb/translateText")
28
  async def translate(request: Request):
@@ -32,6 +35,11 @@ async def translate(request: Request):
32
  sourceLang = body.get('sourceLang')
33
  targetLang = body.get('targetLang')
34
 
 
 
 
 
 
35
  translatedText = translateText(text=text, sourceLang=sourceLang, targetLang=targetLang)
36
  return { 'translatedText': translatedText }
37
  except Exception as e:
@@ -47,6 +55,11 @@ async def translateMoore(request: Request):
47
  sourceLang = body.get('sourceLang')
48
  targetLang = body.get('targetLang')
49
 
 
 
 
 
 
50
  translatedText = translateFRMOS(text=text, sourceLang=sourceLang, targetLang=targetLang)
51
  return { 'translatedText': translatedText }
52
  except Exception as e:
 
10
  from language.dioula.dyu_tts import dioulaTTS
11
 
12
  from language.fr_mos import translateFRMOS
13
+ from language.correction_service import CorrectionService
14
 
15
  import os
16
  from huggingface_hub import login
 
24
  root_path='/api',
25
  )
26
 
27
+ correctionService = CorrectionService()
28
+
29
 
30
  @app.post("/nllb/translateText")
31
  async def translate(request: Request):
 
35
  sourceLang = body.get('sourceLang')
36
  targetLang = body.get('targetLang')
37
 
38
+ if sourceLang in ['eng_Latn', 'fra_Latn']:
39
+ text = correctionService.correctText(text=text, sourceLang=sourceLang)
40
+ if not text.endswith("."):
41
+ text += "."
42
+
43
  translatedText = translateText(text=text, sourceLang=sourceLang, targetLang=targetLang)
44
  return { 'translatedText': translatedText }
45
  except Exception as e:
 
55
  sourceLang = body.get('sourceLang')
56
  targetLang = body.get('targetLang')
57
 
58
+ if sourceLang == 'fra_Latn':
59
+ text = correctionService.correctText(text=text, sourceLang=sourceLang)
60
+ if not text.endswith("."):
61
+ text += "."
62
+
63
  translatedText = translateFRMOS(text=text, sourceLang=sourceLang, targetLang=targetLang)
64
  return { 'translatedText': translatedText }
65
  except Exception as e:
requirements.txt CHANGED
@@ -70,6 +70,7 @@ Jinja2==3.1.6
70
  joblib==1.5.3
71
  jsonlines==1.2.0
72
  kiwisolver==1.5.0
 
73
  lazy-loader==0.5
74
  librosa==0.10.0
75
  llvmlite==0.47.0
 
70
  joblib==1.5.3
71
  jsonlines==1.2.0
72
  kiwisolver==1.5.0
73
+ language_tool_python==3.4.0
74
  lazy-loader==0.5
75
  librosa==0.10.0
76
  llvmlite==0.47.0