数据行索引状态决定该行能否进入召回流程。已解析表示内容已入库但尚未建立索引,索引中表示向量化任务正在执行,已完成表示索引可用。三态按顺序推进,召回只读取已完成状态的数据行。
已解析状态:字段与触发条件
已解析是数据行写入数据集后的初始状态。该状态表示原始内容已经过解析处理并存入数据库,但向量索引尚未生成。在 FastGPT v4.17.2 的数据集引擎中,数据行记录会保留其分块结果与元数据,此时该行可被列表查询与管理操作读取,但不会参与向量检索。触发条件为数据导入或手动新增数据行后、索引任务被调度之前。边界在于:处于已解析状态的数据行,即使其分块文本完整,也不会出现在任何基于向量的召回结果中。若数据集配置了直接分段或问答对模式,解析完成与索引完成是两个独立阶段,已解析仅代表前一阶段结束。该状态是过渡态,通常随后进入索引中;若索引任务未被触发,数据行会停留在已解析,此时召回不可用。
索引中状态:字段与触发条件
索引中表示该数据行的向量化任务已被调度并正在执行。在 FastGPT v4.17.2 中,索引任务会对数据行的分块内容生成向量并写入向量库,期间数据行状态标记为索引中。触发条件为索引任务开始执行,包括首次建立索引与后续重新索引。边界在于:索引中状态的数据行同样不参与召回,因为向量尚未完整写入或尚未提交。该状态可因任务排队、分块数量、向量模型响应等因素持续一段时间。若同一数据行在索引中再次被触发索引,任务会按引擎的调度规则处理,状态保持为索引中直至本次任务结束。索引完成后状态转为已完成;若任务失败,数据行不会进入已完成,召回仍不可用。该状态是判定召回可用性的关键分界点。
已完成状态:字段与召回关系
已完成表示该数据行的向量索引已经生成并可用。在 FastGPT v4.17.2 中,只有状态为已完成的数据行才会被召回流程读取,其分块向量参与相似度计算并可能出现在检索结果中。触发条件为索引任务成功结束。边界在于:已完成是召回的必要条件,但不是充分条件;召回结果还受数据集权限、检索模式、相似度阈值与 top k 等参数影响。若数据行内容被修改或重新索引,状态会离开已完成并回到索引中,期间该行暂时退出召回。若索引任务失败,状态不会标记为已完成。已完成状态的数据行在列表中以对应标识展示,便于核对哪些内容已可被检索。该状态与已解析、索引中共同构成数据行的索引生命周期。
三态流转与召回判定基准
三态按已解析、索引中、已完成的顺序流转。已解析与索引中均不参与召回,已完成才参与召回。判定基准可归纳为:数据行写入后先进入已解析;索引任务启动后进入索引中;任务成功后进入已完成;任务失败则停留在索引中之外的状态,不进入已完成。重新索引会把已完成的数据行拉回索引中,完成后再次回到已完成。边界条件包括:批量导入时各数据行状态可能不一致,需按行核对;删除数据行会使其退出所有状态;数据集层面的配置不改变单行状态定义。召回只读取已完成的数据行,因此当检索结果缺失某条内容时,可先核对该行是否处于已完成。该基准仅描述状态与召回的关系,不涉及具体检索参数取值。