SivaMallikarjun's picture
Create app.py
b8b150c verified
import gradio as gr
import torch
from model import SimpleMultilingualClassifier # Import your model
# --- Configuration ---
embedding_files = {
'en': 'fasttext_embeddings/cc.en.100.bin',
'fr': 'fasttext_embeddings/cc.fr.100.bin'
# Add more languages as needed
}
num_classes = 3 # Replace with the actual number of classes
class_labels = ["positive", "negative", "neutral"] # Replace with your actual class labels
# Load the model
try:
model = SimpleMultilingualClassifier(embedding_files, num_classes)
# In a real scenario, you would load trained weights here:
# model.load_state_dict(torch.load('path/to/your/trained_weights.pth'))
model.eval()
except Exception as e:
print(f"Error loading model: {e}")
model = None
def classify_text(text, language):
if model:
try:
prediction = model.predict(text, language, class_labels)
return prediction
except ValueError as e:
return str(e)
else:
return "Model not loaded."
iface = gr.Interface(
fn=classify_text,
inputs=[
gr.Textbox(label="Enter text"),
gr.Dropdown(choices=list(embedding_files.keys()), label="Language")
],
outputs=gr.Textbox(label="Prediction"),
title="Simple Multilingual Text Classifier",
description="A basic multilingual text classifier using FastText embeddings.",
)
iface.launch()