跳转至

检索调优

事实召回的排序参数、命名 profile 与弱监督评估。这里改的是召回排序的权重,不是 「召回多少条」的日常配置(那个在月璃设置的对话与记忆段)。评估的 重放实现与指标口径见记忆系统core-memory 模块

当前生效与参数表

「当前生效」显示生效中的 profile 名与覆盖了几项参数;应用新 profile 后立即生效, 无需重启。

「参数表(白名单)」逐行列出可调参数:参数名、含义、现状 / 生效值、取值域,末列 「草稿」填新值。白名单之外的名字进不了这套流程。表内参数按作用分两组:

  • 排序权重:词面相关度权重 bm25_weight、留存度权重下限 retention_weight_floor、 PPR 回迁概率 ppr_alpha、PPR 跳数 ppr_hops、候选池分数百分位 pool_score_percentile
  • 条数上限:进提示词的事实条数、情节召回条数、近期情节条数——显示「由配置提供」 的项表示当前值来自配置文件,评估时可以在取值域内临时覆盖着试。

参数扫描与效果对照

扫描就是「改草稿 → 评估 → 对照」的循环:

  1. 在参数表草稿列里填想试的值,可以只填一两个,留空的项沿用当前生效覆盖。
  2. 按草稿评估:按草稿参数重放一遍历史检索,出评估报告。
  3. 按当前生效评估:用现行参数跑同一批样本,两份报告对照读。
  4. 满意后把草稿存下来:「新 profile 名」输入名字,点保存草稿为 profile

评估期间临时替换进程内的参数覆盖,跑完立即还原,不影响线上行为;重放只读,不写 库、不建边。

「已保存的 profile」列出全部命名参数集:生效中的标「生效中」且「应用」置灰,其余 可应用导出(导出为 JSON,便于备份或搬到另一台机器)。

评估报告

报告顶部四个指标:

  • 样本回合:这次评估用了多少个历史回合。
  • nDCG@k:重放排序与既定选择的贴近程度,0 到 1,越接近 1 越贴近。
  • 召回条数 中位 / 均值:重放下每回合进入提示词的条数分布。
  • 被挤掉的正例:该进前 k 却被顶出去的条数——换参数后的首要观察项,它直接 回答「该进的有没有被顶出去」。

样本是弱监督的:正例 = 进了提示词且该回合产生了回复的事实,报告度量的是「换参数 后既定选择的稳定性」,不是绝对质量。下方的「逐回合明细」折叠表按回合列出正例数、 重放召回、nDCG 与被挤掉条数;报告末尾标注生成时间与评估所用参数。

留痕重放

评估的更贴近生产的一档。生产中每轮事实召回都会留一条留痕事件,无损记录当时的 查询文本、会话印象、候选池与实际进提示词的事实。评估的第二轮从留痕重放:按事件 时刻前的消息水位重建检索词与在场者上下文,再用待评估参数跑一遍。重放池与留痕池 对不上的回合被单独计数——那个数字比 nDCG 更能说明报告可信度,读数时先看它。 库里有留痕之前,评估只有第一轮(转储弱监督样本)。

空态

还没跑过评估时,报告区显示「还没跑过评估;点上面的评估按钮开始」。没有任何已存 profile 时列表只有内置的 default 一行,覆盖 0 项参数。