Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -26,6 +26,7 @@ def ner(text: str):
|
|
| 26 |
# Predict entities using the fine-tuned GLiNER model
|
| 27 |
entities = model.predict_entities(text, labels, flat_ner=True, threshold=threshold)
|
| 28 |
|
|
|
|
| 29 |
textile_entities = [
|
| 30 |
{
|
| 31 |
"entity": ent["label"],
|
|
@@ -38,15 +39,14 @@ def ner(text: str):
|
|
| 38 |
if ent["label"] == "Textile Machinery"
|
| 39 |
]
|
| 40 |
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
highlighted_text = (
|
| 44 |
-
highlighted_text[:ent['start']] +
|
| 45 |
-
f"<span style='background-color: yellow; font-weight: bold;'>{highlighted_text[ent['start']:ent['end']]}</span>" +
|
| 46 |
-
highlighted_text[ent['end']:]
|
| 47 |
-
)
|
| 48 |
|
| 49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
# Gradio Interface
|
| 52 |
with gr.Blocks(title="Textile Machinery NER Demo") as demo:
|
|
|
|
| 26 |
# Predict entities using the fine-tuned GLiNER model
|
| 27 |
entities = model.predict_entities(text, labels, flat_ner=True, threshold=threshold)
|
| 28 |
|
| 29 |
+
# Filter for "Textile Machinery" entities
|
| 30 |
textile_entities = [
|
| 31 |
{
|
| 32 |
"entity": ent["label"],
|
|
|
|
| 39 |
if ent["label"] == "Textile Machinery"
|
| 40 |
]
|
| 41 |
|
| 42 |
+
# Prepare entities for color-coded display using gr.HighlightedText in the required dictionary format
|
| 43 |
+
highlights = [{"start": ent["start"], "end": ent["end"], "entity": ent["entity"]} for ent in textile_entities]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
+
# Return two outputs: one for the highlighted text and one for the entities in JSON format
|
| 46 |
+
return {
|
| 47 |
+
"text": text,
|
| 48 |
+
"entities": highlights
|
| 49 |
+
}, textile_entities
|
| 50 |
|
| 51 |
# Gradio Interface
|
| 52 |
with gr.Blocks(title="Textile Machinery NER Demo") as demo:
|