知识库问答效果差,先别急着换模型 之前参与过一个企业知识库问答项目目标是让员工可以通过自然语言查询制度、流程、产品说明和常见问题。最开始大家都把注意力放在模型和提示词上觉得只要模型足够好回答就会准确。但第一版上线后问题很快出现同一个问题有时回答新版流程有时引用旧版制度有些答案看起来很流畅但细节并不符合当前规定还有一些问题会把不同部门的流程混在一起回答。前期我们不断调整 prompt比如要求模型“只根据知识库回答”“不要编造”“不确定时说明无法判断”。这些提示确实能减少一部分幻觉但无法解决根本问题。后来我们检查知识库内容才发现里面混了很多过期文档、重复文档和版本冲突资料。模型不是不够努力而是检索到的资料本身就不干净。知识库数据集需要版本和状态字段企业知识库最怕的是资料没有版本管理。比如同一个报销流程2022 年、2023 年、2024 年各有一份文档但知识库里没有标记哪个是 current哪个是 deprecated。检索系统只根据文本相似度召回内容时很可能把旧文档也召回来。模型看到多个版本后就可能混合生成一个看起来合理但实际错误的答案。所以后面我们先重新设计知识库数据结构。每份文档都要有 document_id、title、department、version、effective_date、status、content_type、source_url、updated_at。对于 FAQ 类型资料还会单独拆出 question、answer、keywords 和 applicable_scope。doc_schema { document_id: 文档 ID, title: 文档标题, department: 所属部门, version: 版本, effective_date: 生效日期, status: current / deprecated, content_type: 制度 / FAQ / 产品说明 / 流程, updated_at: 更新时间, source_url: 原始链接 }这个结构的核心是 status 和 effective_date。只要能区分当前有效资料和历史资料检索阶段就可以过滤掉 deprecated 文档减少模型引用旧信息的概率。用高质量数据集校准问答样本在这个场景里可以使用 Dataify 高质量数据集作为样本补充和数据校验基础。立即体验https://dataify.com?utm_sourceimchloeutm_term01它不直接替代问答系统但能帮助团队准备更规范的训练样本、分类样本和 FAQ 样本。对于知识库问答来说高质量数据集的价值是让模型有更清楚、更干净的参考材料。例如我们会整理标准问答样本qa_samples [ { question: 差旅报销需要提交哪些材料, answer: 需要提交审批单、发票、行程单和支付凭证。, department: 财务部, content_type: FAQ, status: current, effective_date: 2024-01-01 }, { question: 新员工入职需要完成哪些系统权限申请, answer: 需要完成邮箱、IM、项目管理系统和代码仓库权限申请。, department: 人力资源部, content_type: FAQ, status: current, effective_date: 2024-03-01 } ]这些样本可以用于测试问答系统。如果系统回答内容和标准样本明显不一致就说明检索或数据源可能存在问题。相比盲目调 prompt这种基于样本的校验更容易定位问题。检索前先过滤再生成答案后来我们在问答链路里加了一个简单规则检索前先过滤 status ! current 的资料只在当前有效文档中做相似度召回。这样可以减少旧文档干扰。def filter_current_docs(docs): return [ doc for doc in docs if doc.get(status) current ]如果资料很多还可以按部门和内容类型进一步过滤。比如用户问报销问题优先检索财务部文档用户问权限问题优先检索 IT 或 HR 相关文档。这样模型拿到的上下文更集中回答自然更稳定。def filter_by_scope(docs, departmentNone, content_typeNone): results docs if department: results [ doc for doc in results if doc.get(department) department ] if content_type: results [ doc for doc in results if doc.get(content_type) content_type ] return results写在最后这次项目给我的经验是知识库问答效果不好时不要第一时间责怪模型。很多时候问题出在底层数据集资料过期、版本冲突、字段缺失、样本不规范。模型只是根据检索到的内容回答如果输入本身混乱输出自然不稳定。Dataify 高质量数据集在这类项目里可以作为基础数据补充和校验样本来源帮助团队构建更干净的知识库结构。它不需要占据项目全部篇幅但在关键环节能减少很多无效调参。对于企业问答、智能客服、内部知识库这类项目来说先把数据集整理好再谈模型优化会更有效。