本地部署 RAGFlow 时,很多人卡在选镜像这一步:官方仓库里同时有完整版和 slim 版,体积差得挺明显,但装上以后哪个功能会缺、检索效果会不会受影响,页面说明往往一句话带过。这篇不比较跑分和具体数字,只给一套判断顺序:先看清两版砍掉了什么,再对着自己的文档量和机器规格做取舍,最后给你一份装完之后的验证清单。
本地部署 RAGFlow 时,很多人卡在选镜像这一步:官方仓库里同时有完整版和 slim 版,体积差得挺明显,但装上以后哪个功能会缺、检索效果会不会受影响,页面说明往往一句话带过。先别急着拉镜像,把两版砍掉的东西看清楚,再对着自己的文档和机器做取舍,最后按一份验证清单确认没装歪,这条路比反复重拉镜像省时间。
这篇不比较跑分和具体数字,也不替你拍板选哪版。给的是判断顺序:先看两版差异落在哪个环节,再按文档类型和机器规格分流,换版后按固定顺序验证。哪一步不适用,文中也会写清楚。
两版到底差在哪:先从镜像分层看
两版用的是同一套检索编排代码,差别主要落在镜像里预置了什么。完整版把文档解析、OCR、版面识别、向量模型相关的一整套依赖和预置模型文件都打进去了;slim 版砍掉的主要就是这类重依赖,核心流程没变。所以体积、首次拉取时间、磁盘占用会明显不同,具体数值到 /models/deploy 按你选的模型和量化口径算一遍,比记某个固定数字靠谱。
实际影响集中在文档进料环节。扫描件、复杂版式 PDF、图片型表格这类内容,slim 版往往要你自己在外面补解析服务,或者改成先转文本再入库。核心问答链路本身不因为换了 slim 就断,断的是「脏文档进来能不能被吃干净」这一环。
| 对比项 | 完整版 | slim 版 |
|---|---|---|
| 镜像内预置依赖 | 解析、OCR、版面识别、预置模型文件一套齐全 | 只保留核心运行依赖,重依赖和模型文件基本剥离 |
| 镜像体积与拉取 | 偏大,首次拉取和磁盘占用更明显 | 偏小,重建容器、多机分发更轻快 |
| 文档进料能力 | 扫描件、复杂版式可直接处理 | 纯文本、规整电子版更稳,复杂版式需外接解析 |
| 适合的部署节奏 | 机器固定、文档杂、想少接组件 | 磁盘紧张、频繁重建、文档干净 |
| 资源压力分布 | 解析占 CPU 和内存,跑起来偏重 | 本体轻,但外接解析后总占用未必更低 |
按场景选:什么情况用 slim,什么情况别省这一步
判断依据不是哪版更强大,而是你的进料文档长什么样、愿不愿意为解析多接一个组件。下面按几种常见情况分流,对上号就直接选,不用再纠结。
- 文档以纯文本、Markdown、结构规整的电子版 PDF 为主,机器磁盘紧张或要频繁重建容器:slim 版更省事,拉起也快
- 手里大量扫描件、合同、图纸、双栏排版论文,且不打算外接解析服务:别选 slim,否则解析质量掉下来,你会误以为是模型不行
- 一台机器上跑好几个服务、资源本来就挤:slim 是合理折中;但这台机器只跑 RAGFlow 时,省下来的空间意义不大
- 知识库规模很小、文档又干净:两版差别基本感知不到,按部署便利性选就行
- 团队多人协作:先统一镜像标识再动手,混用两版会让同一份文档在不同人那里解析结果不一致
有一类情况两版都不适用:你的文档本身就是加密、损坏或排版极乱的文件,换哪版都解析不好,得先在源头上整理文档,再回来选镜像。机器规格也是另一条约束,先去 /compute/sizing 按模型算一遍内存和显存,别等到容器起来才发现在 OOM。
换版本或换镜像后的验证顺序
换版不是拉下来重启就完事。照下面这个顺序走,能在十分钟内判断这次换版是成功还是埋了雷。
- 确认容器与依赖状态看容器是否正常起来、日志里有没有依赖缺失或模型加载失败,这一步没过就别往下走。
- 确认已有知识库还能问答拿现有知识库问两三个老问题,确认服务链路是通的,不要一上来就灌新文档。
- 挑代表性老文档重新解析选几份有表格、目录、页眉页脚的文档重跑解析,重点看结构有没有被切碎,这比看整体成功数更能暴露问题。
- 对比同批问题的召回内容不只看最终答案对不对,要看召回的片段是不是同一批;召回变了说明进料或切片行为变了,答案对错有很大随机性。
- 记进配置变更记录写下镜像标识、向量模型、切片参数,下次出问题才有得回溯,不然只能靠回忆。
验证阶段最容易骗自己的是「问答能返回」。slim 版少的是解析能力,不是报错,它可能安安静静地把一份扫描件解析成空内容,问答仍给出一段看着合理的回答,实际是模型在硬编。
容易踩的坑与不适用的情况
把「跑得起来」当成「跑得对」是最常见的坑。下面几条按排查优先级排,遇到换版后效果不对,从上往下查。
| 现象 | 优先怀疑 | 下一步动作 |
|---|---|---|
| 扫描件问答变差 | 解析被跳过或产出空内容 | 拿原始文档重跑解析,看产出文本是否为空 |
| 召回内容明显变少 | 切片行为随版本变化 | 对比换版前后同一文档的切片数量和边界 |
| 容器频繁重启 | 资源不足或依赖缺失 | 回到 /compute/sizing 重算资源,再看日志 |
| 不同同事结果不一致 | 本地镜像标识不同 | 统一镜像标识后重跑同一份文档 |
| 纯文本库一切正常 | 本来就感知不到差异 | 不用处理,按部署便利性维持现状 |
有一点要提前想清楚:不做解析的版本对 CPU 和内存压力小,但一旦你外接了解析服务,总资源占用未必更低,可能还多出一层维护成本。所以 slim 的「轻」是有条件的,条件是你的文档够干净、或者你愿意另接一套解析。
选镜像不是选强弱,是选你的文档配得上哪一套解析能力。
最后提醒一句:具体体积、资源占用这类数字会随镜像构建方式变,别凭记忆下判断,统一以站内当时的页面口径为准去核对,团队里也统一用同一份口径沟通。
下一步想知道自己这台机器和这批文档到底该配哪一版、跑起来需要多少资源,去站内部署与算力页面按你的模型和文档类型走一遍估算,比问别人「你装的哪版」有用得多。→常见问题
slim 版是不是功能被阉割了?
不能这么理解。它砍的主要是文档解析那一层重依赖和预置资源,检索、问答这条主线是同一套代码。区别体现在「你的文档能不能被正确读进去」,而不是「问答能力被降级」。所以判断标准应该是你的文档类型,而不是功能列表长度。
只跑纯文本知识库,还需要用完整版吗?
大多数情况下不用。文档本身是干净文本或结构化格式时,slim 版省下的空间和拉取时间更划算。但要注意两点:一是未来可能会加扫描件,二是别人往同一个库里塞文档。如果这两条里有一条成立,选完整版能省掉以后返工的麻烦。
装完怎么判断选对了?
做一次小规模对照:拿几份最能代表你业务的文档灌进去,问同一批问题,看召回片段里有没有关键页。解析没问题、召回也命中,说明选型成立;如果答案答非所问但容器一切正常,先去查解析结果是不是空的,再怀疑检索参数。