Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -40,7 +40,9 @@ def get_embedding(text):
|
|
40 |
def format_ingredients_for_bert(ingredients_list):
|
41 |
"""Formatiert Zutatenliste für BERT"""
|
42 |
return f"Ingredients: {', '.join(ingredients_list)}"
|
43 |
-
|
|
|
|
|
44 |
|
45 |
def get_cosine_similarity(vec1, vec2):
|
46 |
"""Berechnet die Cosinus-Ähnlichkeit zwischen zwei Vektoren"""
|
@@ -125,6 +127,15 @@ def find_best_ingredients(required_ingredients_names, available_ingredients_deta
|
|
125 |
current_combination = required_ingredients_names.copy()
|
126 |
remaining_ingredients_details = available_ingredients_filtered_details.copy()
|
127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
num_to_add = min(max_ingredients - len(required_ingredients_names), len(remaining_ingredients_details))
|
129 |
|
130 |
for round_num in range(num_to_add):
|
|
|
40 |
def format_ingredients_for_bert(ingredients_list):
|
41 |
"""Formatiert Zutatenliste für BERT"""
|
42 |
return f"Ingredients: {', '.join(ingredients_list)}"
|
43 |
+
|
44 |
+
def normalize_ingredient_name(name):
|
45 |
+
return name.strip().lower()
|
46 |
|
47 |
def get_cosine_similarity(vec1, vec2):
|
48 |
"""Berechnet die Cosinus-Ähnlichkeit zwischen zwei Vektoren"""
|
|
|
127 |
current_combination = required_ingredients_names.copy()
|
128 |
remaining_ingredients_details = available_ingredients_filtered_details.copy()
|
129 |
|
130 |
+
# Entferne Duplikate aus remaining_ingredients_details - nur eine Zutat pro Name
|
131 |
+
seen_names = set()
|
132 |
+
unique_remaining_ingredients = []
|
133 |
+
for item in remaining_ingredients_details:
|
134 |
+
if item.name not in seen_names:
|
135 |
+
unique_remaining_ingredients.append(item)
|
136 |
+
seen_names.add(item.name)
|
137 |
+
remaining_ingredients_details = unique_remaining_ingredients
|
138 |
+
|
139 |
num_to_add = min(max_ingredients - len(required_ingredients_names), len(remaining_ingredients_details))
|
140 |
|
141 |
for round_num in range(num_to_add):
|