feature: add documentation
This commit is contained in:
parent
28d22ea47e
commit
07f60e449b
@ -1,6 +1,4 @@
|
|||||||
from fastapi import APIRouter, Depends, HTTPException
|
from fastapi import APIRouter, HTTPException
|
||||||
from sqlalchemy.orm import Session
|
|
||||||
from typing import List
|
|
||||||
from schemas.schemas import LaptopCreate, LaptopResponse, PredictPriceResponse
|
from schemas.schemas import LaptopCreate, LaptopResponse, PredictPriceResponse
|
||||||
from services.service import LaptopService
|
from services.service import LaptopService
|
||||||
import os
|
import os
|
||||||
@ -12,8 +10,17 @@ MODEL_PATH = os.getenv("MODEL_PATH", "laptop_price_model.pkl")
|
|||||||
FEATURE_COLUMNS_PATH = os.getenv("FEATURE_COLUMNS_PATH", "feature_columns.pkl")
|
FEATURE_COLUMNS_PATH = os.getenv("FEATURE_COLUMNS_PATH", "feature_columns.pkl")
|
||||||
laptop_service = LaptopService(model_path=MODEL_PATH, feature_columns_path=FEATURE_COLUMNS_PATH)
|
laptop_service = LaptopService(model_path=MODEL_PATH, feature_columns_path=FEATURE_COLUMNS_PATH)
|
||||||
|
|
||||||
@router.post("/predict_price/", response_model=PredictPriceResponse)
|
@router.post("/predict_price/", response_model=PredictPriceResponse, summary="Predict laptop price", description="Predict the price of a laptop based on its specifications.", response_description="The predicted price of the laptop.")
|
||||||
def predict_price(data: LaptopCreate):
|
def predict_price(data: LaptopCreate):
|
||||||
|
"""
|
||||||
|
Predict the price of a laptop given its specifications.
|
||||||
|
|
||||||
|
- **processor**: Type of processor (e.g., i5, i7)
|
||||||
|
- **ram**: Amount of RAM in GB
|
||||||
|
- **os**: Operating system (e.g., Windows, MacOS)
|
||||||
|
- **ssd**: Size of SSD in GB
|
||||||
|
- **display**: Size of the display in inches
|
||||||
|
"""
|
||||||
try:
|
try:
|
||||||
return laptop_service.predict_price(data.dict())
|
return laptop_service.predict_price(data.dict())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
19
schemas.py
19
schemas.py
@ -1,19 +0,0 @@
|
|||||||
from pydantic import BaseModel
|
|
||||||
|
|
||||||
class LaptopBase(BaseModel):
|
|
||||||
title: str
|
|
||||||
price: float
|
|
||||||
processor: str
|
|
||||||
ram: int
|
|
||||||
ssd: int
|
|
||||||
display: float
|
|
||||||
|
|
||||||
class LaptopCreate(LaptopBase):
|
|
||||||
price: float
|
|
||||||
|
|
||||||
class LaptopResponse(LaptopBase):
|
|
||||||
id: int
|
|
||||||
price: float
|
|
||||||
|
|
||||||
class Config:
|
|
||||||
from_attributes = True
|
|
Loading…
Reference in New Issue
Block a user