update for ragas
This commit is contained in:
@@ -69,9 +69,42 @@
|
||||
return "#dc2626";
|
||||
}
|
||||
|
||||
// 计算某指标本次相对上一次的涨跌信息,方向语义随指标而定
|
||||
// (noise_sensitivity 越低越好:下降=改善)。
|
||||
function deltaInfo(metricName, current, previous) {
|
||||
const isNum = (v) => v !== null && v !== undefined && !Number.isNaN(Number(v));
|
||||
if (!isNum(current) || !isNum(previous)) {
|
||||
return { hasData: false, delta: null, improved: null, arrow: "", magnitude: "", cls: "delta-flat" };
|
||||
}
|
||||
const delta = Number(current) - Number(previous);
|
||||
const rounded = Math.round(delta * 10000) / 10000;
|
||||
const arrow = rounded > 0 ? "▲" : rounded < 0 ? "▼" : "→";
|
||||
const magnitude = Math.abs(rounded).toFixed(2);
|
||||
const improved = isLowerBetter(metricName) ? rounded < 0 : rounded > 0;
|
||||
const cls = rounded === 0 ? "delta-flat" : improved ? "delta-good" : "delta-bad";
|
||||
return { hasData: true, delta: rounded, improved, arrow, magnitude, cls };
|
||||
}
|
||||
|
||||
// 返回指标的"达标阈值"(柱状图对比用,方向感知)。
|
||||
// higher-better 指标:0.85;lower-better (noise_sensitivity):0.15。
|
||||
function passThreshold(metricName) {
|
||||
return isLowerBetter(metricName) ? 0.15 : 0.85;
|
||||
}
|
||||
|
||||
// 判断某指标的值是否达标。
|
||||
function meetsTarget(metricName, value) {
|
||||
if (value === null || value === undefined || Number.isNaN(Number(value))) return false;
|
||||
const v = Number(value);
|
||||
return isLowerBetter(metricName) ? v <= passThreshold(metricName) : v >= passThreshold(metricName);
|
||||
}
|
||||
|
||||
globalObj.MetricPresenter = {
|
||||
scoreClass,
|
||||
describeMetric,
|
||||
binColor,
|
||||
isLowerBetter,
|
||||
deltaInfo,
|
||||
passThreshold,
|
||||
meetsTarget,
|
||||
};
|
||||
})(window);
|
||||
|
||||
Reference in New Issue
Block a user