Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
CHANGED
|
@@ -73,14 +73,16 @@ from fastapi import Request
|
|
| 73 |
@app.post("/ner")
|
| 74 |
@limiter.limit("10/minute")
|
| 75 |
def ner_predict(body: TextRequest, request: Request, api_key: str = Depends(verify_token)):
|
| 76 |
-
logger.info("
|
|
|
|
| 77 |
raw_predictions = ner_pipeline(body.text)
|
| 78 |
|
| 79 |
-
#
|
| 80 |
predictions = [
|
| 81 |
{
|
| 82 |
**ent,
|
| 83 |
-
"score": float(ent["score"])
|
|
|
|
| 84 |
}
|
| 85 |
for ent in raw_predictions
|
| 86 |
]
|
|
@@ -94,7 +96,6 @@ def ner_predict(body: TextRequest, request: Request, api_key: str = Depends(veri
|
|
| 94 |
}
|
| 95 |
|
| 96 |
|
| 97 |
-
|
| 98 |
@app.post("/register_user")
|
| 99 |
def register_user(request: RegisterRequest, x_api_key: str = Depends(token_header)):
|
| 100 |
if x_api_key != ADMIN_KEY:
|
|
|
|
| 73 |
@app.post("/ner")
|
| 74 |
@limiter.limit("10/minute")
|
| 75 |
def ner_predict(body: TextRequest, request: Request, api_key: str = Depends(verify_token)):
|
| 76 |
+
logger.info("NER request from IP: %s", get_remote_address(request))
|
| 77 |
+
|
| 78 |
raw_predictions = ner_pipeline(body.text)
|
| 79 |
|
| 80 |
+
# Use original character spans to extract clean entity words
|
| 81 |
predictions = [
|
| 82 |
{
|
| 83 |
**ent,
|
| 84 |
+
"score": float(ent["score"]),
|
| 85 |
+
"word": body.text[ent["start"]:ent["end"]] # ← this fixes the issue
|
| 86 |
}
|
| 87 |
for ent in raw_predictions
|
| 88 |
]
|
|
|
|
| 96 |
}
|
| 97 |
|
| 98 |
|
|
|
|
| 99 |
@app.post("/register_user")
|
| 100 |
def register_user(request: RegisterRequest, x_api_key: str = Depends(token_header)):
|
| 101 |
if x_api_key != ADMIN_KEY:
|