在 FastGPT 的知识库检索中,语义检索、全文检索与混合检索各有其适用条件。选择时先看查询表达与文档内容的匹配方式,再用小规模测试集核对召回结果。官方文档说明,检索模式会影响搜索行为与结果,配置前应结合数据形态与查询习惯判断。
三种检索模式的适用条件
语义检索依据向量相似度匹配内容,适合查询与文档用词不一致、需要按意思找答案的场景。用户提问口语化、文档表述书面化时,语义检索更容易把相关段落召回。全文检索依据关键词匹配,适合查询包含明确术语、编号、专有名词的场景,文档中这些词出现即可被定位。混合检索同时使用语义与全文两路结果,适合查询既含关键词又含自然语言描述的场景,也适合单一模式表现不稳定的知识库。FastGPT 文档指出,检索模式在知识库配置中设置,不同模式对应不同的搜索行为。选择时先判断查询的主要特征:意思匹配为主、关键词匹配为主,还是两者兼有。若文档中术语固定且用户会直接输入术语,全文检索可作为优先测试对象;若用户常以问句表达且文档用词多变,语义检索更值得先测;若两类查询都占一定比例,混合检索通常更稳妥。每种模式都应在实际数据上验证,避免仅凭直觉决定。
检索模式比较表
下表按方案、适用条件、需要核对的点三列列出三种检索模式的判断要点。适用条件来自对查询与文档匹配方式的判断,需要核对的点用于测试时逐项确认。
| 方案 | 适用条件 | 需要核对的点 |
|---|---|---|
| 语义检索 | 查询与文档用词不一致,需要按意思匹配;用户提问口语化或文档表述多样 | 向量模型是否已配置;相似度阈值与返回条数;对术语、编号类查询的召回表现 |
| 全文检索 | 查询含明确术语、编号、专有名词;文档中关键词出现即可定位 | 分词与索引是否覆盖目标词;对同义表达、问句的召回表现;返回条数与排序 |
| 混合检索 | 查询既含关键词又含自然语言描述;单一模式表现不稳定 | 两路结果如何合并与排序;权重或融合方式是否可调;整体召回与排序是否符合预期 |
| 混合检索加结果重排 | 对排序质量要求较高,且已有可用的重排模型 | 重排模型是否已配置;重排后返回条数与耗时;与不加重排时的结果差异 |
测试时建议准备一组覆盖不同查询类型的样例问题,分别记录三种模式返回的段落是否包含所需信息,再比较排序位置。核对点应逐项确认,避免只凭单次结果下结论。
测试方法与核对步骤
测试检索模式时,先整理一组能代表真实查询习惯的问题,覆盖术语型、问句型、混合型三类。对每个问题,分别用语义检索、全文检索、混合检索执行,记录返回段落是否包含所需信息以及所在位置。FastGPT 文档说明,检索模式在知识库配置中切换,测试时应保持其他条件一致,例如同一知识库、同一批文档、相同的返回条数设置。核对时先看召回,再看排序:召回关注所需信息是否出现在返回结果中,排序关注它是否排在靠前位置。若语义检索对术语型查询召回不佳,可检查向量模型与文档切分方式;若全文检索对问句型查询召回不佳,可检查分词与关键词覆盖;若混合检索结果波动,可检查两路结果的融合与排序设置。测试完成后,把表现稳定的模式用于正式配置,并保留样例问题以便后续复核。文档还提到结果重排可作为排序环节的补充,是否启用应结合模型可用性与测试结果判断。