Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
from fastapi import FastAPI, File, UploadFile, Form
|
| 2 |
from pydantic import BaseModel
|
| 3 |
from typing import List
|
| 4 |
from pathlib import Path
|
|
@@ -28,7 +28,7 @@ UPLOAD_DIR = Path("uploads")
|
|
| 28 |
UPLOAD_DIR.mkdir(exist_ok=True)
|
| 29 |
|
| 30 |
@app.post("/upload")
|
| 31 |
-
async def upload_file(file: UploadFile = File(...), type: str = Form(...)):
|
| 32 |
# print(file)
|
| 33 |
# file_path = Path(file.filename)
|
| 34 |
# with file_path.open("wb") as buffer:
|
|
@@ -62,6 +62,7 @@ async def upload_file(file: UploadFile = File(...), type: str = Form(...)):
|
|
| 62 |
resumes.append(result)
|
| 63 |
elif type == "job":
|
| 64 |
jobs.append(result)
|
|
|
|
| 65 |
return {
|
| 66 |
"code":201,
|
| 67 |
"message":"Request was successful.",
|
|
@@ -69,7 +70,6 @@ async def upload_file(file: UploadFile = File(...), type: str = Form(...)):
|
|
| 69 |
}
|
| 70 |
|
| 71 |
|
| 72 |
-
|
| 73 |
@app.get("/jobs")
|
| 74 |
def get_jobs():
|
| 75 |
return {
|
|
@@ -88,11 +88,7 @@ def get_resumes():
|
|
| 88 |
}
|
| 89 |
|
| 90 |
|
| 91 |
-
|
| 92 |
-
async def get_scoring():
|
| 93 |
-
# resume_ids = [x["id"] for x in resumes]
|
| 94 |
-
# job_ids = [x["id"] for x in jobs]
|
| 95 |
-
|
| 96 |
score_resume_ids = [x["resume_id"] for x in scoring]
|
| 97 |
score_job_ids = [x["job_id"] for x in scoring]
|
| 98 |
|
|
@@ -104,9 +100,16 @@ async def get_scoring():
|
|
| 104 |
scoring.append({
|
| 105 |
"resume_id":resume["id"],
|
| 106 |
"job_id":job["id"],
|
| 107 |
-
"rank_score":rank_score,
|
| 108 |
-
"suggestion_score":suggest_score
|
| 109 |
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
|
| 111 |
return {
|
| 112 |
"code":200,
|
|
|
|
| 1 |
+
from fastapi import FastAPI, File, UploadFile, Form, BackgroundTasks
|
| 2 |
from pydantic import BaseModel
|
| 3 |
from typing import List
|
| 4 |
from pathlib import Path
|
|
|
|
| 28 |
UPLOAD_DIR.mkdir(exist_ok=True)
|
| 29 |
|
| 30 |
@app.post("/upload")
|
| 31 |
+
async def upload_file(file: UploadFile = File(...), type: str = Form(...), task: BackgroundTasks):
|
| 32 |
# print(file)
|
| 33 |
# file_path = Path(file.filename)
|
| 34 |
# with file_path.open("wb") as buffer:
|
|
|
|
| 62 |
resumes.append(result)
|
| 63 |
elif type == "job":
|
| 64 |
jobs.append(result)
|
| 65 |
+
task.add_task(process_scoring)
|
| 66 |
return {
|
| 67 |
"code":201,
|
| 68 |
"message":"Request was successful.",
|
|
|
|
| 70 |
}
|
| 71 |
|
| 72 |
|
|
|
|
| 73 |
@app.get("/jobs")
|
| 74 |
def get_jobs():
|
| 75 |
return {
|
|
|
|
| 88 |
}
|
| 89 |
|
| 90 |
|
| 91 |
+
async def process_scoring():
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
score_resume_ids = [x["resume_id"] for x in scoring]
|
| 93 |
score_job_ids = [x["job_id"] for x in scoring]
|
| 94 |
|
|
|
|
| 100 |
scoring.append({
|
| 101 |
"resume_id":resume["id"],
|
| 102 |
"job_id":job["id"],
|
| 103 |
+
"rank_score":rank_score[0],
|
| 104 |
+
"suggestion_score":suggest_score[0]
|
| 105 |
})
|
| 106 |
+
|
| 107 |
+
@app.get("/scoring")
|
| 108 |
+
async def get_scoring():
|
| 109 |
+
# resume_ids = [x["id"] for x in resumes]
|
| 110 |
+
# job_ids = [x["id"] for x in jobs]
|
| 111 |
+
|
| 112 |
+
scoring = await process_scoring()
|
| 113 |
|
| 114 |
return {
|
| 115 |
"code":200,
|