File size: 2,268 Bytes
99bbd64 afbea99 99bbd64 89ac774 99bbd64 89509c4 7dbf682 2885677 9e0b38e 99bbd64 9e0b38e 7dbf682 afbea99 7dbf682 6e78f7b fa24c7d 4aba3cf ffb1952 afbea99 a61f95d 2885677 38021f1 a61f95d bcc36a0 4d13280 bcc36a0 24a440f 9ce2997 9e0b38e 2885677 fa24c7d 24a440f f1b6b3f a3d0e12 89ac774 07479a9 c7e63c1 f0a5434 e050d94 ffb1952 b6ee5b6 4a9632c 38021f1 4006ccd fd4a491 afbea99 b6ee5b6 afbea99 a61f95d 1bd3b0e b6ee5b6 a61f95d a3d0e12 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
#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')
@app.get("/")
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
@app.post("/UploadJobDescription/")
def UploadJobDescription(file: bytes = File(...), FileName: str = "sample.pdf"):
text= ExtractContentFromFile.ExtractDataFromFile(FileName,file)
returnSkills = SkillExtractorDetailsV1.GetSkillData(skill_extractor,text)
return parse_csv(returnSkills)
@app.delete("/RemoveSkillsByName/")
def RemoveSkills(SkillName : str):
RemoveSkill.RemoveSkillDetails(SkillName)
return "Skill Removed Successfully"
@app.post("/AddSkillDeails/")
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 |