|
import gradio as gr |
|
import os |
|
import string |
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
|
hf_token = os.environ.get('HF_TOKEN', None) |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("hajili/mt5-spell-correction-azerbaijani", token=hf_token) |
|
model = AutoModelForSeq2SeqLM.from_pretrained("hajili/mt5-spell-correction-azerbaijani", token=hf_token) |
|
|
|
tokenizer_new = AutoTokenizer.from_pretrained("hajili/spell-correction-azerbaijani-v2", token=hf_token) |
|
model_new = AutoModelForSeq2SeqLM.from_pretrained("hajili/spell-correction-azerbaijani-v2", token=hf_token) |
|
|
|
def correct(sentence): |
|
sentence = sentence.lower().translate(str.maketrans('','', string.punctuation)).strip() |
|
|
|
batch = tokenizer(sentence, return_tensors="pt") |
|
generated_ids = model.generate(batch["input_ids"]) |
|
output = tokenizer.batch_decode(generated_ids, skip_special_tokens=True) |
|
|
|
batch_new = tokenizer_new(sentence, return_tensors="pt") |
|
generated_ids_new = model_new.generate(batch_new["input_ids"]) |
|
output_new = tokenizer_new.batch_decode(generated_ids_new, skip_special_tokens=True) |
|
|
|
return output[0], output_new[0] |
|
|
|
input_component = gr.Textbox(label = "Giriş cümləsini yazın") |
|
output_component = gr.Textbox(label = "Modelin cavabına əsasən verilən cümlənin düzgün yazılışı:") |
|
output_component_new = gr.Textbox(label = "Yeni modelin cavabına əsasən verilən cümlənin düzgün yazılışı:") |
|
examples = [["inweallah duzeler qardawim ureyini cox sixma her wey yaxwi olacax"], ["veziyet hec de urek acan deyil hami xeberi gozleyir ki gorek ne olacaq imkanin olsa sen de zeng eleyib bri xeber sorusharsan xahis edirem anan qurban gozderine"]] |
|
description = "- Bu model Azərbaycan dilində yazı səhvlərini düzəltmək üçün dizayn edilib.\n- Modeli test etmək üçün giriş cümləsini daxil edin." |
|
demo = gr.Interface(correct, inputs = input_component, outputs=[output_component, output_component_new], examples=examples, title = "Azərbaycan dilində yazı səhvlərinin düzəlişi üçün dil modeli", description=description) |
|
|
|
demo.launch() |