Spaces:
Running
Running
import gradio as gr | |
from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification | |
# Load your model from Hugging Face Hub | |
MODEL_NAME = "Pisethan/sangapac-math" | |
reverse_label_mapping = { | |
0: "arithmetic", | |
1: "multiplication", | |
2: "division", | |
3: "algebra", | |
4: "geometry", | |
} | |
# Load tokenizer and model | |
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) | |
model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME) | |
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer) | |
def predict(input_text): | |
# Predict using the model | |
result = classifier(input_text) | |
label_id = int(result[0]["label"].split("_")[-1]) # Extract label ID | |
category = reverse_label_mapping[label_id] # Map label to category | |
# Return prediction result | |
return { | |
"Category": category, | |
"Confidence": result[0]["score"], | |
} | |
# Gradio interface | |
interface = gr.Interface( | |
fn=predict, | |
inputs=gr.Textbox(lines=2, placeholder="Enter a math problem..."), | |
outputs="json", | |
title="Sangapac Math Model", | |
description="A model to classify math problems into categories like Arithmetic, Multiplication, Division, Algebra, and Geometry.", | |
) | |
# Launch the app | |
interface.launch() | |