File size: 496 Bytes
0a3aede
 
 
 
bb95791
0375bcb
 
 
 
3354fcc
 
0375bcb
bb95791
 
0a3aede
 
3354fcc
0a3aede
ba02d68
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# mcp/nlp.py

import spacy

def load_model():
    try:
        return spacy.load("en_core_web_sm")
    except OSError:
        raise RuntimeError(
            "spaCy model 'en_core_web_sm' is not installed. "
            "Ensure Dockerfile downloads it at build time."
        )

nlp = load_model()

def extract_keywords(text: str):
    """Extract unique Named Entities longer than 2 characters."""
    doc = nlp(text)
    return list({ent.text for ent in doc.ents if len(ent.text.strip()) > 2})