Docfile commited on
Commit
a67aec6
·
verified ·
1 Parent(s): c391ba7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -26
app.py CHANGED
@@ -3,7 +3,7 @@
3
  import pandas as pd
4
  from pycaret.regression import load_model, predict_model
5
  from fastapi import FastAPI
6
- from pydantic import BaseModel, create_model
7
  import uvicorn
8
 
9
 
@@ -15,40 +15,40 @@ app = FastAPI(
15
  )
16
 
17
 
18
- model = load_model("best_pipeline")
19
 
20
 
21
  class InputModel(BaseModel):
22
- state: str
23
- statecode: int
24
- year: int
25
- price: float
26
- eprice: float
27
- oprice: float
28
- lprice: float
29
- heating: int
30
- income: float
31
 
32
  class OutputModel(BaseModel):
33
- prediction: float
34
-
35
 
 
36
  @app.post("/predict", response_model=OutputModel, summary="Prédire la Consommation de Gaz Naturel", description="Prédit la consommation de gaz naturel basée sur les paramètres fournis.")
37
  def predict(data: InputModel):
38
  """
39
- Paramètres d'entrée :
40
- - state : État (par exemple, 'TX' pour Texas)
41
- - statecode : Code de l'état (par exemple, 44)
42
- - year : Année (par exemple, 1980)
43
- - price : Prix du gaz naturel
44
- - eprice : Prix ajusté de l'énergie
45
- - oprice : Prix de l'énergie autre que le gaz naturel
46
- - lprice : Prix du gaz naturel en dollars constants
47
- - heating: Degrés-jours de chauffage
48
- - income : Revenu moyen
49
-
50
- Sortie :
51
- - *prediction* : Prédiction de la consommation de gaz naturel
52
  """
53
  data = pd.DataFrame([data.dict()])
54
  predictions = predict_model(model, data=data)
 
3
  import pandas as pd
4
  from pycaret.regression import load_model, predict_model
5
  from fastapi import FastAPI
6
+ from pydantic import BaseModel, Field
7
  import uvicorn
8
 
9
 
 
15
  )
16
 
17
 
18
+ model = load_model("api_gaz")
19
 
20
 
21
  class InputModel(BaseModel):
22
+ state: str = Field(..., example="TX", description="État (par exemple, 'TX' pour Texas)")
23
+ statecode: int = Field(..., example=44, description="Code de l'état (par exemple, 44)")
24
+ year: int = Field(..., example=1980, description="Année (par exemple, 1980)")
25
+ price: float = Field(..., example=3.4, description="Prix du gaz naturel")
26
+ eprice: float = Field(..., example=4.87, description="Prix ajusté de l'énergie")
27
+ oprice: float = Field(..., example=37.92, description="Prix de l'énergie autre que le gaz naturel")
28
+ lprice: float = Field(..., example=3.21, description="Prix du gaz naturel en dollars constants")
29
+ heating: int = Field(..., example=2145, description="Degrés-jours de chauffage")
30
+ income: float = Field(..., example=11393.46, description="Revenu moyen")
31
 
32
  class OutputModel(BaseModel):
33
+ prediction: float = Field(..., example=224800, description="Prédiction de la consommation de gaz naturel")
 
34
 
35
+ # Define predict function
36
  @app.post("/predict", response_model=OutputModel, summary="Prédire la Consommation de Gaz Naturel", description="Prédit la consommation de gaz naturel basée sur les paramètres fournis.")
37
  def predict(data: InputModel):
38
  """
39
+ Paramètres d'entrée :
40
+ - state : État (par exemple, 'TX' pour Texas)
41
+ - statecode : Code de l'état (par exemple, 44)
42
+ - year : Année (par exemple, 1980)
43
+ - price : Prix du gaz naturel
44
+ - eprice : Prix ajusté de l'énergie
45
+ - oprice : Prix de l'énergie autre que le gaz naturel
46
+ - lprice : Prix du gaz naturel en dollars constants
47
+ - heating : Degrés-jours de chauffage
48
+ - income : Revenu moyen
49
+
50
+ Sortie :
51
+ - prediction : Prédiction de la consommation de gaz naturel
52
  """
53
  data = pd.DataFrame([data.dict()])
54
  predictions = predict_model(model, data=data)