Spaces:
Sleeping
Sleeping
import gradio as gr | |
from main import extract_entities_from_file | |
from starlette.requests import ClientDisconnect | |
def process(file): | |
try: | |
file_path = file.name # Extract the temp file path from NamedString | |
results = extract_entities_from_file(file_path) | |
if not results: | |
return "No entities found." | |
return "\n".join([f"{text} -> {label}" for text, label in results]) | |
except ClientDisconnect: | |
print("Client disconnected during processing.") | |
return "Client disconnected before processing could complete." | |
except Exception as e: | |
print(f"Unhandled error: {e}") | |
return "An error occurred during processing." | |
iface = gr.Interface( | |
fn=process, | |
inputs=gr.File(label="Upload a text file"), | |
outputs=gr.Textbox(label="Extracted Entities"), | |
title="GLiNER + SpaCy Entity Extractor", | |
description="Upload a text file to extract PERSON, ORG, LOCATION, and DISEASE entities." | |
) | |
if __name__ == "__main__": | |
iface.launch() | |