File size: 1,270 Bytes
8ab6bc6
 
 
 
 
ef61852
 
087486a
 
 
8ab6bc6
ef61852
 
 
 
 
 
 
 
 
e2be24e
 
ef61852
087486a
 
 
ef61852
 
 
 
 
 
 
 
 
 
 
087486a
ef61852
 
8ab6bc6
ef61852
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import gradio as gr
from dicta_onnx import Dicta

dicta = Dicta('./dicta-1.0.int8.onnx')

theme = gr.themes.Soft(font=[gr.themes.GoogleFont("Roboto")])

def add_diacritics(text: str, mark_niqqud_male: bool) -> str:
    mark_matres_lectionis = "|" if mark_niqqud_male else None
    return dicta.add_diacritics(text, mark_matres_lectionis=mark_matres_lectionis)

with gr.Blocks(theme=theme) as demo:
    gr.Markdown("# Hebrew Text Diacritization")
    gr.Markdown("Enter Hebrew text without diacritics, and the model will add them.")

    text_input = gr.Textbox(
        placeholder="Type text without diacritics...",
        label="Input Text",
        lines=5,
        rtl=True,
        elem_classes=["input"],
        value="诪讛 拽讜专讛? 讬讗诇讛 转转讞讬诇讜 诇砖讞拽 注诐 讛谞拽讚谉!",
    )

    mark_niqqud_male = gr.Checkbox(label="Mark Niqqud Male (Matres Lectionis)")

    diacritized_output = gr.Textbox(
        label="Text with Diacritics",
        lines=7,
        rtl=True,
        elem_classes=["output"]
    )
    
    submit_button = gr.Button("Add Diacritics")

    submit_button.click(
        fn=add_diacritics,
        inputs=[text_input, mark_niqqud_male],
        outputs=[diacritized_output]
    )

if __name__ == "__main__":
    demo.launch()