Commit ·
dd7aabb
1
Parent(s): c42db2d
Add NoneType safety checks in _confidence_badge to prevent extraction card formatting crash
Browse files- gradio_pharmacopilot_demo.py +19 -9
gradio_pharmacopilot_demo.py
CHANGED
|
@@ -1095,20 +1095,30 @@ def medicine_details_html(
|
|
| 1095 |
"""
|
| 1096 |
|
| 1097 |
|
| 1098 |
-
def _confidence_badge(conf: float) -> str:
|
| 1099 |
"""Return a colored confidence badge."""
|
| 1100 |
-
if conf
|
| 1101 |
-
color, bg = "#065f46", "#d1fae5"
|
| 1102 |
-
elif conf >= 0.50:
|
| 1103 |
-
color, bg = "#92400e", "#fef3c7"
|
| 1104 |
-
elif conf > 0:
|
| 1105 |
-
color, bg = "#991b1b", "#fee2e2"
|
| 1106 |
-
else:
|
| 1107 |
color, bg = "#6b7280", "#f3f4f6"
|
| 1108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1109 |
return f'<span style="background:{bg};color:{color};padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;">{pct}</span>'
|
| 1110 |
|
| 1111 |
|
|
|
|
| 1112 |
def _display_value(val: Any) -> str:
|
| 1113 |
"""Format a field value for display."""
|
| 1114 |
if val is None:
|
|
|
|
| 1095 |
"""
|
| 1096 |
|
| 1097 |
|
| 1098 |
+
def _confidence_badge(conf: float | None) -> str:
|
| 1099 |
"""Return a colored confidence badge."""
|
| 1100 |
+
if conf is None:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1101 |
color, bg = "#6b7280", "#f3f4f6"
|
| 1102 |
+
pct = "0%"
|
| 1103 |
+
else:
|
| 1104 |
+
try:
|
| 1105 |
+
conf_val = float(conf)
|
| 1106 |
+
if conf_val >= 0.85:
|
| 1107 |
+
color, bg = "#065f46", "#d1fae5"
|
| 1108 |
+
elif conf_val >= 0.50:
|
| 1109 |
+
color, bg = "#92400e", "#fef3c7"
|
| 1110 |
+
elif conf_val > 0:
|
| 1111 |
+
color, bg = "#991b1b", "#fee2e2"
|
| 1112 |
+
else:
|
| 1113 |
+
color, bg = "#6b7280", "#f3f4f6"
|
| 1114 |
+
pct = f"{conf_val * 100:.0f}%"
|
| 1115 |
+
except (ValueError, TypeError):
|
| 1116 |
+
color, bg = "#6b7280", "#f3f4f6"
|
| 1117 |
+
pct = "0%"
|
| 1118 |
return f'<span style="background:{bg};color:{color};padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;">{pct}</span>'
|
| 1119 |
|
| 1120 |
|
| 1121 |
+
|
| 1122 |
def _display_value(val: Any) -> str:
|
| 1123 |
"""Format a field value for display."""
|
| 1124 |
if val is None:
|