Spaces:
Sleeping
Sleeping
#Fast APi Packages | |
from fastapi import FastAPI,File | |
from pydantic import BaseModel | |
import json | |
#SkillExtraction Packages | |
import psycopg2 | |
import pandas as pd | |
import numpy as np | |
from sentence_transformers import SentenceTransformer | |
import spacy | |
from sklearn.metrics.pairwise import cosine_similarity | |
from spacy.matcher import PhraseMatcher | |
from skillNer.general_params import SKILL_DB | |
from skillNer.skill_extractor_class import SkillExtractor | |
from psycopg2.extensions import register_adapter, AsIs | |
register_adapter(np.int64, AsIs) | |
import warnings | |
warnings.filterwarnings('ignore') | |
#Custom Classes for endpoints | |
from DbConnection import DbConnection | |
from UploadFile import UploadOpenFile | |
from SkillExtract import SkillExtractorDetails | |
from ExtractContentsFromFile import ExtractContentFromFile | |
from RemoveSkills import RemoveSkill | |
from AddSkillDetails import AddSkill | |
from SkillMatcher import SkillMatch | |
from SkillExtractV1 import SkillExtractorDetailsV1 | |
import ClassModals | |
import os | |
os.environ['HF_HOME'] = '/hug/cache/' | |
app = FastAPI() | |
nlp = spacy.load("en_core_web_lg") | |
# init skill extractor | |
skill_extractor = SkillExtractor(nlp, SKILL_DB, PhraseMatcher) | |
model = SentenceTransformer('all-MiniLM-L6-v2') | |
async def root(): | |
return {"SkillAPI":"SkillAPi Version 1.00"} | |
def parse_csv(df): | |
res = df.to_json(orient="records") | |
parsed = json.loads(res) | |
return parsed | |
def UploadJobDescription(file: bytes = File(...), FileName: str = "sample.pdf"): | |
text= ExtractContentFromFile.ExtractDataFromFile(FileName,file) | |
returnSkills = SkillExtractorDetailsV1.GetSkillData(skill_extractor,text) | |
return parse_csv(returnSkills) | |
def RemoveSkills(SkillName : str): | |
RemoveSkill.RemoveSkillDetails(SkillName) | |
return "Skill Removed Successfully" | |
def AddSkills(Skills : ClassModals.Modals.AddSkillDetails): | |
skilldetailsStr = Skills.SkillName + ',' + Skills.SkillType + ',' + str(Skills.SkillScore) | |
return AddSkill.AddSkillDetails(skilldetailsStr) | |
#return JSONResponse(content={"message": "Here's your interdimensional portal." , "mes1":"data2"}) | |
#https://vaibhav84-resumeapi.hf.space/docs |