diff --git a/sundynix-admin/src/components/RetrievalBench.tsx b/sundynix-admin/src/components/RetrievalBench.tsx index 6379842..e0593e2 100644 --- a/sundynix-admin/src/components/RetrievalBench.tsx +++ b/sundynix-admin/src/components/RetrievalBench.tsx @@ -162,9 +162,11 @@ export function RetrievalBench({ kbs }: { kbs: DatasourceKB[] }) { 分路诊断(分数体系不同,勿跨路比大小)
- {ROUTES.map((r) => ( - - ))} + {ROUTES.map((r) => { + // 单路那次请求里,取它自己那一路的诊断(RRF 融合没有单独一路,故为空) + const diag = res[r.mode]?.routes?.find((d) => d.name === r.mode); + return ; + })}
@@ -177,11 +179,13 @@ function RouteCard({ label, hint, data, + diag, highlight, }: { label: string; hint: string; - data?: { hits: KbHit[]; err?: string }; + data?: { hits: KbHit[]; routes?: RouteDiag[]; err?: string }; + diag?: RouteDiag; highlight?: boolean; }) { const hits = data?.hits ?? []; @@ -198,7 +202,14 @@ function RouteCard({ {data?.err ? (

{data.err}

) : hits.length === 0 ? ( -

这一路没召回

+ // 空的原因比"空"本身重要:没配置 / 报错 / 确实没匹配,处理方式完全不同 +

+ {diag?.status === "disabled" + ? `未启用:${diag.note || "该路未配置"}` + : diag?.status === "error" + ? `报错:${diag.error}` + : diag?.note || "这一路没召回(索引里确实没有匹配内容)"} +

) : (
    {hits.map((h, i) => (