dev2004v commited on
Commit
334b424
·
verified ·
1 Parent(s): dbc3c40

Update model.py

Browse files
Files changed (1) hide show
  1. model.py +35 -34
model.py CHANGED
@@ -1,34 +1,35 @@
1
- import joblib
2
- from sklearn.feature_extraction.text import TfidfVectorizer
3
- from sklearn.decomposition import TruncatedSVD
4
-
5
- # Define file paths
6
- MODEL_PATH = r"C:\Users\LENOVO\Desktop\ai-content-detector-extension\models\random_forest_model.pkl"
7
- VECTORIZER_PATH = r"C:\Users\LENOVO\Desktop\ai-content-detector-extension\models\vectorizer.pkl"
8
- SVD_PATH = r"C:\Users\LENOVO\Desktop\ai-content-detector-extension\models\svd.pkl"
9
-
10
- try:
11
- # Load the trained model, vectorizer, and SVD transformer
12
- model = joblib.load(MODEL_PATH)
13
- vectorizer = joblib.load(VECTORIZER_PATH)
14
- svd = joblib.load(SVD_PATH)
15
- print("✅ Model, vectorizer, and SVD loaded successfully!")
16
- except Exception as e:
17
- print(f" Error loading model files: {e}")
18
- exit(1)
19
-
20
- def predict_text(text: str) -> int:
21
- """Preprocess input text and predict using trained model."""
22
- try:
23
- X_tfidf = vectorizer.transform([text]) # Convert to TF-IDF
24
- X_reduced = svd.transform(X_tfidf) # Apply dimensionality reduction
25
- prediction = model.predict(X_reduced)[0] # Predict label (0 or 1)
26
-
27
- probability = float(model.predict_proba(X_reduced)[0][1])
28
- print(probability) #printing probability
29
-
30
- return {"generated": int(prediction), "probability": probability}
31
- except Exception as e:
32
- print(f" Prediction error: {e}")
33
- return {"generated": -1, "probability": 0.0}
34
-
 
 
1
+ import joblib
2
+ import os
3
+ from sklearn.feature_extraction.text import TfidfVectorizer
4
+ from sklearn.decomposition import TruncatedSVD
5
+
6
+ # Define relative file paths (assuming 'models/' is in the same directory as this script)
7
+ BASE_DIR = os.path.dirname(os.path.abspath(__file__))
8
+ MODEL_PATH = os.path.join(BASE_DIR, "models", "random_forest_model.pkl")
9
+ VECTORIZER_PATH = os.path.join(BASE_DIR, "models", "vectorizer.pkl")
10
+ SVD_PATH = os.path.join(BASE_DIR, "models", "svd.pkl")
11
+
12
+ try:
13
+ # Load the trained model, vectorizer, and SVD transformer
14
+ model = joblib.load(MODEL_PATH)
15
+ vectorizer = joblib.load(VECTORIZER_PATH)
16
+ svd = joblib.load(SVD_PATH)
17
+ print(" Model, vectorizer, and SVD loaded successfully!")
18
+ except Exception as e:
19
+ print(f"❌ Error loading model files: {e}")
20
+ exit(1)
21
+
22
+ def predict_text(text: str) -> dict:
23
+ """Preprocess input text and predict using trained model."""
24
+ try:
25
+ X_tfidf = vectorizer.transform([text]) # Convert to TF-IDF
26
+ X_reduced = svd.transform(X_tfidf) # Apply dimensionality reduction
27
+ prediction = model.predict(X_reduced)[0] # Predict label (0 or 1)
28
+
29
+ probability = float(model.predict_proba(X_reduced)[0][1])
30
+ print(probability) # Printing probability
31
+
32
+ return {"generated": int(prediction), "probability": probability}
33
+ except Exception as e:
34
+ print(f"❌ Prediction error: {e}")
35
+ return {"generated": -1, "probability": 0.0}