Spaces:
Sleeping
Sleeping
Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -264,15 +264,15 @@ try:
|
|
| 264 |
from transformers import pipeline
|
| 265 |
|
| 266 |
# Initialize the zero-shot classification pipeline
|
| 267 |
-
classifier = pipeline("zero-shot-classification", model="facebook/bart-
|
| 268 |
-
print("Using facebook/bart-
|
| 269 |
|
| 270 |
-
# 2. Load
|
| 271 |
from sentence_transformers import SentenceTransformer, util
|
| 272 |
|
| 273 |
# Load the sentence transformer model
|
| 274 |
-
sentence_model = SentenceTransformer('sentence-transformers/all-
|
| 275 |
-
print("Using sentence-transformers/all-
|
| 276 |
|
| 277 |
# Pre-compute embeddings for category descriptions
|
| 278 |
category_texts = list(category_descriptions.values())
|
|
@@ -378,17 +378,48 @@ def load_deals_from_file():
|
|
| 378 |
# Global variable to store deals data
|
| 379 |
deals_cache = None
|
| 380 |
|
| 381 |
-
#
|
| 382 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
# Try to load from file
|
| 384 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 385 |
|
| 386 |
-
|
| 387 |
-
|
| 388 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 389 |
deals_cache = process_deals_data(SAMPLE_DEALS)
|
| 390 |
-
|
| 391 |
-
print(f"Initialized with {len(deals_cache) if deals_cache else 0} deals")
|
| 392 |
except Exception as e:
|
| 393 |
print(f"Error initializing deals cache: {str(e)}")
|
| 394 |
# Fall back to sample data
|
|
|
|
| 264 |
from transformers import pipeline
|
| 265 |
|
| 266 |
# Initialize the zero-shot classification pipeline
|
| 267 |
+
classifier = pipeline("zero-shot-classification", model="facebook/bart-base-mnli")
|
| 268 |
+
print("Using facebook/bart-base-mnli for classification")
|
| 269 |
|
| 270 |
+
# 2. Load MiniLM model for semantic search
|
| 271 |
from sentence_transformers import SentenceTransformer, util
|
| 272 |
|
| 273 |
# Load the sentence transformer model
|
| 274 |
+
sentence_model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
|
| 275 |
+
print("Using sentence-transformers/all-MiniLM-L6-v2 for semantic search")
|
| 276 |
|
| 277 |
# Pre-compute embeddings for category descriptions
|
| 278 |
category_texts = list(category_descriptions.values())
|
|
|
|
| 378 |
# Global variable to store deals data
|
| 379 |
deals_cache = None
|
| 380 |
|
| 381 |
+
# Function to load deals data lazily
|
| 382 |
+
def get_deals_cache():
|
| 383 |
+
"""
|
| 384 |
+
Load deals data lazily to avoid startup timeout
|
| 385 |
+
"""
|
| 386 |
+
global deals_cache
|
| 387 |
+
|
| 388 |
+
# If deals are already loaded, return them
|
| 389 |
+
if deals_cache is not None:
|
| 390 |
+
return deals_cache
|
| 391 |
+
|
| 392 |
# Try to load from file
|
| 393 |
+
try:
|
| 394 |
+
deals_cache = load_deals_from_file()
|
| 395 |
+
|
| 396 |
+
# If file doesn't exist or is empty, use sample data
|
| 397 |
+
if deals_cache is None or len(deals_cache) == 0:
|
| 398 |
+
print("No deals found in local file. Using sample data...")
|
| 399 |
+
deals_cache = process_deals_data(SAMPLE_DEALS)
|
| 400 |
+
|
| 401 |
+
print(f"Loaded {len(deals_cache) if deals_cache else 0} deals")
|
| 402 |
+
except Exception as e:
|
| 403 |
+
print(f"Error loading deals cache: {str(e)}")
|
| 404 |
+
# Fall back to sample data
|
| 405 |
+
deals_cache = process_deals_data(SAMPLE_DEALS)
|
| 406 |
+
print(f"Loaded {len(deals_cache)} sample deals")
|
| 407 |
|
| 408 |
+
return deals_cache
|
| 409 |
+
|
| 410 |
+
# Load a small subset of deals on startup to avoid timeout
|
| 411 |
+
try:
|
| 412 |
+
# Load just the first 1000 deals for fast startup
|
| 413 |
+
if os.path.exists(DEALS_DATA_PATH):
|
| 414 |
+
with open(DEALS_DATA_PATH, "r") as f:
|
| 415 |
+
all_deals = json.load(f)
|
| 416 |
+
# Take just the first 1000 deals for initial loading
|
| 417 |
+
deals_cache = all_deals[:1000]
|
| 418 |
+
print(f"Initialized with {len(deals_cache)} deals (subset of {len(all_deals)} total deals)")
|
| 419 |
+
else:
|
| 420 |
+
# Fall back to sample data
|
| 421 |
deals_cache = process_deals_data(SAMPLE_DEALS)
|
| 422 |
+
print(f"Initialized with {len(deals_cache)} sample deals")
|
|
|
|
| 423 |
except Exception as e:
|
| 424 |
print(f"Error initializing deals cache: {str(e)}")
|
| 425 |
# Fall back to sample data
|