Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -55,10 +55,9 @@ logger = logging.getLogger(__name__)
|
|
| 55 |
CACHE_DIR = "/tmp/huggingface_cache"
|
| 56 |
os.makedirs(CACHE_DIR, exist_ok=True)
|
| 57 |
|
| 58 |
-
# تكوين متغيرات البيئة لـ Hugging Face
|
| 59 |
os.environ.update({
|
| 60 |
"HF_HOME": CACHE_DIR,
|
| 61 |
-
"TRANSFORMERS_CACHE": CACHE_DIR,
|
| 62 |
"HF_DATASETS_CACHE": CACHE_DIR,
|
| 63 |
"HUGGINGFACE_HUB_CACHE": CACHE_DIR,
|
| 64 |
"TORCH_HOME": CACHE_DIR,
|
|
@@ -166,7 +165,7 @@ class ModelManager:
|
|
| 166 |
self.base_model_id,
|
| 167 |
num_labels=41,
|
| 168 |
cache_dir=CACHE_DIR,
|
| 169 |
-
|
| 170 |
low_cpu_mem_usage=True,
|
| 171 |
trust_remote_code=False
|
| 172 |
)
|
|
@@ -180,7 +179,7 @@ class ModelManager:
|
|
| 180 |
self.fallback_model_id,
|
| 181 |
num_labels=41,
|
| 182 |
cache_dir=CACHE_DIR,
|
| 183 |
-
|
| 184 |
low_cpu_mem_usage=True,
|
| 185 |
trust_remote_code=False
|
| 186 |
)
|
|
@@ -235,7 +234,7 @@ class ModelManager:
|
|
| 235 |
logger.info(f"✅ {model_name} loaded successfully (fallback: {self.using_fallback})")
|
| 236 |
return model
|
| 237 |
|
| 238 |
-
def load_models(self, max_models=
|
| 239 |
"""تحميل الموديلات بحد أقصى للذاكرة"""
|
| 240 |
if self.models_loaded:
|
| 241 |
logger.info("✨ Models already loaded")
|
|
@@ -394,7 +393,7 @@ def split_into_paragraphs(text: str) -> List[str]:
|
|
| 394 |
app = FastAPI(
|
| 395 |
title="ModernBERT AI Text Detector",
|
| 396 |
description="كشف النصوص المكتوبة بواسطة الذكاء الاصطناعي",
|
| 397 |
-
version="2.
|
| 398 |
)
|
| 399 |
|
| 400 |
# إضافة CORS للسماح بالاستخدام من المتصفح
|
|
@@ -441,11 +440,11 @@ async def startup_event():
|
|
| 441 |
logger.info("=" * 50)
|
| 442 |
|
| 443 |
# محاولة تحميل الموديلات
|
| 444 |
-
max_models = int(os.environ.get("MAX_MODELS", "
|
| 445 |
success = model_manager.load_models(max_models=max_models)
|
| 446 |
|
| 447 |
if success:
|
| 448 |
-
logger.info("✅ Application ready! (Fallback mode:
|
| 449 |
else:
|
| 450 |
logger.error("⚠️ Failed to load models - API will return errors")
|
| 451 |
logger.info("💡 Tip: Ensure 'transformers>=4.45.0' and 'huggingface_hub' are installed. Run: pip install --upgrade transformers huggingface_hub")
|
|
|
|
| 55 |
CACHE_DIR = "/tmp/huggingface_cache"
|
| 56 |
os.makedirs(CACHE_DIR, exist_ok=True)
|
| 57 |
|
| 58 |
+
# تكوين متغيرات البيئة لـ Hugging Face (removed TRANSFORMERS_CACHE to avoid deprecation warning)
|
| 59 |
os.environ.update({
|
| 60 |
"HF_HOME": CACHE_DIR,
|
|
|
|
| 61 |
"HF_DATASETS_CACHE": CACHE_DIR,
|
| 62 |
"HUGGINGFACE_HUB_CACHE": CACHE_DIR,
|
| 63 |
"TORCH_HOME": CACHE_DIR,
|
|
|
|
| 165 |
self.base_model_id,
|
| 166 |
num_labels=41,
|
| 167 |
cache_dir=CACHE_DIR,
|
| 168 |
+
dtype=torch.float16 if torch.cuda.is_available() else torch.float32, # Updated from torch_dtype
|
| 169 |
low_cpu_mem_usage=True,
|
| 170 |
trust_remote_code=False
|
| 171 |
)
|
|
|
|
| 179 |
self.fallback_model_id,
|
| 180 |
num_labels=41,
|
| 181 |
cache_dir=CACHE_DIR,
|
| 182 |
+
dtype=torch.float16 if torch.cuda.is_available() else torch.float32, # Updated from torch_dtype
|
| 183 |
low_cpu_mem_usage=True,
|
| 184 |
trust_remote_code=False
|
| 185 |
)
|
|
|
|
| 234 |
logger.info(f"✅ {model_name} loaded successfully (fallback: {self.using_fallback})")
|
| 235 |
return model
|
| 236 |
|
| 237 |
+
def load_models(self, max_models=3): # Increased default to 3 to load local + 2 URLs
|
| 238 |
"""تحميل الموديلات بحد أقصى للذاكرة"""
|
| 239 |
if self.models_loaded:
|
| 240 |
logger.info("✨ Models already loaded")
|
|
|
|
| 393 |
app = FastAPI(
|
| 394 |
title="ModernBERT AI Text Detector",
|
| 395 |
description="كشف النصوص المكتوبة بواسطة الذكاء الاصطناعي",
|
| 396 |
+
version="2.3.0" # Updated version with 3 models and deprecation fixes
|
| 397 |
)
|
| 398 |
|
| 399 |
# إضافة CORS للسماح بالاستخدام من المتصفح
|
|
|
|
| 440 |
logger.info("=" * 50)
|
| 441 |
|
| 442 |
# محاولة تحميل الموديلات
|
| 443 |
+
max_models = int(os.environ.get("MAX_MODELS", "3")) # Updated default to 3
|
| 444 |
success = model_manager.load_models(max_models=max_models)
|
| 445 |
|
| 446 |
if success:
|
| 447 |
+
logger.info(f"✅ Application ready! (Fallback mode: {model_manager.using_fallback})")
|
| 448 |
else:
|
| 449 |
logger.error("⚠️ Failed to load models - API will return errors")
|
| 450 |
logger.info("💡 Tip: Ensure 'transformers>=4.45.0' and 'huggingface_hub' are installed. Run: pip install --upgrade transformers huggingface_hub")
|