Maaz1 commited on
Commit
e9d064a
·
verified ·
1 Parent(s): bc8b219

Update backend/jewelry_recomm_service.py

Browse files
Files changed (1) hide show
  1. backend/jewelry_recomm_service.py +11 -10
backend/jewelry_recomm_service.py CHANGED
@@ -31,34 +31,35 @@ class JewelryRecommenderService:
31
  # Initialize pipeline components
32
  self.image_processor = ImageProcessor(self.model)
33
  self.recommender = RecommenderEngine(self.index, self.metadata)
34
-
35
- def get_recommendations(self, image, num_recommendations=None,skip_exact_match=True):
36
  """Get recommendations for a query image.
37
 
38
  Args:
39
  image: Query image (various formats)
40
  num_recommendations (int, optional): Number of recommendations
 
41
 
42
  Returns:
43
  list: Recommendation results
44
  """
45
-
46
  if not self.index or not self.metadata:
47
  return [{"error": "Index/metadata not loaded"}]
48
- if embedding is None:
49
- return [{"error": "Failed to process image"}]
50
-
51
-
52
  num_recommendations = num_recommendations or Config.DEFAULT_NUM_RECOMMENDATIONS
53
 
54
  # Extract embedding from the image
55
  embedding = self.image_processor.extract_embedding(image)
56
  if embedding is None:
57
- return[{"error":"Failed to process image"}]
58
 
59
  # Get similar items based on the embedding
60
  recommendations = self.recommender.find_similar_items(
61
- embedding, num_recommendations
62
  )
63
 
64
- return recommendations
 
 
31
  # Initialize pipeline components
32
  self.image_processor = ImageProcessor(self.model)
33
  self.recommender = RecommenderEngine(self.index, self.metadata)
34
+
35
+ def get_recommendations(self, image, num_recommendations=None, skip_exact_match=True):
36
  """Get recommendations for a query image.
37
 
38
  Args:
39
  image: Query image (various formats)
40
  num_recommendations (int, optional): Number of recommendations
41
+ skip_exact_match (bool): Whether to skip the first/exact match
42
 
43
  Returns:
44
  list: Recommendation results
45
  """
 
46
  if not self.index or not self.metadata:
47
  return [{"error": "Index/metadata not loaded"}]
48
+
49
+ if image is None:
50
+ return [{"error": "Invalid image input"}]
51
+
52
  num_recommendations = num_recommendations or Config.DEFAULT_NUM_RECOMMENDATIONS
53
 
54
  # Extract embedding from the image
55
  embedding = self.image_processor.extract_embedding(image)
56
  if embedding is None:
57
+ return [{"error": "Failed to process image"}]
58
 
59
  # Get similar items based on the embedding
60
  recommendations = self.recommender.find_similar_items(
61
+ embedding, num_recommendations, skip_exact_match
62
  )
63
 
64
+ return recommendations
65
+