首页/AI/RAG 与向量库速查/阈值校准实践

阈值校准实践

阈值校准按数据说话:收集带标注的「有答案/无答案」查询,统计其最高分分布,选使误拒与误收之和较小的切点;上线后按周监控分布漂移。

RAG 与向量库速查AI更新于 2026-10-12

分布与切点

分布与切点
import numpy as np

pos = np.array([top_score(q) for q in answerable])      # 有答案
neg = np.array([top_score(q) for q in unanswerable])    # 无答案
for t in np.linspace(0, 1, 21):
    fnr = (pos < t).mean()     # 误拒
    fpr = (neg >= t).mean()    # 误收
    print(round(t, 2), round(fnr, 3), round(fpr, 3))
重排上线后阈值要重新校准:分数来源变了,旧阈值不再适用。

易错点

  • 用少量样本(十几条)定阈值,上线后误判率波动大
  • 校准一次后不再复核,数据分布变化后失效

数据来源与参考

  • scikit-learn 官方文档(ROC 与阈值选择)
  • RAGAS 官方文档(无答案集评测)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌