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