尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

知识库Benchmark构建实战:用Easy Dataset实现可量化评测

知识库Benchmark构建实战:用Easy Dataset实现可量化评测 上个月帮朋友验收一个内部知识库对方技术负责人问了一个直击灵魂的问题“怎么证明这个知识库比上一版更好”我发现自己除了甩出几个截图、录屏和人工抽样的对话记录拿不出任何能说服人的量化数字。那次之后我开始认真研究知识库 Benchmark 的构建最终跑通了一套以 Easy Dataset 为核心的完整工作流。这篇文章记录的就是从一堆领域文档到可量化评测的完整方法适合正在搭建或维护知识库、并且想用数据驱动迭代的团队参考。无论你用的是 Dify、RAGFlow、AnythingLLM 还是自研 pipeline核心思路都通用。很多人一听到“Benchmark”就觉得是大厂才做的事觉得得先攒几千条标注数据、设计复杂的评分模型。实际上知识库 Benchmark 的门槛没有想象中那么高难的是把“领域文档”变成“可重复运行的评测样本”并且让评测结果真正指导知识库优化。Easy Dataset 的价值恰好就落在这里它不只是一个标注工具而是一条从文档处理到评测报告的数据流水线。下面我从问题场景、核心设计、实操步骤、数据解读、踩坑经验五个方面展开。1. 为什么知识库“感觉还行”是不够的从文档到评测集的现实困境1.1 一个很难回答的验收问题知识库项目做到后期百分之百会被问到一个问题它到底好不好用这个问题在演示阶段很好糊弄让问答机器人回答几个精心挑选的问题配上“秒回”“带引用”的界面截图业务方通常点头认可。但只要对方追问一句“准确率有多少哪类问题答得不好知识库更新之后有没有变差”整个团队就会陷入沉默。原因不难理解绝大多数团队在知识库上线时只接了调用日志能看到的指标无非是请求数、平均响应时间、Tokens 消耗量。这些数字能反映系统负载却完全无法反映“回答质量”。类比一下这就像餐厅只统计翻台率和上菜速度从不统计顾客是否觉得菜品好吃。餐厅可以靠口碑活着知识库却不行——它是给员工用的答错了会直接误导业务决策。1.2 传统人工评测为什么撑不起持续迭代在没有工具之前我试过很多种人工评测方案。最早是每周拉 20 条真实用户问题让业务骨干打分从“准确、部分准确、错误”三档里选。两周之后问题就暴露了不同人对“部分准确”的理解不一样有人觉得只要包含关键数字就算对有人要求结论和依据都要完整。同一个打分者第三周的标准和第一周也经常漂移疲劳之后越打越随意。20 条样本里冷门方向的问题可能一条都没有评测结果偏向热门文档对整体质量的代表性非常有限。知识库更新后上一轮的人工评测结果没法自动化复用一切都要重来。人力成本高还不是最致命的最致命的是不可复现。今天说准确率提升了 5%明天老板问你提升在哪、哪些问题从错变对了你根本拿不出带有样本明细的证据链。没有固定样本集、没有评分规则、没有可重复运行的执行器任何“感觉变好了”的结论都无法沉淀为团队资产。1.3 可量化评测的构成要素要解决“感觉还行”必须把评测这件事工程化。一个可量化的知识库 Benchmark 需要三个核心要素固定样本集来自领域文档的一组结构化评测样本每条样本包含问题、期望答案、证据来源、类型和难度标签。评分规则明确定义答案准确率、检索召回率、幻觉率、引用正确率等指标的计算方式。可重复运行的执行器输入知识库 API 或导出结果按同一份样本批量运行输出指标和逐条得分。这三个要素缺一不可。没有固定样本集评测就是随机抽查没有评分规则结果就是各说各话没有可重复运行的执行器知识库一更新就得推倒重来。Easy Dataset 在这套体系里的角色正是把这三个要素串成一条数据流水线让构建 Benchmark 从“手工攒数据”变成“半自动化的数据管理”。2. Easy Dataset 的核心思路不是另一个标注平台而是一条数据流水线2.1 它解决的三个问题我第一次看到 Easy Dataset 时以为它又是一个在线标注平台脑海里的画面是人工一条一条给问答对打标签。深入用过之后才意识到它的核心价值不是标注而是解决三个自建评测系统时最烦的问题文档到问题的转化链路复杂。原始文档格式五花八门Word、PDF、扫描件、Markdown 混在一起先要解析清洗再做分块再生成候选问题最后还要人审。这一路步骤散落在不同脚本和表格里管理起来极其痛苦。答案标准不一致。同样一道题不同标注员写出来的黄金答案粒度差别极大有人只写结论有人把推导过程都写进去。如果不在工具里统一答案结构后面的指标计算全是空中楼阁。评测运行和结果沉淀是分离的。今天用 Python 脚本调一次 API生成一个 JSON 文件明天换个人重写一遍脚本两个版本的结果无法直接对比。评测样本和评测报告之间没有版本关联回归测试根本无从谈起。2.2 整体数据链路文档 - 样本 - 运行 - 报告Easy Dataset 把知识库 Benchmark 构建过程拆成了四个环节环节之间数据自动衔接领域文档入库上传原始文档自动识别文档类型做解析、清洗和分块。样本制造基于分块结果生成候选问题由人工校准黄金答案、证据引用和属性标签。评测运行将评测集发送到目标知识库的问题回答接口收集返回结果。报告生成按预设指标计算得分按类型、难度、文档维度做下钻分析。这套链路最让我欣赏的地方是“样本制造”和“评测运行”解耦。也就是说评测集可以独立于知识库版本存在。知识库升级之后我不需要重新生成问题只需要固定使用同一份评测集重新跑一遍运行就能得到同口径的对比数据。这在自建脚本方案里很难做到因为脚本通常只是临时跑一下样本和结果之间的关系没有持久化。2.3 为什么选它而不是自建脚本可能有人会说这些流程用 Python 写不就行了吗确实单纯从功能上来讲一个技术能力不错的团队可以用 LangChain 加 OpenAI API 加 Pandas 脚本拼出一个能跑通的版本。但我在实际维护中深刻体会到脚本方案的问题不在“跑通”而在“跑得可维护”样本需要修改业务变了某个问题的期望答案要调整如果样本存在 JSON 文件里改一条没问题但要追踪“这一条是哪个版本改的、改之前得分是多少”就非常麻烦。团队需要协作不止一个人要往测试集里加问题没有工具层面的权限和审阅流很快就会出现两个人改同一个文件、互相覆盖的混乱。评测集污染风险如果把评测样本放在知识库旁边模型很容易通过上下文学习直接“背出”答案评测就失去意义。工具层面需要显式管理样本的独立存储和引用锁定。Easy Dataset 本质上是将自建脚本中容易被忽略的“数据治理”功能补全了。它不一定比其他工具技术参数更激进但在知识库 Benchmark 这个具体场景上确实解决了很多工程化的脏活累活。3. 从原始文档到评测样本领域文档处理与样本设计3.1 文档解析与清洗别让 PDF 里的坑毁掉整个评测集评测样本的质量上限由原始文档决定。如果原始文档解析出错后面生成的问题和答案大概率也是错的。我接手过一份设备维护手册PDF 里全是多栏排版和嵌套表格PDFPlumber 直接解析后表格内容错位一列“额定功率”的数据跑到了“重量”那一列。用这种错误数据生成的问题答对了纯属巧合。在 Easy Dataset 里做文档入库我建议优先做这几步优先找源文件而不是导出物。能用 Markdown、Word 源文件就别用扫描 PDF。扫描件必须先做 OCR否则抽出的文本里全是乱码。对 PDF 先检测分栏情况。多栏文档需要用 layout 感知的解析策略不能按物理顺序从头到尾硬切否则阅读顺序完全错乱。清洗掉页眉页脚、水印、目录页码、页边注释。这些噪音对分块影响很大页脚里连续出现“XX 有限公司 2024 年内部资料”会让 embedding 出现大量冗余片段。表格类文本要保留结构信息。最好把表格转成 Markdown 或“键值”对的形式比如“额定功率5kW”这样后续的问题生成和检索召回都更容易命中。清洗之后的文本不是直接进评测集而是先生成文档分块。分块大小影响很直接块太小答案信息被切断块太大检索召回的精度会下降。Easy Dataset 默认的分块大小可以调但我踩过坑之后得出一个经验先看文档结构再定分块。如果一篇文档有清晰的小节标题尽量按语义边界分块而不是强行按固定 token 切。固定 token 切进知识点中间是后期“检索到但答案在下一段”这种失败样本的重要来源。3.2 问题类型与难度分级让评测集覆盖真实使用场景评测集要有代表性不能只是“根据文档随便问几个问题”。我习惯把问题按类型和难度打上标签这不仅方便后续筛选运行也能让评测报告告诉我们“短板到底在哪一类”。问题类型上至少需要覆盖四类事实型一个明确的答案比如“设备 A 的额定功率是多少”。流程型需要按步骤回答比如“如何重置设备 A 的系统密码”。对比型需要比较两个对象的异同比如“设备 A 和设备 B 在功耗上有哪些区别”。判断型需要结合条件做判断比如“在零下 20 度环境中是否可以使用设备 A”。难度分级可以按检索复杂度来定简单单文档单片段答案高度集中在一个段落里。中等单文档多片段需要把多个段落的信息拼起来或者答案藏在长文档的某个章节里考验定位能力。困难跨文档推理比如从两个不同手册中分别抽取信息再组合出答案。最容易犯的错误是只生成事实型简单问题因为大模型批量生成这类问题最轻松评测结果看起来也漂亮。但真实用户问得最多的是流程型和对比型问题把评测集做成“简单事实题全集”测出来的分数完全无法反映真实使用体验。3.3 黄金答案与证据链标注给机器一把可对照的尺子每条评测样本不能只有一个“标准答案字符串”。知识库问答的答案天然具有多选性和模糊性直接比对字符串完全不现实。我在 Easy Dataset 里使用的样本结构大致如下{ id: kb_001, question: 设备A在零下20度环境中是否可以正常工作, answer: 可以设备A的工作温度范围为-20℃至50℃但需要先预热10分钟。, evidence: [manual_dev-A/part_7, manual_dev-A/part_8], type: judgment, difficulty: medium, source_doc: 设备A用户手册_v2.pdf }这里几个字段各有用途answer是黄金答案不需要和知识库实际回答逐字一致评分时做语义比对。evidence是证据链对应文档分块 ID。评测报告会检查知识库在检索阶段是否召回了这些证据片段这是判断“答案有没有依据”的关键。type和difficulty用于分类统计。source_doc记录答案来源文档方便溯源。黄金答案的写法也有讲究。我刚开始写的答案太啰嗦把背景信息全包进去结果发现模型裁判给分偏高因为知识库只要说对一半语义相似度就很高。后来统一成“结论 关键条件 限定范围”的写法比如“可以正常工作工作温度范围为 -20℃ 至 50℃需要预热 10 分钟”。这样既明确又不会因为过度简洁导致误判。证据链标注是最费人工的部分也是整个 Benchmark 最值钱的部分。没有证据链只看回答文本很容易被“看起来合理但引错片段”的错误骗过去。很多知识库的 RAG 流程把答案生成和引用来源分开回答对但引错文档的问题格外常见证据链就是用来暴露这类问题的。4. 构建知识库 Benchmark 的实操流程Easy Dataset 逐步骤配置4.1 创建项目与接入知识库在 Easy Dataset 里做 Benchmark 的第一步是创建项目。项目是数据隔离的边界每个知识库应独立建一个项目避免不同领域的评测样本混在一起。接着要做的不是马上传文档而是先确认评测目标。我用三个问题来明确目标这个知识库的核心业务场景是什么比如“农业种植技术咨询”还是“企业内部 IT 帮助台”。最关心的质量底线是什么如果是医疗、设备操作类场景幻觉率是底线如果是信息查询类检索召回率更重要。评测输出的使用者是谁如果给管理层看需要总体分数如果给研发团队看需要失败样本明细和根因分类。目标确认后再把知识库接口接入进来。Easy Dataset 支持两种方式API 接入知识库提供问题回答接口评测运行时逐条发送问题拿到回答和引用片段。离线导入把知识库对一批问题的响应结果JSONL 格式导出后导入适合知识库本身没有对外 API 的场景。API 接入的效果最好因为可以实现全自动回归。离线导入适合第一次试水我先说 API 接入的配置。需要在 Easy Dataset 里填三个东西接口地址、鉴权 Token、请求响应格式映射。如果你的知识库 API 返回结构形如{ output: { answer: 设备A的工作温度范围为..., citations: [doc_id:part_7, doc_id:part_8] } }那在映射关系里指定answer字段和citations字段的路径就行。第一次接入时我用 5 条样本做冒烟测试确认字段映射无误后再开始正式评测。4.2 生成问题候选集与人工校准接入知识库之后就可以基于已入库的领域文档生成问题候选集。Easy Dataset 内置了基于 LLM 的生成能力也需要在生成前配置领域提示词。一个简单有效的提示词模板是你是{领域}专家正在为知识库构建评测问答题。 请根据以下文档片段生成业务使用中可能被问到的问题。 问题要求 1. 只依据片段内容不引入外部知识。 2. 覆盖事实、流程、对比、判断四类问题。 3. 答案必须在片段中能够找到依据。 4. 问题表述要自然像真实用户提问。生成之后必须人工校准不能直接发布。校准要做四件事删掉语义重复的问题。LLM 一次生成 50 条可能有 10 条实际是在问同一件事。修正问题的信息是否完整。有些问题生成得很“自嗨”比如只写“它的功率是多少”脱离上下文根本无法回答。核对黄金答案是否准确。这里要人工回到原文确认尤其是数值和日期。打标签类型、难度、证据片段。别忘了把[manual_dev-A/part_7, ...]这类证据 ID 填上。人工校准听起来费时但这是评测集质量的保障。我的经验是生成 200 条候选问题最终被纳入评测集的往往只有 100 条左右大量删除毫不心疼。样本贵在精不在多。另外要强烈建议不要只依赖生成问题一定要把真实用户日志中的高频问题混入评测集。纯生成的问题哪怕再贴近文档也经常带有“完美问法”的味道——主语清晰、限定条件完整、措辞规范。真实用户的问题往往有歧义、有错别字、有省略语。可以设计一批“口语化问题”作为对抗样本比如把“如何重置密码”改成“忘了管理员密码怎么办”。这类问题才能真正检验知识库在实际使用中的表现。4.3 配置评测指标准确率、召回率、幻觉率、引用正确率指标配置是整个 Benchmark 里最容易产生迷惑的一步。我的建议是不要在初期上太多复杂指标先盯住四个核心指标跑透之后再逐步增加。答案准确率模型回答的语义是否接近黄金答案。使用 LLM 做裁判通过accuracy_judge提示词判断两者语义是否一致。检索召回率知识库 top-k 检索结果中是否包含证据片段。这是 RAG 系统的基础能力不解决这个后面的准确率都是运气。幻觉率回答中是否存在与证据片段矛盾或无法由证据支撑的内容。这个指标必须在“生成回答”之上单独抽出来检测。引用正确率回答引用的来源片段是否与证据链一致。即使答案内容正确引用错误也是需要修复的问题。下面是我在 Easy Dataset 里用的一套简化评分定义指标定义评估方式答案准确率模型回答语义与黄金答案一致的比例LLM 裁判二分类正确/错误检索召回率证据链中至少一个片段出现在 top-k 检索结果中的比例规则匹配片段 ID幻觉率回答中包含证据中不支持的细节的比例LLM 裁判 规则检查引用正确率引用片段与证据链的重合度达标如重合度大于 50%集合匹配幻觉率这块我想多说两句。纯靠 LLM 裁判判断幻觉经常会出现“回答内容和证据看似相关但实际超出证据范围”的情况。实际配置时我会在裁判提示词中明确要求只依据给定的证据片段判断不要依赖常识补充。比如回答里写了“设备 A 需要预热 10 分钟”但证据片段里只有工作温度范围那么这个细节就属于幻觉。不要因为“这确实是对的”就放过评测集评测的是知识库有没有把这个信息检索出来并准确呈现而不是模型有多少外部常识。评分逻辑同样要先做小范围校验。我建议选出 20 条已知正确答案的样本先跑一遍裁判评分人工核对得分是否和预期一致。如果裁判系统把明显错误标成正确就回头调整裁判提示词。4.4 跑批量评测与导出报告所有样本和指标配置完成后就可以创建一次评测运行。运行配置里需要锁定三个版本信息评测集版本当前样本集是第几版比如v2025.03.01。知识库版本对应文档集、索引、Embedding 模型的版本标识。生成模型版本知识库回答时使用的大模型版本比如gpt-4o-2025-05-01或本地模型的名称和参数规模。锁定版本的目的很简单一旦出了问题我们可以准确复现“是哪一版数据、哪一版索引、哪一版模型导致了分数变化”。批量评测跑完后Easy Dataset 会生成一个概览报告。我摘一段模拟报告供参考分类样本数答案准确率检索召回率幻觉率引用正确率全部12082.4%89.2%6.7%85.0%事实型4591.1%95.6%2.2%91.1%流程型4077.5%87.5%7.5%82.5%对比型2070.0%80.0%15.0%75.0%判断型1580.0%86.7%6.7%80.0%这类报告最大的价值不是给领导看总分而是让我们一眼看出短板。比如上表里对比型问题的幻觉率高达 15%远高于平均值那下一步优化方向就很明确对比型问题检索策略需要重新设计可能要拆成两个单文档问题分别检索再做结果合并。5. 评测结果怎么看数据解读、失败分析和迭代闭环5.1 指标之间的优先级关系评测报告拿到手先别急着看准确率数字。知识库问答场景里如果多个指标同时下跌要有优先级判断。我个人习惯把幻觉率放在第一位因为幻觉的危害不是“答案不完美”而是“看起来专业但内容错误”。尤其在企业知识库场景员工把错误结论当作标准执行后果远大于“没检索到答案”。第二位是检索召回率它是底座。检索召回率低答案准确率一定高不了。只有先保证相关文档被召回再去谈生成答案的准确性。答案准确率排第三是因为它受生成模型影响很大。检索召回率不变只换一个更强的生成模型准确率可能就提升几个点但这种提升有时不是知识库本身的进步。引用正确率排在最后但不代表不重要它更偏向“体验优化”层面。在企业知识库里员工看到引用来源才敢相信回答引错文档会让信任度大打折扣。5.2 从失败样本反推知识库问题只看指标分布还不够一定要深入失败样本做根因分析。每一条答错的样本都可能对应知识库的一个真实缺陷。我见过的失败类型大致有四种检索没捞到正确的块。这种问题的特征是想答但没依据回答里缺少关键信息。排查方向Embedding 模型与领域文本是否匹配、top-k 是否太小、分块边界是否切断了答案所在段。检索到了但顺序不对。多个证据片段被返回但正确答案在不同的候选块里。典型场景是文档有新旧版本检索器同时捞出了两个版本的内容生成模型把新旧规则混在一起回答。排查方向版本信息有没有作为元数据参与过滤是否缺少时间或版本约束。检索到了但生成阶段没用好。模型可能在多个片段里“迷失”没有抓住证据链里最相关的部分。排查方向生成提示词是否要求“仅依据检索结果回答”上下文窗口是否被无关片段挤占答案是否需要多片段组合。文档本身没写清楚。这是最容易忽略的失败原因。有时候知识库答错不是检索或生成的锅而是原始文档压根没写明某个冷门参数。评测样本设置了这个问题文档里却没有对应答案再怎么优化也没用。这时就需要补充文档或调整评测集预期。每一次失败分析后我习惯给失败样本打一个“根因标签”比如“检索缺失”“版本混淆”“生成忽略证据”“文档缺失”。这些标签累积起来会成为知识库迭代的排期依据。没有这些标签评测报告就只是一堆数字无法驱动行动。5.3 Benchmark 也要版本化防止模型/知识库更新破坏了回归知识库是活的文档会更新索引会重建模型会换版本。Benchmark 如果不能持续回归那它的价值就只停留在一次快照上。Easy Dataset 的“版本化运行”概念很关键每次运行都要带上评测集版本和知识库环境的版本。实际工作中我遇到过一种典型情况文档更新后知识库整体准确率上涨了 3%大家都很高兴。回头一查才发现评测集里 20% 的样本对应的旧文档已经被删掉了那些旧样本因为找不到答案而判定失败拉低了整体分数。也就是说分数上涨可能只是评测集过时了而不是知识库真变好了。所以每次知识库版本变更后都要检查评测集是否需要同步更新但又要防止“为了让分数好看而悄悄改答案”的隐性作弊。回归测评的实践节奏我建议是小版本更新比如新增 10 篇文档每天或每周跑一次全量评测集重点观察是否出现指标滑坡。大版本更新比如换 Embedding 模型跑全量评测集之外再单独跑一遍困难难度样本新模型在复杂推理上的表现往往和老模型有较大差异。每次发版前跑一次“冻结评测集”锁定结果作为该版本的快照。版本化的 Bench mark 是知识库质量治理的基础设施它和 CI/CD 是同一逻辑。就好比写代码不可能不跑测试就上线知识库版本更新也不能不跑 Benchmark 就发布。6. 踩过的坑与经验建议6.1 样本数量不是越多越好均衡才是第一次做的时候我总想着“评测集越大越权威”逼着团队生成了 500 条问题结果光人工校准就花了一周。真实跑下来发现500 条样本里存在大量同质化问题比如“XX 是什么”类问题占了三分之一评测报告除了显示“事实型准确率很高”之外根本看不出任何有价值的信息。后来我把样本砍到 120 条但严格按照真实用户日志中的问题分布来配置比例。比如日志里流程型问题占比 40%评测集就把流程型问题的样本数设为 40%再在解释型、对比型里做补充。这样评测集虽然小但每次优化都能看出某类问题是否变好了。一个更实用的经验是按“高频场景 边界情况 易错点”三个维度各设计三分之一的样本。高频场景保证评测贴近真实使用边界情况比如“超过规格范围能否使用”易错点比如版本混淆、相似术语区分。这样组合出来的测评集虽然只有 100 条左右但比 500 条同质化样本更能暴露问题。6.2 生成式问题的评分陷阱用 LLM 做裁判听起来很美好但实践中裁判本身也会犯错。最容易出现的问题是“判分尺度不稳定”同样一个回答在两条样本里一次给正确一次给错误。这跟裁判模型的温度参数、提示词表达都有关系。解决这个问题我用了三个策略将温度参数设为 0尤其是裁判模型的调用减少随机性。在裁判提示词里加入“只判断语义是否一致不要求逐字匹配”要求它输出“正确”或“错误”并给出简短理由。在正式评测前做一次人机一致性校验。从评测集中抽 30 条人工打一次分再用配置好的裁判逻辑打一次分计算一致性比例。如果低于 90%先别急着跑全量回头调裁判提示词。对于有标准答案的事实型问题我还会额外计算一个 F1 或字符相似度作为参考分。但需要说明F1 只能作为参考因为知识库回答的表述可能千奇百怪F1 过低不一定是错的需要结合 LLM 裁判综合判断。混合评分比单一依赖任何一方都更稳。6.3 易混淆文档的对照设计企业知识库中有一种非常常见的失败模式文档更新了但旧版本文档还留在库里。比如报销制度在 2025 年 3 月更新了旧的“差旅报销上限”页面没有下线。用户问“现在出差住宿标准是多少”检索器同时捞到新旧两个版本生成模型可能选取旧的数字。针对这种情况我会有意设计一组对照问题专门考验知识库的版本辨别能力。比如“按最新制度A 类城市住宿标准是多少”“2024 年的报销标准和现在有什么区别”这类问题的黄金答案里我会明确标注“以 v2025 文档为准”并在证据链中同时引用新旧文档的片段。如果评测报告显示这类样本的召回率不高说明知识库在元数据过滤或版本优先级设置上存在问题。这类设计在传统 NLP 评测集里不太常见但在企业知识库场景里是非常关键的抗风险能力。6.4 避免评测集污染评测集污染是我最想提醒的一点。很多人图省事直接把评测样本里的问题和标准答案丢进知识库里作为文档这样评测时模型能“背出”答案分数自然漂亮。但这完全破坏了评测的意义因为真实用户不会问完之后再去文档里抄答案RAG 的核心价值是检索而不是记忆。正确做法是评测集独立于知识库存储绝不让评测样本进入向量数据库。Easy Dataset 本身的数据隔离设计可以帮忙但更重要的是团队意识。我在自建知识库时踩过这个坑为了快速验证效果把几十条测试问答作为种子数据导入了知识库最后评测准确率高达 98%汇报的时候差点发出去。多亏一位同事追问“这些测试文档是不是在知识库里”才发现问题。评测集一旦被污染所有指标都会失真。而且污染很难察觉因为数字看起来太美了。所以每次发布新评测集我都会检查一遍“评测集文档是否存在于知识库文件列表”并且从流程上禁止将评测样本导入业务知识库。最后再分享一个我自己的小习惯每次跑完评测我都会把失败样本截图存到一个共享文档标注根因、修改动作和负责人。两周之后再回看效果比记在脑子里好太多。知识库 Benchmark 不是一次性的项目而是一项需要持续投入的基建。如果你的知识库也正在被老板或客户追着要数据可以从今天开始用 Easy Dataset 搭一个小样本集哪怕只有 50 条也比一句“效果还不错”有说服力得多。
返回列表