import gradio as gr from transformers import MT5ForConditionalGeneration, AutoTokenizer # Load pre-trained model and tokenizer model_name = "persiannlp/mt5-small-parsinlu-sentiment-analysis" model = MT5ForConditionalGeneration.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) def analyze_sentiment(text): # Prepare input for the model inputs = tokenizer.encode("sentiment: " + text, return_tensors="pt", max_length=512, truncation=True) # Generate output outputs = model.generate(inputs, max_length=2) # Decode the sentiment label sentiment = tokenizer.decode(outputs[0], skip_special_tokens=True) return sentiment with gr.Blocks() as demo: gr.Markdown("Enter Persian text to get its sentiment analyzed") input_text = gr.Textbox(label="Status") output_text = gr.Textbox(label="Status") submit_button = gr.Button("Upload and Process") submit_button.click(analyze_sentiment, inputs=[input_text], outputs=output_text) # Launch the app demo.launch() # # Define Gradio interface # iface = gr.Interface( # fn=analyze_sentiment, # inputs="text", # outputs="text", # title="Persian Sentiment Analysis", # description="Enter Persian text to get its sentiment analyzed." # ) # # Launch the app # if __name__ == "__main__": # iface.launch(server_port=7865)