当前位置第 3 层 返回行动档案
个人实验

用本地 Dify 验证 Open API RAG 的文档组织与生成边界

一次用控制变量拆分检索与生成问题的个人学习验证。

实验范围

问题不是让 RAG 看起来能回答,而是拆清楚错误来自文档组织、检索,还是生成。

我基于 iSlide Open API 文档,在本地 Dify 中搭建 Chatflow,并用 Ollama Qwen 与 bge-m3 跑通从文档分段、混合检索到回答生成的完整链路。

01

清洗与分段

把 iSlide Open API 文档整理成可进入知识库的结构。

02

搭建本地链路

使用 bge-m3 混合检索,并由 Ollama Qwen 完成生成。

03

固定实验配置

固定分段、检索、模型与 Prompt。

04

比较文档组织

只改变 5 份合并文档与 26 份接口拆分文档。

05

定位 Bad Case

检查召回、字段改写与证据边界。

06

收紧生成约束

要求字段来自证据,并为规则校验划定职责。

文档组织 A/B

拆分接口文档,改善了定位,但没有自动解决证据完整性

A 组使用 5 份按业务分类的合并文档,B 组使用 26 份按具体接口拆分的文档;其他 Chunk、Embedding、混合检索、Top K、模型与 Prompt 保持一致。

B 组更容易把具体接口排到前面,也没有丢失完整流程证据,但响应字段仍可能落在另一 Chunk。最终选择 B,是因为它更利于定位接口和区分场景,而不是因为回答已经全部正确。

生成层

拿到正确证据,模型仍会改写字段

4B 模型即使拿到正确证据,仍会改写字段、误用相邻接口或扩大回答范围。我因此降低生成温度,并要求路径、方法、参数和返回字段必须逐字来自证据。

加入约束后,5 条固定问题有 4 条达到核心要求,且未再编造接口路径或字段。剩余问题保留为部分通过,不继续精调到看起来完美。

当前边界

不放大个人实验

这项个人学习验证只包含 5 条固定问题,不是生产系统,4/5 也不是上线准确率。它证明我能用控制变量定位文档、检索、Prompt 和模型层问题,也知道何时应由规则或 Workflow 兜底。

LLM 负责基于证据总结,路径、字段与业务规则需要确定性校验。