File size: 848 Bytes
2542be6
 
 
 
 
9552813
2542be6
 
 
ac8afe6
 
 
 
 
 
 
 
2542be6
 
114cd96
 
2542be6
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from fastapi import FastAPI
from core.init_nlp import initialize_nlp
from contextlib import asynccontextmanager
import logging
from api.endpoints import location
from transformers import AutoTokenizer, AutoModelForTokenClassification

@asynccontextmanager
async def lifespan(app: FastAPI):
    # initialize_nlp()
    print("Initializing NER model and tokenizer")
    logging.info("Initializing NER model and tokenizer")
    
    app.tokenizer = AutoTokenizer.from_pretrained("ml6team/bert-base-uncased-city-country-ner")
    app.model = AutoModelForTokenClassification.from_pretrained("ml6team/bert-base-uncased-city-country-ner")
    app.nlp = pipeline('ner', model=app.model, tokenizer=app.tokenizer, aggregation_strategy="simple")
    
    yield

app = FastAPI(lifespan=lifespan)

app.include_router(location.router, prefix="/location/api/v1")