prodigy-ecfr-textcat / gradio_interface.py
ManjinderUNCC's picture
Upload 11 files
15d639e verified
raw
history blame
1.25 kB
# Import necessary libraries
import gradio as gr
import spacy
# Load the trained spaCy model
model_path = "./my_trained_model"
nlp = spacy.load(model_path)
# Function to classify text
def classify_text(text):
doc = nlp(text)
predicted_labels = doc.cats
return predicted_labels
# Function to save results to a file
def save_to_file(text, predicted_labels):
with open("classification_results.txt", "w") as f:
f.write("Text: {}\n\n".format(text))
for label, score in predicted_labels.items():
f.write("{}: {}\n".format(label, score))
# Gradio Interface
inputs = [
gr.inputs.Textbox(lines=7, label="Enter your text"),
gr.inputs.File(label="Upload a file")
]
output = gr.outputs.Textbox(label="Classification Results")
def classify_and_save(input_text, input_file):
if input_text:
text = input_text
elif input_file:
# Process the file and extract text
with open(input_file.name, "r") as f:
text = f.read()
predicted_labels = classify_text(text)
save_to_file(text, predicted_labels)
return predicted_labels
iface = gr.Interface(fn=classify_and_save, inputs=inputs, outputs=output, title="Text Classifier")
iface.launch(share=True)