File size: 680 Bytes
1a1949a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from fastapi import FastAPI
from pydantic import BaseModel
from recommendation_engine import scrape_url, prepare_input, get_recommendations

app = FastAPI()

class QueryRequest(BaseModel):
    query: str
    duration: int
    url: str = None  

@app.get("/")
def root():
    return {"message": "SHL Assessment Recommendation API is running."}


@app.post("/recommend")
def recommend(data: QueryRequest):
    jd_text = scrape_url(data.url) if data.url else ""
    input_text = prepare_input(data.query, data.duration, jd_text)
    recommendations = get_recommendations(input_text, top_k=10, max_duration=data.duration)
    return {"results": recommendations}