DawnC commited on
Commit
c9c2e24
1 Parent(s): ac53b21

Update recommendation_html_format.py

Browse files
Files changed (1) hide show
  1. recommendation_html_format.py +19 -10
recommendation_html_format.py CHANGED
@@ -70,26 +70,35 @@ def format_recommendation_html(recommendations: List[Dict], is_description_searc
70
  # return min(100, max(20, width))
71
 
72
  def _generate_progress_bar(score: float) -> float:
73
- """生成更線性的進度條寬度"""
74
- # 基礎轉換
75
- base_width = score * 100
 
 
 
 
 
 
 
 
76
 
77
- # 微調以避免視覺上的偏差
78
  if score > 0.9:
79
- # 高分區間略微壓縮
80
  width = 90 + (score - 0.9) * 100
81
  elif score > 0.7:
82
  # 中高分區間稍微展開
83
  width = 70 + (score - 0.7) * 100
84
  else:
85
- # 維持線性關係
86
- width = base_width
87
 
88
- # 加入細微的隨機變化使顯示更自然
89
  import random
90
- width += random.uniform(-1, 1)
91
 
92
- return min(100, max(20, width))
 
93
 
94
  html_content = "<div class='recommendations-container'>"
95
 
 
70
  # return min(100, max(20, width))
71
 
72
  def _generate_progress_bar(score: float) -> float:
73
+ """
74
+ 優化進度條寬度計算
75
+
76
+ 改進:
77
+ - 確保100%時完全填滿
78
+ - 更線性的視覺呈現
79
+ - 保持合理的視覺比例
80
+ """
81
+ # 基礎寬度計算
82
+ if score >= 1.0:
83
+ return 100.0 # 確保100%時完全填滿
84
 
85
+ # 一般情況的寬度計算
86
  if score > 0.9:
87
+ # 高分區間線性延伸
88
  width = 90 + (score - 0.9) * 100
89
  elif score > 0.7:
90
  # 中高分區間稍微展開
91
  width = 70 + (score - 0.7) * 100
92
  else:
93
+ # 基礎線性關係
94
+ width = score * 100
95
 
96
+ # 加入微小的隨機變化,使顯示更自然
97
  import random
98
+ width += random.uniform(-0.5, 0.5)
99
 
100
+ # 確保範圍合理
101
+ return min(99.5, max(20, width)) if score < 1.0 else 100.0
102
 
103
  html_content = "<div class='recommendations-container'>"
104