
很多人第一次把 Dify 知识库接进应用时,最容易先怀疑提示词。回答不准,就继续改角色设定;引用不对,就继续加限制;同一个问题有时答得对、有时答得偏,就觉得模型不够听话。
但在知识库问答里,提示词通常不是第一处要查的地方。更常见的问题,是文档分段、检索召回和引用材料之间没有接上。模型只能基于它拿到的上下文回答。如果前面召回的材料已经偏了,后面再怎么要求“请准确回答”,也只是让模型在错误材料里努力组织语言。
我现在更愿意把 Dify 知识库问题拆成三段来看:文档怎么被切开,问题怎么被召回,答案怎么引用材料。只要这三段里有一段讲不清,最后的效果就会像“模型偶尔聪明、偶尔乱答”。这不是一个适合交付给业务使用的状态。
这篇文章不从提示词开始,而是按一次真实排查的顺序,把知识库回答跑偏时应该看的几个位置梳理出来。
先判断问题发生在哪一层
知识库问答看起来只有一个动作:用户提问,系统回答。实际中间至少经过了几层。
第一层是文档层。原始资料是否适合被检索,标题、小标题、段落边界是否清楚,关键条件有没有和操作步骤分开。
第二层是分段层。Dify 导入文档后,知识库会按一定规则把资料切成片段。片段太短,容易丢上下文;片段太长,容易把几个问题混在一起。
第三层是召回层。用户的问题要先命中相关片段,模型才有可能基于正确材料回答。
第四层是答案层。模型拿到材料以后,还要判断哪
订阅专栏 解锁全文

2243

被折叠的 条评论
为什么被折叠?



