Omarrran's picture
Upload 2 files
8962d31 verified
Raw
History Blame
2.38 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import torch
REPO_ID = "Omarrran/koshur-diacritizer-byt5-small"
print("Loading model...")
tokenizer = AutoTokenizer.from_pretrained(REPO_ID)
model = AutoModelForSeq2SeqLM.from_pretrained(REPO_ID)
model.eval()
print("Model loaded.")
def diacritize(text: str, max_tokens: int) -> str:
if not text or not text.strip():
return ""
inputs = tokenizer(text.strip(), return_tensors="pt", padding=True)
with torch.no_grad():
out = model.generate(**inputs, max_new_tokens=int(max_tokens))
return tokenizer.decode(out[0], skip_special_tokens=True)
examples = [
["کاشر زبان", 256],
["میانی ہند", 256],
["سریںنگر شہر بوہت خوبصورت چھ", 256],
["اس کتاب منز بوہت ژھور معلومات چھ", 256],
["کشیر گرمی منز سبز تہ خوبصورت اوسان چھ", 256],
["زہ پرون شہر گوم", 256],
["امی گر کیاہ پیٹھ بنایو", 256],
]
description = """
## Koshur Diacritizer — ByT5-Small
This model restores **diacritical marks** (اِعراب) to undiacritized Kashmiri (کٲشُر) text written in Perso-Arabic script.
**Model:** [`Omarrran/koshur-diacritizer-byt5-small`](https://huggingface.co/Omarrran/koshur-diacritizer-byt5-small)
Enter raw Kashmiri text below or click an example to try instantly.
"""
demo = gr.Interface(
fn=diacritize,
inputs=[
gr.Textbox(
label="Input Text (undiacritized Kashmiri)",
placeholder="یہاں کٲشُر متن لِکھِو…",
lines=3,
rtl=True,
),
gr.Slider(
minimum=64,
maximum=512,
value=256,
step=32,
label="Max New Tokens",
),
],
outputs=gr.Textbox(
label="Diacritized Output",
lines=3,
rtl=True,
show_copy_button=True,
),
examples=examples,
title="کٲشُر ڈایاکرِٹایزر | Koshur Diacritizer",
description=description,
article="Built by [Omar Haq Nawaz Malik](https://huggingface.co/Omarrran) as part of the Kashmiri language AI infrastructure initiative.",
theme=gr.themes.Soft(),
cache_examples=False,
flagging_mode="never",
)
if __name__ == "__main__":
demo.launch()