Spaces:
Running
Running
from slowapi import Limiter | |
from config import ACCESS_RATE | |
from .controller import handle_file_sentence, handle_sentence_level_analysis, nepali_text_analysis | |
from .inferencer import classify_text | |
from fastapi import APIRouter, File, Request, Depends, HTTPException, UploadFile | |
from fastapi.security import HTTPBearer | |
from slowapi import Limiter | |
from slowapi.util import get_remote_address | |
from pydantic import BaseModel | |
from .controller import handle_file_upload | |
router = APIRouter() | |
limiter = Limiter(key_func=get_remote_address) | |
security = HTTPBearer() | |
# Input schema | |
class TextInput(BaseModel): | |
text: str | |
async def analyse(request: Request, data: TextInput, token: str = Depends(security)): | |
result = classify_text(data.text) | |
return result | |
async def upload_file(request:Request,file:UploadFile=File(...),token:str=Depends(security)): | |
return await handle_file_upload(file) | |
async def upload_file(request:Request,data:TextInput,token:str=Depends(security)): | |
return await handle_sentence_level_analysis(data.text) | |
async def analyze_sentance_file(request: Request, file: UploadFile = File(...), token: str = Depends(security)): | |
return await handle_file_sentence(file) | |
def health(request: Request): | |
return {"status": "ok"} | |