Spaces:
Runtime error
Runtime error
| from model.layer import Bi_LSTM_CRF | |
| from flair.data import Sentence | |
| from schema import WordSchema | |
| from settings import app | |
| from fastapi import APIRouter | |
| from starlette import status | |
| from starlette.responses import JSONResponse | |
| import uvicorn | |
| api_router = APIRouter() | |
| # Variables for Interactive selections | |
| tagger = Bi_LSTM_CRF.load("checkpoints/best-model.pt") | |
| def health(): | |
| return JSONResponse( | |
| status_code=status.HTTP_201_CREATED, | |
| content={ | |
| "code": 200, | |
| "version": "1.0.0" | |
| }, | |
| ) | |
| def model( | |
| *, | |
| word: str, | |
| file_name: str | |
| ): | |
| """ | |
| An api for serving the model for the PHI classification. | |
| :param word: list of word tokens in a paragraph. | |
| :param file_name: name of the wile. | |
| :returns: json response that contains labeled | |
| tags their respective classification. | |
| """ | |
| txt = Sentence(word) | |
| tagger.predict(txt) | |
| labels, tags = [], [] | |
| for entity in txt.get_spans('ner'): | |
| labels.append(entity.text) | |
| tags.append(entity.get_label("ner").value) | |
| return JSONResponse( | |
| status_code=status.HTTP_201_CREATED, | |
| content={ | |
| "code": 200, | |
| "data": { | |
| "labels": labels, | |
| "tags": tags | |
| } | |
| }, | |
| ) | |
| app.include_router(api_router) | |
| if __name__ == "__main__": | |
| uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True, debug=True) | |