在 FastGPT v4.17.2 中,知识库搜索节点的引用与溯源能力集中在 dataset_search 节点配置与输出结构上。实施检查应围绕引用数组是否完整、角标能否回指原文、展示内容是否经过裁剪三条路径展开。每条路径都有明确的入口、核对动作与失败表现,便于在编排阶段逐项验证。
引用数组的结构与完整性检查
入口在 dataset_search 节点的输出配置。该节点检索知识库后,会把命中的分块组织成引用数组,每个元素对应一条可溯源记录,通常包含分块标识、所属数据集与相似度等字段。先用已知命中问题查看引用,再用未命中问题检查空数组处理;对返回条目逐项检查原文标识,避免只保留文本片段而丢失来源信息。接着验证数组长度与检索参数是否匹配,调整检索模式和相似度阈值后,记录实际命中条数;引用上限按文本token核对。失败表现常见为已有命中依据却缺少引用映射,或数组存在却缺少分块标识,导致后续角标无法回指。另一类失败是数组内出现重复分块,使引用数量虚高。检查时应以节点实际输出为准,不依赖模型回答中的文字描述。
角标回指原文的链路核对
入口在回答生成环节对引用数组的消费方式。角标回指要求回答文本中的引用标记与引用数组下标一一对应,用户点击角标后能定位到对应分块。核对动作包括:确认提示词或编排中要求模型按引用数组顺序标注;检查回答中出现的角标编号是否落在数组长度范围内;验证每个角标指向的分块内容与回答语句语义一致。失败表现有三类:角标编号越界,指向不存在的引用;角标与数组顺序错位,点击后跳到无关分块;回答未携带角标,引用数组虽存在却无法在界面上回指。排查时应先固定引用数组,再单独观察回答生成结果,区分是数组问题还是标注问题。若使用工作流编排,可在 dataset_search 之后插入检查节点,确认数组传递未被截断。
原文展示与裁剪的边界检查
入口在引用分块的展示配置与上下文裁剪策略。原文展示要求引用数组中的分块内容可被查看,裁剪则决定进入模型上下文的分块长度与数量。核对时先确认展示层读取的是完整分块还是裁剪后片段,再检查裁剪是否影响角标回指所需的定位信息。常见做法是展示保留分块标识与必要上下文,进入模型的部分按 token 预算裁剪。失败表现包括:展示内容被裁剪到无法辨认来源,用户看不到原文关键句;裁剪过度导致回答缺少依据,引用数组虽完整但回答质量下降;裁剪后分块标识丢失,角标无法定位。检查时应分别记录展示长度与上下文长度,确认两者边界清晰。调整裁剪参数后需重新验证引用数组与角标链路,避免只改一处造成新的断点。