File size: 545 Bytes
0972aa8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from fastapi import FastAPI
from pydantic import BaseModel
import spacy
app = FastAPI(title="spaCy NER API")
# Load transformer model
nlp = spacy.load(
"en_core_web_trf",
disable=["tagger", "parser", "lemmatizer", "attribute_ruler"]
)
class TextInput(BaseModel):
text: str
@app.post("/ner")
def extract_ner(data: TextInput):
doc = nlp(data.text)
entities = []
for ent in doc.ents:
entities.append({
"text": ent.text,
"label": ent.label_
})
return {"entities": entities}
|