Create app.py
Browse files
app.py
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
from transformers import AutoTokenizer
|
| 3 |
+
|
| 4 |
+
# Tokenizer'ı Hugging Face'ten yüklüyoruz
|
| 5 |
+
tokenizer = AutoTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-2k")
|
| 6 |
+
|
| 7 |
+
def tokenize_metin(metin):
|
| 8 |
+
if not metin.strip():
|
| 9 |
+
return "Lütfen tokenlara ayrılacak bir metin girin.", ""
|
| 10 |
+
|
| 11 |
+
# Metni token ID'lerine çevir
|
| 12 |
+
token_idleri = tokenizer.encode(metin)
|
| 13 |
+
|
| 14 |
+
# Kullanıcının daha iyi anlaması için her bir ID'nin hangi kelimeye/heceye denk geldiğini bulalım
|
| 15 |
+
detayli_ayrilim = []
|
| 16 |
+
for t_id in token_idleri:
|
| 17 |
+
kelime_parcasi = tokenizer.decode([t_id])
|
| 18 |
+
detayli_ayrilim.append(f"'{kelime_parcasi}' (ID: {t_id})")
|
| 19 |
+
|
| 20 |
+
toplam_sayi = f"Toplam Token Sayısı: {len(token_idleri)}"
|
| 21 |
+
detay_metni = "\n".join(detayli_ayrilim)
|
| 22 |
+
|
| 23 |
+
return toplam_sayi, detay_metni
|
| 24 |
+
|
| 25 |
+
# Gradio Arayüzünü Oluşturuyoruz
|
| 26 |
+
with gr.Blocks(theme=gr.themes.Soft()) as arayuz:
|
| 27 |
+
gr.Markdown("# 🔍 Kronos Tokenizer-2k Test Aracı")
|
| 28 |
+
gr.Markdown("Bu araç, yazdığınız metinleri `NeoQuasar/Kronos-Tokenizer-2k` kullanarak yapay zekanın anladığı yapı taşlarına (tokenlara) ayırır.")
|
| 29 |
+
|
| 30 |
+
with gr.Row():
|
| 31 |
+
with gr.Column():
|
| 32 |
+
girdi_metni = gr.Textbox(lines=5, label="Metninizi Buraya Girin", placeholder="Merhaba, bu bir test mesajıdır...")
|
| 33 |
+
hesapla_butonu = gr.Button("Tokenlara Ayır", variant="primary")
|
| 34 |
+
|
| 35 |
+
with gr.Column():
|
| 36 |
+
sonuc_ozet = gr.Textbox(label="Özet Bilgi", lines=1)
|
| 37 |
+
sonuc_detay = gr.Textbox(label="Token Detayları", lines=8)
|
| 38 |
+
|
| 39 |
+
# Butona basıldığında çalışacak fonksiyonu bağlıyoruz
|
| 40 |
+
hesapla_butonu.click(fn=tokenize_metin, inputs=girdi_metni, outputs=[sonuc_ozet, sonuc_detay])
|
| 41 |
+
|
| 42 |
+
# Uygulamayı başlat
|
| 43 |
+
arayuz.launch()
|