pvanand commited on
Commit
912f08a
·
verified ·
1 Parent(s): 0a8e7df

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +3 -30
main.py CHANGED
@@ -7,10 +7,6 @@ import uvicorn
7
  from fastapi.middleware.cors import CORSMiddleware
8
  from utils import read_file, fetch_job_description, optimize_resume_api
9
  import logging
10
- from fastapi_cache import FastAPICache
11
- from fastapi_cache.backends.inmemory import InMemoryBackend
12
- from fastapi_cache.decorator import cache
13
- import hashlib
14
 
15
  # Set up logging
16
  logging.basicConfig(level=logging.DEBUG)
@@ -35,12 +31,7 @@ def verify_token(credentials: HTTPAuthorizationCredentials = Depends(security)):
35
  raise HTTPException(status_code=401, detail="Invalid authentication token")
36
  return token
37
 
38
- def generate_cache_key(resume_content: str, job_description_content: str) -> str:
39
- combined = resume_content + job_description_content
40
- return hashlib.md5(combined.encode()).hexdigest()
41
-
42
  @app.post("/api/optimize-resume", response_model=OptimizationResponse, responses={400: {"model": ErrorResponse}, 401: {"model": ErrorResponse}, 500: {"model": ErrorResponse}})
43
- @cache(expire=36000000) # Cache for n seconds
44
  async def optimize_resume(
45
  resume: Optional[UploadFile] = File(None),
46
  resumeText: Optional[str] = Form(None),
@@ -67,31 +58,17 @@ async def optimize_resume(
67
  else:
68
  job_description_content = fetch_job_description(jobDescriptionUrl)
69
 
70
- # Generate cache key
71
- cache_key = generate_cache_key(resume_content, job_description_content)
72
-
73
- # Check cache
74
- cached_result = await FastAPICache.get(cache_key)
75
- if cached_result:
76
- return OptimizationResponse(**cached_result)
77
-
78
  # Perform optimization
79
  optimized_resume = optimize_resume_api(resume_content, job_description_content)
80
 
81
  metadata = {
82
- "original_resume": resume_content,
83
- "original_jd": job_description_content
84
- }
85
 
86
- result = OptimizationResponse(
87
  optimizedResume=optimized_resume,
88
  metadata=metadata
89
  )
90
-
91
- # Cache the result
92
- await FastAPICache.set(cache_key, result.dict(), expire=36000000)
93
-
94
- return result
95
  except ValueError as ve:
96
  logger.error(f"ValueError occurred: {str(ve)}", exc_info=True)
97
  raise HTTPException(status_code=400, detail=str(ve))
@@ -103,9 +80,5 @@ async def optimize_resume(
103
  async def http_exception_handler(request: Request, exc: HTTPException):
104
  return JSONResponse(status_code=exc.status_code, content={"detail": exc.detail})
105
 
106
- @app.on_event("startup")
107
- async def startup():
108
- FastAPICache.init(InMemoryBackend(), prefix="fastapi-cache")
109
-
110
  if __name__ == "__main__":
111
  uvicorn.run(app, host="0.0.0.0", port=8000, debug=True)
 
7
  from fastapi.middleware.cors import CORSMiddleware
8
  from utils import read_file, fetch_job_description, optimize_resume_api
9
  import logging
 
 
 
 
10
 
11
  # Set up logging
12
  logging.basicConfig(level=logging.DEBUG)
 
31
  raise HTTPException(status_code=401, detail="Invalid authentication token")
32
  return token
33
 
 
 
 
 
34
  @app.post("/api/optimize-resume", response_model=OptimizationResponse, responses={400: {"model": ErrorResponse}, 401: {"model": ErrorResponse}, 500: {"model": ErrorResponse}})
 
35
  async def optimize_resume(
36
  resume: Optional[UploadFile] = File(None),
37
  resumeText: Optional[str] = Form(None),
 
58
  else:
59
  job_description_content = fetch_job_description(jobDescriptionUrl)
60
 
 
 
 
 
 
 
 
 
61
  # Perform optimization
62
  optimized_resume = optimize_resume_api(resume_content, job_description_content)
63
 
64
  metadata = {
65
+ "original_resume":resume_content,
66
+ "original_jd": job_description_content}
 
67
 
68
+ return OptimizationResponse(
69
  optimizedResume=optimized_resume,
70
  metadata=metadata
71
  )
 
 
 
 
 
72
  except ValueError as ve:
73
  logger.error(f"ValueError occurred: {str(ve)}", exc_info=True)
74
  raise HTTPException(status_code=400, detail=str(ve))
 
80
  async def http_exception_handler(request: Request, exc: HTTPException):
81
  return JSONResponse(status_code=exc.status_code, content={"detail": exc.detail})
82
 
 
 
 
 
83
  if __name__ == "__main__":
84
  uvicorn.run(app, host="0.0.0.0", port=8000, debug=True)