展开本页目录
开始前准备什么
- 具备 Dify 工作区 owner/admin 权限,记录 Dify 与 provider 插件版本。
- 准备自己的 Key 和支持 Chat 的 glm-5.3;确认 Dify 运行服务器可访问该地址。
- 另有已验证 embedding 供应商,或明确选择适用的关键词检索索引;本页未验证 apizt 向量端点。
- 配置回答模型
- 准备索引
- 导入演示资料
- 单独测试检索
- 验收回答
回答、向量和重排使用不同职责
| 职责 | 输入与输出 | 验收对象 |
|---|---|---|
| LLM 回答 | 问题和命中段落 → 文字答案 | 事实、引用、拒答和费用 |
| Embedding | 段落 / 问题 → 固定维度向量 | 准确 ID、维度、索引和召回 |
| Rerank(可选) | 问题 + 候选段落 → 排序 | 对应协议、可用模型、排序结果 |
| 知识库检索 | 索引 + query → 段落 | 命中目标段落,参数在应用实际生效 |
- 职责
- LLM 回答
- 输入与输出
- 问题和命中段落 → 文字答案
- 验收对象
- 事实、引用、拒答和费用
- 职责
- Embedding
- 输入与输出
- 段落 / 问题 → 固定维度向量
- 验收对象
- 准确 ID、维度、索引和召回
- 职责
- Rerank(可选)
- 输入与输出
- 问题 + 候选段落 → 排序
- 验收对象
- 对应协议、可用模型、排序结果
- 职责
- 知识库检索
- 输入与输出
- 索引 + query → 段落
- 验收对象
- 命中目标段落,参数在应用实际生效
填写兼容插件字段,先测试回答模型
当前 Dify Cloud 文档使用 Integrations > Model Provider;自托管版本的菜单可能仍在工作区设置。安装当前 OpenAI-API-compatible 插件,模型类型选 LLM,按其表单填写。model name for API endpoint 应使用真实调用 ID;不要把展示名称直接发送给上游。
Dify LLM 表单字段
Provider: OpenAI-API-compatible
Model type: LLM
Model name: glm-5.3
model name for API endpoint: glm-5.3
API Base URL: https://api.apizt.com/v1
API Key: 在 Dify 凭据表单填写自己的 Key
Embedding / Rerank: 独立已验证供应商与准确 ID导入资料并保留索引来源
- 下载 dify-policy.md;它是本地演示规则,不能冒充 apizt 真实退款条款。
- 建立知识库并导入短文。使用向量索引时,先确认已验证 embedding ID、维度和凭据,完成索引后查看 chunk 内容。
- 更换 embedding 模型或维度时,按 Dify 当前索引流程重新建立索引,不让旧向量与新模型混用。
- 先不启用未核对 rerank;基础召回不通过时,先检查 chunk、query 和索引状态。
检索测试要先于答案测试
在知识库 Retrieval Testing 中分别问“未开封第 6 天能退吗”和“已开封但运输破损怎么办”。应命中不同条款。保留 query、chunk 和参数;检索测试中的修改为临时设置,确认后还要保存知识库与应用实际参数。
在 Chatflow 接通检索、Context 和来源,再验收三问
本例选 Chatflow,用已有 dify-policy.md 为演示售后规则回答问题。文档 ID 为 POLICY-DEMO-20261007,内容是虚构练习,不能作为 apizt 的真实退款条款。先在知识库测试检索,再连回答模型。
- 新建 Chatflow,添加 Knowledge Retrieval,选择刚索引完成的演示知识库;Query 绑定 User Input 的实际用户问题变量。菜单与变量名称按你的 Dify 版本核对。
- 添加 LLM,选择已经完成基础文字验证的回答模型。在 Context 变量选择器中选 Knowledge Retrieval.result,不能只把两个节点连上线就跳过该字段。
- 在系统提示中通过变量选择器引用 Context,要求只依据片段回答,给出文档 ID;片段未提供依据时说明“资料未说明”,不补充猜测。
- 将 LLM 的文字输出交给 Answer;在应用功能设置确认引用与来源显示。这里使用 Chatflow 的 Answer,常规 Workflow 应按自身输出节点配置。
- 逐问运行,分别保存检索片段、LLM 实际 Context、最终答案与来源;打开引用回读原文,不以引用图标出现或答案流畅作为通过条件。
| 测试问题 | 原文依据 | 通过条件 |
|---|---|---|
| 未开封样品签收第 6 天能否退货? | 未开封样品:7 天内申请,需演示订单号,运费由申请方承担 | 命中未开封条款,答复条件与原文一致,不遗漏适用前提 |
| 已开封但运输破损怎么办? | 已开封样品:签收后 48 小时内提交照片申请人工处理 | 命中破损例外,不误答所有已开封样品均可无理由退货 |
| 保修多久? | 演示文档没有规定保修时长 | 明确资料未说明,不从其他常识编出期限;不伪造支持该期限的引用 |
- 测试问题
- 未开封样品签收第 6 天能否退货?
- 原文依据
- 未开封样品:7 天内申请,需演示订单号,运费由申请方承担
- 通过条件
- 命中未开封条款,答复条件与原文一致,不遗漏适用前提
- 测试问题
- 已开封但运输破损怎么办?
- 原文依据
- 已开封样品:签收后 48 小时内提交照片申请人工处理
- 通过条件
- 命中破损例外,不误答所有已开封样品均可无理由退货
- 测试问题
- 保修多久?
- 原文依据
- 演示文档没有规定保修时长
- 通过条件
- 明确资料未说明,不从其他常识编出期限;不伪造支持该期限的引用
索引失败与回答失败分别排查
| 失败 | 检查位置 | 不要直接推断 |
|---|---|---|
| 索引 401 / 维度错误 | Embedding 供应商、模型和索引任务 | LLM 通过不代表向量通过 |
| 检索空结果 | chunk、索引状态、实际检索设置 | 改回答 prompt 不能修复未建立的索引 |
| 资料正确但答案编造 | context 绑定、提示、原应用日志 | 不要把幻觉算成业务知识 |
| 本机可用 Dify 失败 | Dify 服务 / 容器网络与凭据 | 本地 Shell 的 Key 不会自动进入容器 |
- 失败
- 索引 401 / 维度错误
- 检查位置
- Embedding 供应商、模型和索引任务
- 不要直接推断
- LLM 通过不代表向量通过
- 失败
- 检索空结果
- 检查位置
- chunk、索引状态、实际检索设置
- 不要直接推断
- 改回答 prompt 不能修复未建立的索引
- 失败
- 资料正确但答案编造
- 检查位置
- context 绑定、提示、原应用日志
- 不要直接推断
- 不要把幻觉算成业务知识
- 失败
- 本机可用 Dify 失败
- 检查位置
- Dify 服务 / 容器网络与凭据
- 不要直接推断
- 本地 Shell 的 Key 不会自动进入容器
知识库费用从建索引开始,三问通过后再扩大
当前 Dify Cloud 文档按套餐区分知识请求速率与向量存储,存储计算依据向量而非上传文件大小。限制仅用于相应 Cloud 套餐;自托管版本、插件与自己的资源需另行核对。不要为演示默认开启未验证的 rerank,也不要给聊天模型填猜测的 embedding ID。
2026-10-23 本页补充依据官方文档核对;演示资料与清单是操作教材,本轮没有执行原生知识库索引、检索或模型回答。站内 Dify 文档摘要/字段提取工具的旧 mock 验证,不是本页 RAG 的实际运行证据。先在自己的环境保存三问结果和全部费用,再决定是否导入更多资料。
| 阶段 | 可能产生的费用 | 扩大前核对 |
|---|---|---|
| 创建或重建知识库 | High Quality 索引的 embedding 调用与存储 | 准确向量模型、维度、分块和重建范围;Economical 为关键词索引,不把两种方式当相同配置 |
| 每次检索 | 查询向量化、可选 rerank 和知识请求用量 | 实际索引方式、重排是否启用及调用次数,测试请求也记入 |
| 生成回答 | 问题、命中片段、提示和历史的输入,以及输出和重试 | 回答模型的真实 usage 与实扣;只算用户问题长度会低估输入 |
| 运行 Dify | Cloud 套餐或自托管计算、向量库和维护 | 工作区当前存储及请求限额;apizt Key 不替代 Dify 套餐 |
- 阶段
- 创建或重建知识库
- 可能产生的费用
- High Quality 索引的 embedding 调用与存储
- 扩大前核对
- 准确向量模型、维度、分块和重建范围;Economical 为关键词索引,不把两种方式当相同配置
- 阶段
- 每次检索
- 可能产生的费用
- 查询向量化、可选 rerank 和知识请求用量
- 扩大前核对
- 实际索引方式、重排是否启用及调用次数,测试请求也记入
- 阶段
- 生成回答
- 可能产生的费用
- 问题、命中片段、提示和历史的输入,以及输出和重试
- 扩大前核对
- 回答模型的真实 usage 与实扣;只算用户问题长度会低估输入
- 阶段
- 运行 Dify
- 可能产生的费用
- Cloud 套餐或自托管计算、向量库和维护
- 扩大前核对
- 工作区当前存储及请求限额;apizt Key 不替代 Dify 套餐
怎样确认已经完成
- 索引与回答使用各自已验证的配置,记录 Dify、provider 插件版本及索引方式。
- 两条查询分别命中正确原文片段,Knowledge Retrieval.result 实际绑定 LLM Context。
- 已知问题的答案与来源一致,资料外问题明确说明未提供依据。
- 检索参数保存到实际知识库和应用,不能只保留测试会话设置。
- 分别记录索引、查询、可选重排、回答与重试费用;未执行结果保持未测。
常见问题
Dify 能对话,为什么知识库索引失败?
回答模型和 embedding 是不同调用。检查向量供应商、准确 ID、维度和索引日志;不要给 Chat 模型发送 embeddings 请求。
apizt 可以承担所有 RAG 模型吗?
需要分别证明 LLM、embedding 和 rerank 的端点与权限。本页仅核对回答 LLM 配置,向量与重排仍使用你已验证的独立服务。
检索测试改参数后,应用会自动使用吗?
当前官方文档说明测试页参数只作用于该次测试会话。需要把确认后的参数另行保存到实际知识库和应用。