ML-Learner / python_backend /api /Agents /routes /user_router.py
VashuTheGreat2's picture
Upload folder using huggingface_hub
c01955c verified
import fastapi
from fastapi import UploadFile, Body
from src.Agents.pipelines.ResumeSchemaGeneration_pipeline import ResumeSchemaGenerationPipeline
from src.Agents.pipelines.ResumeSummary_pipeline import ResumeSummaryPipeline
from src.Agents.models.userSchema_model import userDetails as UserDetailsModel
import logging
import sys
from exception import MyException
import uuid
import os
router = fastapi.APIRouter()
@router.post("/generate_schema")
async def generate_schema(
details: UserDetailsModel = Body(...)
):
logging.info("Entering generate_schema route (async)")
try:
pipeline = ResumeSchemaGenerationPipeline()
schema = await pipeline.initiate(userDetails=details)
return schema
except Exception as e:
raise MyException(e, sys)
@router.post("/aboutUserByResume")
async def aboutUserByResume(file: UploadFile):
logging.info("Entering aboutUserByResume route (async)")
try:
os.makedirs("api/public",exist_ok=True)
id=uuid.uuid4()
file_path=f"api/public/{id}.pdf"
with open(file_path,"wb") as f:
f.write(file.file.read())
pipeline = ResumeSummaryPipeline()
res = await pipeline.initiate(file_path=file_path)
return res
except Exception as e:
raise MyException(e, sys)
finally:
if "file_path" in locals() and os.path.exists(file_path):
os.remove(file_path)