阈值判定与兜底
阈值判定与兜底
hits = vector_store.search(q_vec, top_k=10)
best = hits[0].score if hits else 0.0
if best < ANSWER_THRESHOLD:
return "知识库中未找到相关内容,建议转人工或换个问法。"
answer = generate(q, build_context(hits))不同 embedding 模型的分数分布不同:换模型、换归一化方式后都要重新定阈值。
用相似度阈值判断“无相关内容”并触发兜底话术:阈值没有通用常数,需要基于标注样本的分数分布选取,并同时观察误拒(漏答)与误收(答错)的比例。
hits = vector_store.search(q_vec, top_k=10)
best = hits[0].score if hits else 0.0
if best < ANSWER_THRESHOLD:
return "知识库中未找到相关内容,建议转人工或换个问法。"
answer = generate(q, build_context(hits))