Spaces:
Sleeping
Sleeping
File size: 2,180 Bytes
99bbd64 24a440f 99bbd64 89ac774 99bbd64 89509c4 99bbd64 7dbf682 9e0b38e 99bbd64 9e0b38e 7dbf682 6e78f7b fa24c7d 4aba3cf 7dbf682 bcc36a0 4d13280 bcc36a0 24a440f fa24c7d 9e0b38e 2e32f9d 9e0b38e fa24c7d 24a440f 89509c4 fa24c7d 6e78f7b 89ac774 a587148 89509c4 fa24c7d 2e32f9d 9e0b38e 4aba3cf |
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 71 72 73 74 75 76 77 78 |
#Fast APi Packages
from fastapi import FastAPI
from pydantic import BaseModel
import json
#SkillExtraction Packages
from PyPDF2 import PdfReader
import psycopg2
from psycopg2 import sql
import pandas as pd
from datetime import date
import numpy as np
import spacy
import re
from sentence_transformers import SentenceTransformer, util
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
from io import StringIO
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
import os
os.environ['HF_HOME'] = '/hug/cache/'
app = FastAPI()
class FileDetails(BaseModel):
filecontents: str
filename: str
class SkillDetails(BaseModel):
skillid: int
class FileResponse(BaseModel):
fileid: int
message: str
nlp = spacy.load("en_core_web_lg")
# init skill extractor
skill_extractor = SkillExtractor(nlp, SKILL_DB, PhraseMatcher)
@app.get("/")
async def root():
return {"greeting":"Hello world"}
#https://vaibhav84-resumeapi.hf.space/docs
db_params = DbConnection.GetDbConnection()
def parse_csv(df):
res = df.to_json(orient="records")
parsed = json.loads(res)
return parsed
@app.get("/ProfileMatch")
def ProfileMatchResults():
dbQuery = "select * from profilematch"
conn = psycopg2.connect(**db_params)
df = pd.read_sql_query(dbQuery, conn)
return parse_csv(df)
@app.post("/UploadFile/")
def UploadFileDetails(file_data: FileDetails):
FileResponse.fileid = UploadOpenFile.uploadFile(file_data.filecontents,file_data.filename,db_params)
FileResponse.message = "File Uploaded Successfully!!!"
return
@app.post("/ExtractSkills/")
def ExtractSkills(skill_data: SkillDetails):
return SkillExtractorDetails.SkillExtract(db_params,skill_extractor,skill_data.skillid) |