|
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() |
|
|