Faseeh / app.py
Abdulmohsena's picture
Update app.py
27d22c2 verified
import gradio as gr
from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import torch
import warnings
import weave
import os
import wandb
wandb.login(key=os.getenv('WANDB_KEY'))
weave.init("Faseeh")
warnings.filterwarnings("ignore")
device = "cuda" if torch.cuda.is_available() else "cpu"
# Load the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("Abdulmohsena/Faseeh")
model = AutoModelForSeq2SeqLM.from_pretrained("Abdulmohsena/Faseeh").to(device)
class Faseeh(weave.Model):
@weave.op()
def translate(self, input_data: str, temperature: float = 0.1):
inputs = tokenizer(input_data, return_tensors='pt')
outputs = model.generate(**inputs,
temperature=temperature,
do_sample=True)[0]
prediction = tokenizer.decode(outputs, skip_special_tokens=True)
return prediction
faseeh = Faseeh()
# Gradio interface
with gr.Blocks() as demo:
gr.Markdown("# Faseeh: The Elequent Arabic Translator")
# Input text box
input_text = gr.Textbox(label="Input Text", placeholder="Enter text to translate from English to Classical Arabic")
# Output text box
output_text = gr.Textbox(label="ادخل نصا لتترجمه من الأنجليزية الى العربية الفصيحة")
# Button to trigger translation
translate_btn = gr.Button("Translate")
# Button action
translate_btn.click(faseeh.translate, inputs=input_text, outputs=output_text)
# Launch the Gradio app
if __name__ == "__main__":
demo.launch()