HeshamHaroon's picture
Update app.py
ab010ed verified
raw
history blame
2.41 kB
import gradio as gr
from random import random
from aranizer import aranizer_bpe32k, aranizer_bpe50k, aranizer_bpe64k, aranizer_bpe86k, aranizer_sp32k, aranizer_sp50k, aranizer_sp64k, aranizer_sp86k
def load_tokenizer(tokenizer_choice):
# Dictionary mapping tokenizer choice to actual tokenizer initializer
tokenizer_map = {
"aranizer_bpe32k": aranizer_bpe32k.get_tokenizer(),
"aranizer_bpe50k": aranizer_bpe50k.get_tokenizer(),
"aranizer_bpe64k": aranizer_bpe64k.get_tokenizer(),
"aranizer_bpe86k": aranizer_bpe86k.get_tokenizer(),
"aranizer_sp32k": aranizer_sp32k.get_tokenizer(),
"aranizer_sp50k": aranizer_sp50k.get_tokenizer(),
"aranizer_sp64k": aranizer_sp64k.get_tokenizer(),
"aranizer_sp86k": aranizer_sp86k.get_tokenizer(),
}
return tokenizer_map.get(tokenizer_choice, None)
def tokenize_and_encode_and_embed(text, tokenizer_choice):
tokenizer = load_tokenizer(tokenizer_choice) # Use load_tokenizer here
if tokenizer:
# Example methods. Replace with actual methods from your tokenizer
tokens = tokenizer.tokenize(text)
encoded_output = tokenizer.encode(text, add_special_tokens=True)
decoded_text = tokenizer.decode(encoded_output)
# Example embedding (replace with actual embedding generation from your model)
embeddings = [random() for _ in range(10)] # Example 10-dimensional embedding vector
return " ".join(tokens), str(encoded_output), decoded_text, embeddings
else:
return "Tokenizer not loaded correctly", "", "", []
demo = gr.Interface(
fn=tokenize_and_encode_and_embed,
inputs=[
gr.Textbox(lines=5, label="النص العربي"),
gr.Dropdown(choices=["aranizer_bpe32k", "aranizer_bpe50k", "aranizer_bpe64k", "aranizer_bpe86k", "aranizer_sp32k", "aranizer_sp50k", "aranizer_sp64k", "aranizer_sp86k"], label="اختر المحلل اللفظي")
],
outputs=[
gr.Text(label="Tokens"),
gr.Text(label="Encoded Output"),
gr.Text(label="Decoded Text"),
gr.Text(label="Embeddings (Example Vector)")
],
title="مقارنة المحللات اللفظية وعمليات التضمين للنص العربي",
description="حدد نوع المحلل اللفظي وأدخل نصًا لرؤية النتائج ومتجه التضمين.",
)
demo.launch()