Dify 本地实测:从部署到问答全记录
部署实录 · 解析实录 · 技术优势拆解 · 8 题 QA 抽测 · 51 题 DeepEval 精评 · 2026-09-08
| 74.3 综合分 · 七引擎第 2 | 7/8 抽测要点命中 | 96.3 忠实度 · 抗幻觉 | 74.0 上下文精度 |
···
RAG 引擎实测系列第四篇,写 Dify。选它是因为七引擎评测里有个耐人寻味的组合:综合分第一的 RAGFlow 和第二的 Dify,走的是两条相反的路。RAGFlow 靠「把文档理解得深」取胜,Dify 反过来——几乎不做文档理解,把宝押在「应用编排」上。
这篇的路线:怎么部署、解析跑得多快、它靠哪几层建立优势、8 题问答答得怎么样、51 题评测分数如何。每层尽量挂实测证据,不讲空话。
先说结论
Docker 跑通 Dify v1.17.0(Qdrant 向量库 + 百炼 qwen-plus),《西游记8000字》索引产出 9208 字、秒级完成。8 题抽测 7 题要点全命中,唯一没答上来的 Q8 战力排行嵌图正确拒答——不是幻觉,是文档理解缺失。51 题 DeepEval 综合74.3,七引擎第 2,忠实度 96.3、上下文精度 74.0 都在前三;短板是切题度 71.3、GEval 正确性 53.5——它检索稳、抗幻觉强,但「把答案组织得漂亮」不是强项。它和 RAGFlow 的分水岭就一道题:Q8 嵌图表格。
···
❶ 实测环境
| 项 | 配置 |
|---|---|
| 引擎版本 | Dify v1.17.0(Docker 部署) |
| 向量库 | Qdrant(VECTOR_STORE=qdrant) |
| 模型 | 百炼通义 · 主测qwen-plus,对照 qwen-flash |
| Embedding / Rerank | text-embedding-v4 / gte-rerank-v2 |
| 测试文档 | 《西游记8000字.pdf》——主体正文 + 妖怪表(Word 文本表格)+ 十大战力排行(嵌入图片) |
| 运行环境 | macOS 26.5 · Colima Docker · Apple Silicon · localhost:8888 |
测试文档刻意埋了两个「难定位」的信息点:Q4 妖怪表的「处置」列(文本表格)、Q8 战力排行的第一名(嵌在图片里)。前者看它能否还原文本表,后者看它有没有 OCR——这是检验「文档理解层」的试金石。
❷ 部署与配置:真实步骤实录
Dify 的部署比「跑通」多几个坑,都记下来,避免后来人再踩。
| 环节 | 关键动作 / 坑 |
|---|---|
| 源码准备 | git checkout v1.17.0固定版本,避免踩 dev 分支 |
| 镜像源 | 阿里云加速器对langgenius/*返回 403(只缓存 Docker Hub 官方镜像)→ 改用 DaoCloud 源拉取后docker tag重命名 |
| 容器重启循环 | nginx/ssrf-proxy 的 entrypointcp 补 -r;sandbox 缺 config.yaml 根因是 Colima 未挂载外置盘 →colima start --mount |
| 模型接入 | v1.x 走插件市场,安装Tongyi 插件+ 填 DashScope Key |
| 建库建应用 | 脚本化走 Console API(登录拿 csrf_token → 传文件 → 建库 → 建 chat 应用 → 跑 QA) |
| 头号坑 | 绑定知识库的agent_mode.tools 必须用旧标准单键格式{"dataset":{"id":...,"enabled":true}},传新格式会被静默跳过 → 表现是「答得好但 0 引用」 |
这个「答得好但 0 召回」的头号坑值得单独说一句:Dify 的配置链很灵活,灵活到传错一个字段格式不报错、只静默跳过,表面看 QA 正常,实际知识库根本没接上。排查时一定要盯引用(retriever_resources)是否真的返回,而不是只看答案像不像。
❸ 解析过程实录:快在哪,产出什么
Dify 的解析快到几乎无感,这是它和 RAGFlow 最直观的差别。
| 对比项 | Dify v1.17.0 | RAGFlow v0.27.1 |
|---|---|---|
| 解析器 | extractor 取文本层(PyPDFium2) | DeepDoc(OCR/版面/TSR 串联) |
| 图片处理 | 占位符,不 OCR | OCR + TSR |
| 解析耗时(本 10 页 PDF) | 秒级 ~ 分钟级 | OCR ≈478s |
| 本次产出 | word_count = 9208 | 23 chunk + 256 实体 + 90 关系 |
快的代价写在明面上:Dify 假设文档「已经能被提取成干净文本」,PDF 只要有文本层就直接抽;图片则被抽成一个只含 URL 的占位符——内嵌位图会被存成文件、登记进库,但占位符本身不 OCR、不带任何文字信息,追加在该页文本末尾,对检索等价于透明。所以《西游记8000字》里那张「十大战力排行」图,最后只以一条这样的 URL 进了索引:Q8 命中的最相关 chunk 分数仅 0.27,答不出内容。
版本口径:PDF 抽图是v1.12.0 才引入的——在它之前(≤ v1.11.0)PDF extractor 走 pypdf、只取文本层,图片直接丢弃、连占位符都没有;v1.12.0 起改用 pypdfium2 并新增_extract_images(),才有了占位符。本次实测的 v1.17.0 属后者(源码pdf_extractor.py第 182 行,page.get_objects(filter=FPDF_PAGEOBJ_IMAGE))。
它也有补救口——可选 Unstructured 作为 ETL 供应商做更细的分块,但那解决的是「切得更细」,不是「看得懂版面」,和 RAGFlow DeepDoc 的表格结构识别(TSR)仍是两回事。
❹ 技术优势:平台编排 + 混合检索
先把定位摆正:Dify 本质是LLM 应用编排平台(LLMOps),RAG 是它内建的 Knowledge 能力,而不是独立 RAG 引擎。它真正的主场不在「把文档理解得多深」,而在「把 RAG 当积木编排」。它的 RAG 拆开是两条流水线——一条管入库(chunk pipeline),一条管问答(query pipeline),都是经典向量路线:
索引侧 · CHUNK PIPELINE
文档入库:从文件到「可检索的 chunk」
① 文档上传
PDF / Word / 文本 → extractor(PyPDFium2)抽文本层 + 抽内嵌位图;图片存为文件,随后以占位符追加在该页文本末尾
↓
② 分块
doc_form = text_model / parent_child / qa_model;process_rule 走 automatic 或自定义分隔符与长度
↓
③ 向量化
high_quality 走 text-embedding-v4;economy 走关键词索引,0 LLM 调用
↓
④ 落库
向量 + chunk 元数据写入 Qdrant;本次实测 word_count = 9208
图 1 · 索引侧链路(chunk pipeline)
查询侧 · QUERY PIPELINE
一次问答:从提问到带引用的回答
① 用户提问
进入 Chat 应用(绑定知识库,temperature=0.1)
↓
② 双路召回
语义检索(text-embedding-v4 向量)+ 全文检索(关键词);retrieval_model=multiple 支持多知识库 N-to-1 并发
↓
③ 融合
hybrid_search 把语义与关键词两路结果合并
↓
④ 重排
gte-rerank-v2 统一重排,截取 top_k = 8(实测每题稳定返回 8 条)
↓
⑤ 生成 + 引用
LLM 生成回答,附 retriever_resources 段落级引用 + 分数(可逐条核验)
图 2 · 查询侧链路(query pipeline)
再看账:Dify 的增量成本结构
拆完两条链路,接着算账。Dify 走的是纯向量索引,没有图谱那类需要全局重建的结构,所以它的增量成本结构比 RAGFlow 简单得多——新增只花在新文档自己身上,删除也能定向清掉:
| 资产 | 是否重新生成 | 开销 |
|---|---|---|
| 存量文档的 chunk 与向量(Qdrant) | 不动 | 0 |
| 存量索引的全局结构 | 无需重建 | 0(无图谱,不存在全局结构重推) |
| 新文档解析(extractor) | 重新生成 | ∝ 新文档页数(实测 10 页 PDF:秒级 ~ 分钟级) |
| 新文档分块 + 向量化 | 重新生成 | ∝ 新文档字数(embedding 调用;economy 模式为 0 LLM) |
和 RAGFlow 那笔账对照着看更清楚:RAGFlow 一开图谱,新增要「增量补图」,删除还无法反向差分、只能整库重推;Dify 的结构里没有这种全局依赖,增和删都只作用在目标文档上,边际成本恒定——这是纯向量路线最直接的红利。
全链路开销总表
| 环节 | 支持情况与损耗形态 |
|---|---|
| 索引 · economy(关键词) | 0 LLM 调用,只做关键词索引,索引成本最低 |
| 索引 · high_quality(本实测) | 纯 embedding,与语料规模线性、极低 |
| 索引 · qa_model / 父子分块 | 额外 LLM 生成侧成本(造问答对 / 生成父块),与语料规模正相关 |
| 增量添加文档 | 支持:只对新文档解析 + 切块 + 向量化,存量不动,边际成本不变 |
| 增量删除文档 | 纯向量结构可定向删(文档删除连带其 chunk 与向量),无需整库重推 |
| 查询阶段 | 每题 1 次 embedding + 1 次 rerank + 1 次生成;实测每题 1–5s(Q1–Q8 依次 5/2/1/2/4/1/5/1 秒),稳定返回 8 条重排引用 |
一句话:Dify 的账本很干净——只付 embedding,增删都只碰目标文档;它的缺口不在成本,而在「图片表格里的信息抠不出来」那层能力,下一节的 Q8 就是落点。
口径说明:本次实测为单文档(8000 字)、单知识库;多文档规模下的增量增删未做破坏性实测,上表「删除」一行按索引机制结构描述,非本次实测数据;查询耗时取自 run log 逐题时间戳。
这两条链路的每个节点都像是「可插拔的零件」。真正拉开它和「单引擎」差距的是编排层:Chat / Agent / Workflow 三种应用形态,检索、重排、LLM、条件分支都能拖拽编排——这是「把 RAG 当平台做」的思路。下面是它和 RAGFlow 的逐项对照:
| 维度 | Dify v1.17.0 | RAGFlow v0.27.1 |
|---|---|---|
| 文档理解 | extractor 取文本层,图片占位符 | DeepDoc 多模型串联(OCR/版面/TSR) |
| 知识图谱 | 无 | GraphRAG light(256 实体/90 关系) |
| 混合检索 + rerank | ✅ hybrid + gte-rerank-v2 | ✅ 向量+BM25 融合 + gte-rerank-v2 |
| 应用编排 | 平台级(Chat/Agent/Workflow/插件生态) | 问答为主,编排偏弱 |
把上面这几层机制对应到实测证据,一张表说清——强在哪、弱在哪,都能在下一节的 8 题里找到落点:
| 机制 | 解决的问题 | 实测证据 |
|---|---|---|
| 平台编排层(Chat / Agent / Workflow + 插件) | RAG 只做一次性问答、难以复用 | 脚本化走 Console API 建库建应用;同一知识库可被多应用挂载复用 |
| extractor 直取文本层 | 索引慢、解析成本高 | 10 页 PDF 秒级~分钟级完成;word_count=9208;high_quality 只付 embedding 成本 |
| 混合检索 + gte-rerank-v2 重排 | 单一向量召回不准 | 上下文精度 74.0(第 2);每题稳定返回 8 条重排引用;Q5 首条引用即妖怪表 chunk(0.74) |
| 段落级引用(retriever_resources) | 回答不可核验、幻觉难防 | 忠实度 96.3(第 3);Q8 无据可查时正确拒答「知识库中未提供相关信息」 |
| 无文档理解层(短板) | 图片 / 扫描件里的信息取不出来 | D8 战力图 29/100/28/38/8 全线塌、Q8 只能拒答;文字表格(Q4「处置」列)反而正常 |
❺ 8 题抽测:7 题命中 + 1 题正确拒答
主测模型 qwen-plus,8 题里 7 题要点全命中,唯一没答上的 Q8 是「正确拒答」——这正是检验文档理解层的分水岭。
| # | 题目 | Dify 实测(qwen-plus) | 判定 |
|---|---|---|---|
| Q1 | 孙悟空的师父是谁?住哪? | 菩提祖师(灵台方寸山)+ 唐三藏 + 观音,三重师徒 | ✅ |
| Q2 | 金箍棒多重?哪得的? | 一万三千五百斤;龙宫 | ✅ |
| Q3 | 取到多少卷真经? | 五千零四十八卷 | ✅ |
| Q4 | 黄袍怪身份?如何处置? | 奎木狼下凡;天庭召回罚烧火——文本表格「处置」列可召回 | ✅ |
| Q5 | 主人是观音的妖怪有哪些? | 黑熊精、红孩儿、灵感大王、赛太岁,共 4 位 | ✅ |
| Q6 | 铁扇公主为何不借扇? | 红孩儿被观音收为善财童子,怀恨在心 | ✅ |
| Q7 | 红孩儿主人是牛魔王吗? | 不是;区分「生父」与「主人/后台」列语义,主人是观音——反事实抗幻觉成立 | ✅ |
| Q8 | 战力排行(嵌图)第一是谁? | 「知识库中未提供相关信息」 | ⚠️ 正确拒答 |
三个值得圈出来的点:
**① Q4 文本表格能召回。**Dify 的 extractor 对 PDF文本层里的表格还原足够好,所以「处置」列能答对——它的短板只在图片型内容,不在文本型表格。
② Q8 是「能力缺失」不是「幻觉」。战力排行图只以一条不含语义的图片 URL 占位符进索引,等于检索不到,于是拒答——这个抗幻觉行为是对的,但它暴露的缺口是硬的:换 RAGFlow DeepDoc(OCR+TSR)在同题直接命中「元始天尊」,这是两引擎文档理解层的实测分水岭。
**③ 生成模型质量会放大短板。**换 qwen-flash 对照后,Q5 误列「青牛精」(其主人是太上老君),表格列对齐出错、Q7 表述偏弱;换回 qwen-plus 则稳。说明这类「表格语义对齐」题,生成模型的强弱会直接决定对错。
❻ 51 题 DeepEval 精评:74.3,七引擎第 2
抽测看的是「答没答对」,精评看的是「答得多好」。用 DeepEval(LLM-as-judge,评委模型与被测引擎相互独立)对 51 题统一打分,Dify 的五项指标如下:
| 指标 | 得分 | 水位 | 排名 |
|---|---|---|---|
| 回答切题度有没有紧扣问题、答非所问 | 71.3 | 第 5 | |
| 忠实度(抗幻觉)是否照着检索原文答,不瞎编 | 96.3 | 第 3 | |
| 上下文精度有用片段是否排在最前、无杂质 | 74.0 | 第 2 | |
| 上下文召回关键资料有没有漏查 | 76.5 | 第 5 | |
| GEval 正确性综合判定答案是否正确 | 53.5 | 第 2 |
综合分 74.3,七引擎第 2。这张分数表的读法很清楚:稳的项几乎打平榜首——忠实度 96.3 对 RAGFlow 的 96.7 只差 0.4,上下文精度 74.0、GEval 正确性 53.5 都排第 2,说明它「混合检索 + gte-rerank-v2 + 段落级引用」的主链路是可靠的。拉的项在「输出组织」而不在「检索」——切题度 71.3 只到第 5、上下文召回 76.5 也是第 5:链路很稳,但默认的 prompt 与生成配置偏「平」,答得全却不够聚焦。Dify 的真正差距在生成端打磨,而不是检索能力本身。
再把 51 题按 D1–D8 拆开,看每个维度五维指标的高低,把「强在哪层、弱在哪层」落到具体维度:
| 维度 | 切题度 | 忠实度 | 精度 | 召回 | 正确性 |
|---|---|---|---|---|---|
| D1 基础事实 | 83 | 100 | 91 | 100 | 91 |
| D2 跨段多跳 | 90 | 100 | 100 | 100 | 76 |
| D3 全局摘要 | 84 | 87 | 90 | 100 | 13 |
| D4 实体关系 | 84 | 100 | 70 | 100 | 48 |
| D5 结构化回溯 | 89 | 85 | 100 | 67 | 40 |
| D6 反事实 / 抗幻觉 | 67 | 100 | 55 | 50 | 50 |
| D7 妖怪表(表格) | 91 | 91 | 99 | 88 | 88 |
| D8 战力图(图片) | 29 | 100 | 28 | 38 | 8 |
这张矩阵把 Dify 的能力边界画得很清楚:强项全在「文本 + 局部精确」——D1 基础事实、D2 跨段多跳、D7 妖怪表几乎全线绿(D7 是 91/91/99/88/88),正是「extractor 取文本层 + 混合检索 + rerank」的直接兑现;弱项全在「跨块重组 + 结构 + 视觉」——D3 全局摘要正确性只有 13、D4 实体关系 48、D5 结构化回溯 40,都是需要看遍全文重新组织的题,chunk 级检索拼不出全貌;D8 战力图最惨(29/100/28/38/8),唯一满分的忠实度还是「拒答」给的——不是答对,是无 OCR 可取。对照 RAGFlow 的 D8(93/94/90/92/65)几乎全绿,这一张图,就是两代文档理解能力的实测分水岭。
❼ 实测结论
Dify 是「平台型 RAG」的代表,和 RAGFlow 走了相反的路。把它和 RAGFlow 的分工说清楚:
**Dify 的主场在编排,不在文档理解。**它是 LLMOps 平台,RAG 只是内建能力之一。它的价值是「快速把 RAG 搭成 Chat / Agent / Workflow」,用插件生态接各种模型、拖拽式编排,解析则走快而浅的 extractor 路线——索引秒级、成本极低,但图片和复杂版面是硬缺口。
**它的检索主链路是可靠的。**混合检索 + gte-rerank-v2 重排 + 段落级引用,忠实度 96.3、上下文精度 74.0,抗幻觉底子很硬;短板在生成端的切题度和正确性,需要靠 prompt 和模型选型去补。
**一句话选型:**要「快速搭应用 + 多能力编排 + 低成本索引」,选 Dify;要「把藏在表格和图片里的信息抠出来」,选 RAGFlow。两者不替代,只分工——分界线就是那道 Q8 战力排行图。
最后
我在一线科技企业深耕十二载,见证过太多因技术更迭而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。
我整理出这套 AI 大模型突围资料包:
- ✅AI大模型学习路线图
- ✅Agent行业报告
- ✅100集大模型视频教程
- ✅大模型书籍PDF
- ✅DeepSeek教程
- ✅AI产品经理入门资料
完整的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
为什么说现在普通人就业/升职加薪的首选是AI大模型?
人工智能技术的爆发式增长,正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议,到全国两会关于AI产业发展的政策聚焦,再到招聘会上排起的长队,AI的热度已从技术领域渗透到就业市场的每一个角落。
智联招聘的最新数据给出了最直观的印证:2025年2月,AI领域求职人数同比增幅突破200%,远超其他行业平均水平;整个人工智能行业的求职增速达到33.4%,位居各行业榜首,其中人工智能工程师岗位的求职热度更是飙升69.6%。
AI产业的快速扩张,也让人才供需矛盾愈发突出。麦肯锡报告明确预测,到2030年中国AI专业人才需求将达600万人,人才缺口可能高达400万人,这一缺口不仅存在于核心技术领域,更蔓延至产业应用的各个环节。
资料包有什么?
①从入门到精通的全套视频教程⑤⑥
包含提示词工程、RAG、Agent等技术点
② AI大模型学习路线图(还有视频解说)
全过程AI大模型学习路线
③学习电子书籍和技术文档
市面上的大模型书籍确实太多了,这些是我精选出来的
④各大厂大模型面试题目详解
⑤ 这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
所有的视频教程由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势,构建起"前沿课程+智能实训+精准就业"的高效培养体系。
课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!
应届毕业生:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能 突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓**