Spaces:
Sleeping
Sleeping
Update breed_recommendation.py
Browse files- breed_recommendation.py +14 -20
breed_recommendation.py
CHANGED
@@ -211,24 +211,21 @@ def create_recommendation_tab(UserPreferences, get_breed_recommendations, format
|
|
211 |
if not recommendations:
|
212 |
return "No matching breeds found. Please adjust your criteria."
|
213 |
|
214 |
-
|
|
|
215 |
for i, rec in enumerate(recommendations, 1):
|
216 |
-
|
217 |
-
result = {
|
218 |
'breed': rec['breed'],
|
219 |
-
'rank': i,
|
220 |
-
'
|
221 |
-
'
|
222 |
'base_score': rec.get('base_score', 0),
|
223 |
'bonus_score': rec.get('bonus_score', 0),
|
224 |
'scores': rec.get('scores', {})
|
225 |
}
|
226 |
-
|
227 |
-
|
228 |
-
#
|
229 |
-
print("History results to be saved:", history_results)
|
230 |
-
|
231 |
-
# 保存搜索歷史時確保數據完整性
|
232 |
history_component.save_search(
|
233 |
user_preferences={
|
234 |
'living_space': args[0],
|
@@ -242,17 +239,14 @@ def create_recommendation_tab(UserPreferences, get_breed_recommendations, format
|
|
242 |
'children_age': args[8] if args[7] else None,
|
243 |
'noise_tolerance': args[9]
|
244 |
},
|
245 |
-
results=
|
246 |
)
|
247 |
-
|
248 |
-
# 返回推薦結果的 HTML 格式
|
249 |
-
html_result = format_recommendation_html(recommendations, is_description_search=False)
|
250 |
|
251 |
-
|
252 |
-
|
|
|
253 |
except Exception as e:
|
254 |
-
print(f"
|
255 |
-
import traceback
|
256 |
print(traceback.format_exc())
|
257 |
return f"Error getting recommendations: {str(e)}"
|
258 |
|
|
|
211 |
if not recommendations:
|
212 |
return "No matching breeds found. Please adjust your criteria."
|
213 |
|
214 |
+
# 創建標準化的結果列表
|
215 |
+
formatted_recommendations = []
|
216 |
for i, rec in enumerate(recommendations, 1):
|
217 |
+
formatted_rec = {
|
|
|
218 |
'breed': rec['breed'],
|
219 |
+
'rank': i,
|
220 |
+
'final_score': rec['final_score'], # 直接使用,因為這是必需的
|
221 |
+
'overall_score': rec['final_score'], # 複製 final_score
|
222 |
'base_score': rec.get('base_score', 0),
|
223 |
'bonus_score': rec.get('bonus_score', 0),
|
224 |
'scores': rec.get('scores', {})
|
225 |
}
|
226 |
+
formatted_recommendations.append(formatted_rec)
|
227 |
+
|
228 |
+
# 使用相同的格式化數據來保存歷史記錄和生成 HTML
|
|
|
|
|
|
|
229 |
history_component.save_search(
|
230 |
user_preferences={
|
231 |
'living_space': args[0],
|
|
|
239 |
'children_age': args[8] if args[7] else None,
|
240 |
'noise_tolerance': args[9]
|
241 |
},
|
242 |
+
results=formatted_recommendations # 使用格式化後的結果
|
243 |
)
|
|
|
|
|
|
|
244 |
|
245 |
+
# 使用相同的格式化數據生成 HTML
|
246 |
+
return format_recommendation_html(formatted_recommendations, is_description_search=False)
|
247 |
+
|
248 |
except Exception as e:
|
249 |
+
print(f"Error details: {str(e)}")
|
|
|
250 |
print(traceback.format_exc())
|
251 |
return f"Error getting recommendations: {str(e)}"
|
252 |
|