import gradio as gr from transformers import AutoTokenizer # Tokenizer'ı Hugging Face'ten yüklüyoruz tokenizer = AutoTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-2k") def tokenize_metin(metin): if not metin.strip(): return "Lütfen tokenlara ayrılacak bir metin girin.", "" # Metni token ID'lerine çevir token_idleri = tokenizer.encode(metin) # Kullanıcının daha iyi anlaması için her bir ID'nin hangi kelimeye/heceye denk geldiğini bulalım detayli_ayrilim = [] for t_id in token_idleri: kelime_parcasi = tokenizer.decode([t_id]) detayli_ayrilim.append(f"'{kelime_parcasi}' (ID: {t_id})") toplam_sayi = f"Toplam Token Sayısı: {len(token_idleri)}" detay_metni = "\n".join(detayli_ayrilim) return toplam_sayi, detay_metni # Gradio Arayüzünü Oluşturuyoruz with gr.Blocks(theme=gr.themes.Soft()) as arayuz: gr.Markdown("# 🔍 Kronos Tokenizer-2k Test Aracı") 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.") with gr.Row(): with gr.Column(): girdi_metni = gr.Textbox(lines=5, label="Metninizi Buraya Girin", placeholder="Merhaba, bu bir test mesajıdır...") hesapla_butonu = gr.Button("Tokenlara Ayır", variant="primary") with gr.Column(): sonuc_ozet = gr.Textbox(label="Özet Bilgi", lines=1) sonuc_detay = gr.Textbox(label="Token Detayları", lines=8) # Butona basıldığında çalışacak fonksiyonu bağlıyoruz hesapla_butonu.click(fn=tokenize_metin, inputs=girdi_metni, outputs=[sonuc_ozet, sonuc_detay]) # Uygulamayı başlat arayuz.launch()