ZealPyae commited on
Commit
e075823
·
verified ·
1 Parent(s): bdc7b8d

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -0
app.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import joblib
2
+ import re
3
+ from fastapi import FastAPI
4
+ from pydantic import BaseModel
5
+
6
+ # Load the model and vectorizer
7
+ vectorizer = joblib.load("app/vectorizer.joblib")
8
+ model = joblib.load("app/naive_bayes_model.joblib")
9
+
10
+ app = FastAPI()
11
+
12
+ class URLInput(BaseModel):
13
+ url: str
14
+
15
+ def preprocess_url(url):
16
+ url = re.sub(r"http\S+", "", url)
17
+ url = re.sub(r"\d+", "", url)
18
+ url = re.sub(r"\W", " ", url)
19
+ url = url.lower()
20
+ return url
21
+
22
+ @app.post("/predict")
23
+ def predict_url(url_input: URLInput):
24
+ processed_url = preprocess_url(url_input.url)
25
+ vectorized_url = vectorizer.transform([processed_url])
26
+ prediction = model.predict(vectorized_url)
27
+ return {"prediction": prediction[0]}
28
+
29
+ if __name__ == "__main__":
30
+ import uvicorn
31
+ uvicorn.run(app, host="0.0.0.0", port=8000)