File size: 1,936 Bytes
d0e3792 |
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import torch
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import gradio as gr
MODEL_NAME = "cagrigungor/adrest0"
# -------------------------------
# MODEL ve TOKENIZER YÜKLEME
# -------------------------------
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
# TÜRKÇE KARAKTER PROBLEMİNİ ÇÖZEN SATIR:
try:
tokenizer.backend_tokenizer.normalizer = None
except:
pass # bazı tokenizer sürümleri için zorunlu değil
model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_NAME).to(device)
# -------------------------------
# ADRES DÜZELTME FONKSİYONU
# -------------------------------
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
# -------------------------------
# GRADIO ARAYÜZ
# -------------------------------
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() |