fix(rag): 全文索引在容器里根本没持久化 —— 补 /data 卷 + BLEVE_PATH #8

Merged
Blizzard merged 15 commits from feat/site into main 2026-07-20 09:58:15 +00:00
Showing only changes of commit 518cddbd1c - Show all commits
@@ -162,9 +162,11 @@ export function RetrievalBench({ kbs }: { kbs: DatasourceKB[] }) {
</div> </div>
<div className="grid gap-3 md:grid-cols-2 xl:grid-cols-4"> <div className="grid gap-3 md:grid-cols-2 xl:grid-cols-4">
{ROUTES.map((r) => ( {ROUTES.map((r) => {
<RouteCard key={r.mode} label={r.label} hint={r.hint} data={res[r.mode]} /> // 单路那次请求里,取它自己那一路的诊断(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> </div>
</div> </div>
@@ -177,11 +179,13 @@ function RouteCard({
label, label,
hint, hint,
data, data,
diag,
highlight, highlight,
}: { }: {
label: string; label: string;
hint: string; hint: string;
data?: { hits: KbHit[]; err?: string }; data?: { hits: KbHit[]; routes?: RouteDiag[]; err?: string };
diag?: RouteDiag;
highlight?: boolean; highlight?: boolean;
}) { }) {
const hits = data?.hits ?? []; const hits = data?.hits ?? [];
@@ -198,7 +202,14 @@ function RouteCard({
{data?.err ? ( {data?.err ? (
<p className="mt-2 text-[11px] text-rose-500">{data.err}</p> <p className="mt-2 text-[11px] text-rose-500">{data.err}</p>
) : hits.length === 0 ? ( ) : 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"> <ol className="mt-2 space-y-1.5">
{hits.map((h, i) => ( {hits.map((h, i) => (