spacy-custom / handler.py
Manu Biot
bla
8d2f457
import spacy
from typing import Dict, Any, List
class EndpointHandler:
def __init__(self, path: str = ""):
# Load the spaCy model. Make sure you've added it in requirements.txt
self.nlp = spacy.load(path)
def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]:
# Accept both 'inputs' and 'text' as valid keys
text = data.get("inputs") or data.get("text") or ""
if not text:
return [{"error": "Missing input text"}]
doc = self.nlp(text)
results = []
for ent in doc.ents:
results.append({
"text": ent.text,
"start": ent.start_char,
"end": ent.end_char,
"label": ent.label_
})
return results