feat(admin): 检索试验台分路卡片直接说明"为什么空"
此前四张卡片一律写"这一路没召回",而人的视线落在卡片上、不在顶部状态行。 现在按该路诊断分别显示:未启用给出缺什么配置(琥珀)、报错给出错误原文(红)、 真没匹配才说没召回。 真环境验证(截图为证):向量="该知识库在 Milvus 中没有向量(未入库或集合被 重建过)"、图谱="未启用:Neo4j 未连接或未配置"、全文="索引里确实没有匹配内容"。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -162,9 +162,11 @@ export function RetrievalBench({ kbs }: { kbs: DatasourceKB[] }) {
|
||||
分路诊断(分数体系不同,勿跨路比大小)
|
||||
</div>
|
||||
<div className="grid gap-3 md:grid-cols-2 xl:grid-cols-4">
|
||||
{ROUTES.map((r) => (
|
||||
<RouteCard key={r.mode} label={r.label} hint={r.hint} data={res[r.mode]} />
|
||||
))}
|
||||
{ROUTES.map((r) => {
|
||||
// 单路那次请求里,取它自己那一路的诊断(RRF 融合没有单独一路,故为空)
|
||||
const diag = res[r.mode]?.routes?.find((d) => d.name === r.mode);
|
||||
return <RouteCard key={r.mode} label={r.label} hint={r.hint} data={res[r.mode]} diag={diag} />;
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -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 ? (
|
||||
<p className="mt-2 text-[11px] text-rose-500">{data.err}</p>
|
||||
) : hits.length === 0 ? (
|
||||
<p className="mt-2 text-[11px] text-gray-400">这一路没召回</p>
|
||||
// 空的原因比"空"本身重要:没配置 / 报错 / 确实没匹配,处理方式完全不同
|
||||
<p className={`mt-2 text-[11px] leading-relaxed ${diag?.status === "error" ? "text-rose-500" : diag?.status === "disabled" ? "text-amber-600" : "text-gray-400"}`}>
|
||||
{diag?.status === "disabled"
|
||||
? `未启用:${diag.note || "该路未配置"}`
|
||||
: diag?.status === "error"
|
||||
? `报错:${diag.error}`
|
||||
: diag?.note || "这一路没召回(索引里确实没有匹配内容)"}
|
||||
</p>
|
||||
) : (
|
||||
<ol className="mt-2 space-y-1.5">
|
||||
{hits.map((h, i) => (
|
||||
|
||||
Reference in New Issue
Block a user