Weknora AI知识库问答系统检索指标测试方法
Weknora AI知识库问答系统检索指标测试方法一、测试前置条件1. 系统环境与技术栈确认Weknora系统测试环境与生产配置一致目标知识库已完成结构感知分块所有文档块通过text-embedding-v4模型生成向量存储于pgvectorscale向量数据库向量库索引参数HNSW的ef_search/ef_construction等、相似度阈值、多路召回开关、重排策略均已固定并记录保证测试变量唯一大模型qwen3.5-122b-a10b为生成环节组件本次检索指标测试默认与生成环节解耦若评估端到端问答引用排序需固定大模型引用排序规则2. 测试数据说明测试集已完成标注单条数据格式{查询Query, 全量相关文档块ID集合, 相关性等级映射表}标注粒度与系统结构感知分块的chunk粒度完全对齐以单个文档块为最小标注单位测试集覆盖高频查询、长尾问题、模糊提问、多答案场景等样本量≥300条具备统计代表性3. 统一评估规则排名计数从1开始禁止使用程序索引0作为排名起始无任何相关文档的Query为无效样本剔除出指标统计默认评估K值Recall3/5/10、MRR20、NDCG10可根据业务场景调整所有指标最终取值为所有有效Query的算术平均值二、召回率RecallK测试1. 测试方法严格遵循给定公式RecallK检索到的相关文档块数知识库中所有相关文档块数 RecallK \frac{\text{检索到的相关文档块数}}{\text{知识库中所有相关文档块数}}RecallK知识库中所有相关文档块数检索到的相关文档块数通过批量调用检索接口获取Top-K结果统计命中相关块的占比衡量检索系统的全面性与兜底能力。可分别测试pgvectorscale原始向量召回、多路召回合并后、重排后三个节点的召回率定位损耗环节。2. 详细测试步骤参数固化与环境校验记录当前测试环境的pgvectorscale索引参数、分块策略、嵌入模型版本、相似度过滤阈值验证知识库向量数据完整性确保无缺失分块、无重复向量批量接口调用与结果落盘编写自动化脚本遍历测试集所有Query调用Weknora检索接口指定返回Top-K结果每条请求落盘数据Query、返回的文档块ID有序列表、对应相似度得分、请求时间单样本召回率计算对每条有效Query取返回结果的前K个ID与真值相关块集合取交集统计命中数量代入公式计算单条RecallK命中相关块数 ÷ 该Query全库相关块总数整体指标聚合计算所有有效样本召回率的算术平均值输出系统级Recall3、Recall5、Recall10指标劣化样本排查筛选召回率低于0.3的Query关联pgvectorscale底层检索日志排查是否为向量匹配偏差、分块不合理或阈值过滤导致3. 验收标准指标项优秀标准良好标准合格标准Recall3≥ 0.70≥ 0.60≥ 0.50Recall5≥ 0.80≥ 0.70≥ 0.60Recall10≥ 0.90≥ 0.80≥ 0.70注专业领域深度知识库可下调5%-10%阈值。三、MRR平均倒数排名测试1. 测试方法严格遵循给定公式MRR1N∑i1N1ranki MRR \frac{1}{N} \sum_{i1}^{N} \frac{1}{rank_i}MRRN1i1∑Nranki1其中rank_i是第i个问题首个正确答案出现的位置。统计每条Query首个相关文档块的排名计算倒数排名后取平均值核心衡量首位结果的命中准确性适配问答场景用户优先查看首条引用的使用习惯。默认基于重排后最终返回给用户的排序计算。2. 详细测试步骤排序策略确认固定Weknora系统的全链路排序规则pgvectorscale向量排序、多路召回合并策略、重排模型权重、业务置顶规则确保与线上一致明确MRR统计边界默认统计Top-20范围内的首个命中位置超出范围则该条得分为0即MRR20结果获取与落盘调用Weknora问答接口或检索接口获取每条Query的文档块有序列表确保顺序与用户侧展示完全一致落盘完整排序结果保留原始位次信息单样本倒数排名计算按返回顺序从第1位开始遍历找到第一个属于真值相关集合的文档块记录其排名rank_i计算单条得分1 / rank_i若Top-20内无相关块得分记为0整体MRR计算代入公式将所有样本得分求和后除以有效样本总数得到系统最终MRR场景化拆分统计按Query类型单答案/多答案、精确/模糊拆分计算MRR定位薄弱场景3. 验收标准等级MRR20 指标业务含义优秀≥ 0.80绝大多数问题的首个结果即为相关答案用户无需翻找良好≥ 0.70首位结果准确率较高仅少量问题需查看第二条结果合格≥ 0.60首位结果基本可用长尾场景存在排序靠后问题不合格 0.60首位结果偏差较大需优化重排策略或分块策略四、NDCG归一化折损累计增益测试1. 测试方法遵循归一化折损累计增益逻辑采用工业界通用的指数增益DCG公式先计算实际排序的累计增益DCG再计算理想排序下的最大累计增益IDCG最终用DCG/IDCG得到归一化的NDCG值衡量整体排序的合理性。相关性采用4级分级标准区分不同文档块的信息价值。NDCGKDCGKIDCGK NDCGK \frac{DCGK}{IDCGK}NDCGKIDCGKDCGKDCGK∑i1K2reli−1log2(i1) DCGK \sum_{i1}^{K} \frac{2^{rel_i} - 1}{\log_2(i1)}DCGKi1∑Klog2(i1)2reli−1其中rel_i为第i位结果的相关性得分IDCGK为所有相关结果按相关性降序排列后的理想最大DCG。2. 详细测试步骤标注数据校验确认测试集所有相关文档块均完成相关性分级3分完全相关可直接回答问题、2分高度相关包含核心答案要素、1分部分相关仅涉及主题、0分不相关校验标注粒度与结构感知分块的chunk一一对应无跨块、漏标情况批量获取排序结果遍历测试集Query调用Weknora接口获取Top-10有序结果列表落盘存储位次与块ID映射实际DCG计算按返回顺序逐位计算增益并累加得到实际DCGK理想IDCG计算将该Query的所有相关文档块按相关性得分从高到低降序排列取前K个按相同公式计算理想最大累计增益IDCGK若相关块总数不足K则全量参与计算NDCG计算与聚合单条QueryNDCGK 实际DCGK / IDCGK无相关块的样本剔除所有有效样本的NDCG取算术平均值得到系统整体NDCG10劣化根因分析对NDCG低于0.5的样本排查排序偏差原因向量相似度偏差、重排模型失真、结构分块导致高相关内容被拆分等3. 验收标准指标项优秀标准良好标准合格标准NDCG5≥ 0.85≥ 0.75≥ 0.65NDCG10≥ 0.80≥ 0.70≥ 0.60注对齐行业通用标准NDCG10 0.8为优秀水平。五、测试约束与注意事项变量控制要求版本对比测试必须保证分块策略、嵌入模型、pgvectorscale索引参数、重排规则完全一致仅保留单一变量禁止在测试过程中调整知识库内容、向量索引或排序参数结构感知分块适配所有标注与统计必须以系统生成的单个chunk为最小单位禁止按整篇文档、整个段落统计若单个答案跨多个chunk需分别标注每个chunk的相关性等级不可合并计算pgvectorscale 特性注意测试前需预热向量库避免冷启动查询的性能与排序波动若开启了pgvectorscale的标量过滤、元数据过滤需在测试报告中注明过滤条件大模型影响说明本次检索指标默认与qwen3.5-122b-a10b生成环节解耦仅评估检索链路能力若评估端到端问答的引用排序需确认大模型不会调整引用块的顺序否则需基于最终生成的引用列表计算指标结果有效性要求有效样本量不得少于200条否则指标不具备统计显著性测试需重复执行3次取平均值排除偶发波动影响