mjuvilla commited on
Commit
5c92fe7
·
1 Parent(s): 5a4c72f

Fixed some bugs, added dockerfile

Browse files
Files changed (4) hide show
  1. Dockerfile +24 -0
  2. gradio_app.py +2 -3
  3. readme.md +6 -1
  4. src/translate_any_doc.py +2 -0
Dockerfile ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.12-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY fast_align_config ./fast_align_config
6
+ COPY src ./src
7
+ COPY okapi-apps_gtk2-linux-x86_64_1.47.0 ./okapi-apps_gtk2-linux-x86_64_1.47.0
8
+ COPY gradio_app.py .
9
+ COPY requirements.txt .
10
+
11
+ COPY fast_align .
12
+ COPY atools .
13
+
14
+ RUN pip install --no-cache-dir -r requirements.txt
15
+ RUN python -m spacy download xx_ent_wiki_sm
16
+
17
+ RUN apt-get update && \
18
+ apt-get install libgomp1 && \
19
+ apt-get install -y openjdk-17-jre-headless
20
+
21
+ CMD ["python", "gradio_app.py"]
22
+
23
+ # sudo docker build -t document-translator .
24
+ # docker run -p 7860:7860 --rm -it document-translator
gradio_app.py CHANGED
@@ -33,8 +33,7 @@ with gr.Blocks() as demo:
33
  gr.Interface(fn=translator.translate, inputs=["text", "text", "text"], outputs="text")
34
  with gr.Tab("Documents"):
35
  with gr.Row():
36
- dropdown1 = gr.Dropdown(label="Source language", choices=["en", "ca"], value=None,
37
- interactive=True)
38
  dropdown2 = gr.Dropdown(label="Target language", choices=["en", "ca"], value=None, interactive=True)
39
  gr.Markdown("First upload a file and and then you'll be able download it (but only once!)")
40
  with gr.Row():
@@ -44,4 +43,4 @@ with gr.Blocks() as demo:
44
  u.upload(fn=before_processing, inputs=None, outputs=[u, d]).then(upload_file, [u, dropdown1, dropdown2], [u, d])
45
  d.click(download_file, None, [u, d])
46
  if __name__ == "__main__":
47
- demo.launch()
 
33
  gr.Interface(fn=translator.translate, inputs=["text", "text", "text"], outputs="text")
34
  with gr.Tab("Documents"):
35
  with gr.Row():
36
+ dropdown1 = gr.Dropdown(label="Source language", choices=["en", "ca"], value=None, interactive=True)
 
37
  dropdown2 = gr.Dropdown(label="Target language", choices=["en", "ca"], value=None, interactive=True)
38
  gr.Markdown("First upload a file and and then you'll be able download it (but only once!)")
39
  with gr.Row():
 
43
  u.upload(fn=before_processing, inputs=None, outputs=[u, d]).then(upload_file, [u, dropdown1, dropdown2], [u, d])
44
  d.click(download_file, None, [u, d])
45
  if __name__ == "__main__":
46
+ demo.launch(server_name="0.0.0.0", server_port=7860)
readme.md CHANGED
@@ -24,4 +24,9 @@ need to use fastalign on that side since the current project already runs it.
24
 
25
  ### salamandrata7b_translator
26
 
27
- Class that uses huggingface's demo.
 
 
 
 
 
 
24
 
25
  ### salamandrata7b_translator
26
 
27
+ Class that uses huggingface's demo.
28
+
29
+ ## Docker
30
+
31
+ sudo docker build -t document-translator .
32
+ docker run -p 7860:7860 --rm -it document-translator
src/translate_any_doc.py CHANGED
@@ -368,6 +368,8 @@ def translate_document(input_file: str, source_lang: str, target_lang: str,
368
  temp_folder: str = "tmp",
369
  tikal_folder: str = "okapi-apps_gtk2-linux-x86_64_1.47.0", with_format: bool = True) -> str:
370
  input_filename = input_file.split("/")[-1]
 
 
371
  # copy the original file to the temporal folder to avoid common issues with tikal
372
  temp_input_file = os.path.join(temp_folder, input_filename)
373
  shutil.copy(input_file, temp_input_file)
 
368
  temp_folder: str = "tmp",
369
  tikal_folder: str = "okapi-apps_gtk2-linux-x86_64_1.47.0", with_format: bool = True) -> str:
370
  input_filename = input_file.split("/")[-1]
371
+ os.makedirs(temp_folder, exist_ok=True)
372
+
373
  # copy the original file to the temporal folder to avoid common issues with tikal
374
  temp_input_file = os.path.join(temp_folder, input_filename)
375
  shutil.copy(input_file, temp_input_file)