|
|
import torch |
|
|
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM |
|
|
import gradio as gr |
|
|
|
|
|
MODEL_NAME = "cagrigungor/adrest0" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
device = "cuda" if torch.cuda.is_available() else "cpu" |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) |
|
|
|
|
|
|
|
|
try: |
|
|
tokenizer.backend_tokenizer.normalizer = None |
|
|
except: |
|
|
pass |
|
|
|
|
|
model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_NAME).to(device) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def duzelt(adres: str) -> str: |
|
|
encoded = tokenizer( |
|
|
adres, |
|
|
return_tensors="pt", |
|
|
truncation=True, |
|
|
max_length=64 |
|
|
).to(device) |
|
|
|
|
|
with torch.no_grad(): |
|
|
output = model.generate( |
|
|
**encoded, |
|
|
max_length=64, |
|
|
num_beams=4, |
|
|
early_stopping=True |
|
|
) |
|
|
|
|
|
text = tokenizer.decode(output[0], skip_special_tokens=True) |
|
|
return text |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with gr.Blocks(title="Türkçe Adres Düzeltme - adrest5") as demo: |
|
|
|
|
|
gr.Markdown(""" |
|
|
# 🏡 Türkçe Adres Düzeltme |
|
|
Bu uygulama, bozuk veya eksik yazılmış **Türkçe adresleri** otomatik olarak |
|
|
standart ve okunabilir biçime dönüştürür. |
|
|
**Model:** `cagrigungor/adrest5` |
|
|
""") |
|
|
|
|
|
input_text = gr.Textbox( |
|
|
label="Bozuk Adres Girin", |
|
|
placeholder="ör: atatrk cad cafega mahs num 18 kadikoy", |
|
|
lines=2 |
|
|
) |
|
|
|
|
|
output_text = gr.Textbox( |
|
|
label="Düzeltilmiş Adres", |
|
|
lines=2 |
|
|
) |
|
|
|
|
|
btn = gr.Button("Düzelt") |
|
|
btn.click(duzelt, inputs=input_text, outputs=output_text) |
|
|
|
|
|
gr.Markdown(""" |
|
|
--- |
|
|
**Geliştirici:** @cagrigungor |
|
|
""") |
|
|
|
|
|
|
|
|
demo.launch() |