make init 只生成缺失的 .env,需自行填写 LLM_API_KEY 等模型配置才能跑通;更换 Embedding 模型后必须重建已有知识库索引;可选解析器需单独用 make up-docling 等命令启动,且 Docling 的 CPU/GPU profile 共享 5001 端口不能同时启动。

MimirQ
skygazer42Apache-2.0活跃维护中文优先的企业级 RAG 知识库,把文档解析、切块、混合检索、重排、引用溯源、知识图谱和评测串成一条可控流水线,还能直接接入 Dify。
中文优先的企业 RAG 知识库:可控解析、治理、切块、混合检索、重排、引用、图谱、评测与 Dify 接入。
git clone --depth 1 --single-branch https://github.com/skygazer42/MimirQ.git
cd MimirQ
make init
make up-web
make api-pingDocker 一键启动要求至少 4 核 CPU / 16 GB RAM / 50 GB 磁盘;可选解析器按需占用 GPU,如 PaddleOCR-VL 建议预留 10 GiB 显存、olmOCR 建议 48 GiB 级显存,Docling 已在 RTX 3070 Ti 8 GiB 上验证;低资源模式可用 make up-lite 以 Chroma/FAISS 替代 Milvus。
中文优先的企业 RAG 知识库,让解析、检索、引用每一步都可检查、可替换、可回归
中文优先的企业级 RAG 知识库,把文档解析、切块、混合检索、重排、引用溯源、知识图谱和评测串成一条可控流水线,还能直接接入 Dify。
核心能力
- 按文档类型切换 30 种解析后端,覆盖 OCR、版式、表格与公式
- 提供 86 种切块策略,支持递归、语义、父子、RAPTOR 与可视化预览
- 组合 BM25、向量检索与 13 类重排器做混合召回
- 用 Golden 题集与质量门禁做回归评测,指标含 Recall 与 MRR
- 原生兼容 Dify External Knowledge API,可作为其外部知识层
容易踩的坑
- v1.0.0MimirQ v1.0.0最新正式版2026-07-28 · 2026-07-28 11:36 UTC
[!IMPORTANT] MimirQ 的首个稳定开源版本:提供业务无关、可审计、可回归的知识库能力层,并正式支持本机源码与 Docker Compose 两种部署路径。
发布提交:
3281051aa7c8核心能力
- 多租户数据访问采用 fail-closed 边界,文档、Dataset、KG、评测和分析链路统一执行作用域校验。
- 多知识库检索按 embedding runtime 与 embedding space 自动分片,避免不同向量空间混检。
- 上传、入库、检索和聊天链路具备分布式锁、幂等回读、并发限流与背压能力,适用于多实例部署。
- 支持本地或 OpenAI 兼容的 LLM、Embedding 与 Reranker,能力层不依赖特定政务或行业规则。
- 证据 capsule、must-recall 与 provenance 门禁采用真实回归证据,证据缺失或不一致时 fail-closed。
集成与部署
- 支持 Dify External Knowledge API 与 HTTP 工作流两种接入方式。
- README 提供 Docker-first 与 host-source-first 两套快速开始流程。
- Windows GNU Make 下的
make init直接调用 Python 初始化脚本,不再把 POSIX 注释交给cmd.exe执行。 - Docker 镜像保持非 root、只读源码与生产依赖分层;CI 覆盖镜像构建和运行时冒烟。
- 发布门禁可离线运行,不依赖外部模型凭证或 self-hosted runner 的残留状态。
发布验证
- 后端全量回归:
1631 passed, 10 skipped。 make verify:Python lint、策略校验、API 契约/覆盖率/类型漂移、文档链接、前端 lint/typecheck 与 compileall 全部通过。- Windows 兼容模拟与干净临时目录初始化通过,
.env、web/.env.local及随机密钥均正确生成。 - 严格检索证据门禁:must-recall
2/2、provenance2/2,通过率均为1.0。 - 800 题真实链路与 Dify 路径的结果、口径和时延记录见基准文档。
升级说明
- 新部署从
.env.example复制配置,并在生产环境替换所有默认密钥、密码和认证参数。 - 更换 Embedding 模型后必须重建对应知识库索引,不能复用旧 embedding space。
- 并发重复上传去重仍由
UPLOAD_DEDUP_ENABLED显式控制,请按业务幂等需求开启。 - 领域路由和业务规则应放在集成或插件层,不应写入 MimirQ 通用检索核心。
已知非阻塞项
- Starlette 与 LangChain Milvus 旧适配器仍有上游弃用警告,不影响当前受支持路径。
- 真实 Kubernetes 集群安装和外部模型服务 SLA 属于部署环境验证,不作为本次核心发布阻塞项。
完整变更
- v0.8.0MimirQ v0.8.0 · 通用知识能力与并发安全2026-07-28 · 2026-07-28 11:36 UTC
查看更新说明
稳定版本 ·
2026-07-26· 提交96d13b54f524历史版本记录;验证信息以该版本发布时状态为准。
版本说明
主要更新
- KG 查询作用域改为 fail-closed,并支持大规模 ID 分批查询与稳定去重。
- 上传与 ingestion run 增加数据库唯一约束、分布式锁和幂等回读;并发及多实例请求可复用同一赢家。
- Milvus 删除生命周期、爬虫 SSRF/DNS 重绑定防护和生产配置校验得到加固。
- 前端鉴权、本地缓存与 IndexedDB 按用户/租户作用域隔离,阻止切换作用域后的迟到写入。
- 检索配置保留部署指定的本地 reranker,避免默认 profile 意外退回远程模型下载。
- Docker 验证保持非 root、只读源码和精简生产镜像,补齐真实上传到引用证据的浏览器闭环。
验证结果
- 后端全量 1218 passed,最终源码守卫 77 passed。
- 前端 70 个文件、200 项测试通过。
- make verify、make verify-docker、make audit 通过。
- 双 API 实例同键 singleflight、并发重复上传、租户隔离和 Docker live browser smoke 通过。
- 当前本地 LLM、embedding、reranker 调用链验证通过。
兼容说明
UPLOAD_DEDUP_ENABLED 默认仍为 false;需要并发重复上传幂等时请显式开启。
完整变更
- v0.7.16MimirQ v0.7.16 · General knowledge isolation and backpressure2026-07-28 · 2026-07-28 11:36 UTC
查看更新说明
稳定版本 ·
2026-07-25· 提交ea9237e040cf历史版本记录;验证信息以该版本发布时状态为准。
版本说明
核心知识能力
- Persist dataset-scoped embedding identity and maintain vectors in the correct historical and active collections.
- Isolate connector ACL, soft-disable, and sidecar artifacts by connector configuration with safe legacy migration.
- Batch dataset authorization and cap generic retrieval scopes to prevent N+1 access checks and unbounded requests.
- Enforce worker concurrency without final-attempt bypass; distinguish task_concurrency_busy from task_coordination_unavailable and persist terminal failures safely.
Frontend and deployment:
- Load history deep links outside the first page and hide actions for rejected or deleted conversations.
- Discover background tasks globally at bounded intervals while failing closed on authentication routes.
- Add production preflight targets and consistent host/Docker guidance.
- Move Changzhou-specific Make defaults and targets behind the optional pipeline plugin boundary.
验证结果
- Backend: 1058 passed, 5 environment-gated skips.
- Frontend: 171 passed; lint, typecheck, production build, and bundle budget passed.
- make verify and four Docker Compose configuration checks passed.
- Current-source host API/frontend smoke and deployed Docker API/frontend smoke passed.
Known limits:
- Helm lint/template was not run because Helm is unavailable.
- Environment-gated RAG quality and database integration suites remain skipped.
- React Compiler reports three non-blocking TanStack Virtual compatibility warnings.
完整变更
- v0.7.15MimirQ v0.7.15 · Concurrent knowledge workflow correctness2026-07-28 · 2026-07-28 11:36 UTC
查看更新说明
稳定版本 ·
2026-07-25· 提交f2c12aff2695历史版本记录;验证信息以该版本发布时状态为准。
版本说明
核心变更
- Fail closed when connector, upload, or URL-ingest queue handoff cannot be confirmed.
- Preserve retryable schedule state with compare-and-set claims and rollback on handoff failure.
- Scope document retry cleanup and retrieval caches by dataset, pipeline, and active version.
- Keep tenant asset and conversation access boundaries explicit.
- Move synchronous database handlers off the event loop and assemble connector routes lazily.
Frontend and maintenance:
- Remove duplicate server-side history/auth data helpers.
- Suppress task-center polling on authentication routes.
- Expand API contract scanning and test inventory coverage.
验证结果
- Backend: 1021 passed, 5 environment-gated skips.
- Frontend: 159 tests passed; lint, typecheck, and production build passed.
- Host and Docker API/frontend smoke tests passed.
- make verify passed.
Known limits:
- Official backend cold image build still requires access to pinned Hugging Face assets.
- React Compiler reports three non-blocking TanStack Virtual compatibility warnings.
完整变更
- v0.7.17MimirQ v0.7.17 · 身份与通用知识边界加固2026-07-28 · 2026-07-28 01:18 UTC
查看更新说明
稳定版本 ·
2026-07-25· 提交e0bb57024e34历史版本记录;验证信息以该版本发布时状态为准。
版本说明
沿用 v0.7.x 发布序列,集中修复共享知识运行时、认证租户边界、版本元数据和公共文档一致性。
核心更新
- 集中执行租户文档访问控制,并对未归属文档保持 fail-closed。
- 按 embedding space 隔离运行时分片,并统一限制检索并发与背压。
- 邮箱与用户名发生歧义时拒绝登录,不再依赖数据库返回顺序。
- JWT 租户声明只选择启用成员关系和启用租户。
- 切换账号或退出登录时清理浏览器中的旧租户作用域。
- 包版本、FastAPI 元数据、根接口和生成 OpenAPI 统一为 0.7.17。
- 多语言 README 与中文首页的能力数字、生产命令和 API 导航保持一致。
- 资产鉴权、缓存语义、治理预设、LlamaIndex 与 MinIO 指南同步到当前实现。
验证结果
- 后端 1097 passed,5 个外部/集成门禁按配置跳过。
- 前端 177 passed。
- 版本一致性回归测试 6 passed。
- make verify、OpenAPI 漂移、文档链接、敏感信息和治理预设唯一性检查通过。
- 隔离 Next.js 生产构建和 bundle budget 通过。
维护说明
保持文档 ACL、embedding 分片调度和身份解析位于统一能力边界;发布版本只修改 app.version 单一来源;多语言与运维文档必须同步更新。
完整变更
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
简体中文 · English · 日本語 · 한국어
为什么做 MimirQ
企业知识库真正难的,不是把文档向量化,而是让错误可定位、策略可替换、质量可回归。
| 可检查 | 可替换 | 可回归 |
|---|---|---|
| 查看解析、Chunk、召回、重排与引用证据 | 按文档和场景切换解析器、索引、检索与模型 | 用 Golden 题集、质量门禁和 Trace 守住版本质量 |
MimirQ 起源于真实的政务知识库交付。回答出错时,团队需要快速判断问题究竟来自解析、治理、切块、召回、重排,还是生成偏离引用。把整条链路藏在一个“上传并开始问答”的按钮后面,原型很快,长期交付却难以估算、验收和治理。
一条可控的企业知识流水线
数据评估→场景化解析→清洗治理→业务切块→向量 / 全文索引→混合召回→重排与引用→Golden 回归
真实项目应先抽样评估数据,再按材料选择解析器:复杂版式或扫描件可比较 MinerU / DeepDoc,公式、表格与版面结构密集的资料可评估 Docling,数字原生 Office 或纯文本可从 MarkItDown 等轻量路径开始。高风险资料仍需人工校验。
解析结果经脚本、规则 DSL 或插件治理后,再按标题、章节、业务记录或父子关系切块,而不是统一套用固定长度和重叠窗口。索引层可使用 Milvus 等向量库,并组合 BM25、向量检索与重排;上层应用可以是 Dify、LangGraph、PydanticAI 或一个简单 API 服务。
| 你的目标 | 更合适的选择 |
|---|---|
| 业务简单、流程稳定、低代码优先 | Dify、FastGPT 等应用平台通常更快 |
| 一体化使用 DeepDoc 与 GraphRAG | RAGFlow 是成熟选择 |
| 知识链路需要按业务替换、审计和回归 | 使用 MimirQ,或把它作为 Dify 的外部知识层 |
当前仓库覆盖 30 个解析后端、86 种切块策略、13 类重排器,并保留固定 800 题的实测证据。数字只是实现广度,核心是每一步都能检查输入输出、追溯引用与版本,并用 Golden 题集守住发布质量。完整方法见企业知识流水线设计准则。
产品界面
以下界面使用仓库内公开的政务插件演示样例生成,不含生产知识库数据。
更多界面与完整操作流程见用户指南。
快速开始
前置要求
- Docker 20.10+ 与 Docker Compose 2.0+
- GNU Make;Docker 一键启动另需 Python 3.9+ 生成配置
- 源码开发模式另需 Python 3.11+、Node.js 20+ 与 pnpm 10.26
- 至少 4 核 CPU / 16 GB RAM / 50 GB 磁盘
初始化
git clone --depth 1 --single-branch https://github.com/skygazer42/MimirQ.git
cd MimirQ
make init
make init 只创建缺失的 .env 和 web/.env.local,不会覆盖已有配置。编辑 .env,按部署场景填写:
- 默认模型调用:
LLM_API_KEY(必填) - 自定义 LLM:
LLM_API_BASE、LLM_MODEL - 独立 Embedding:
EMBEDDING_API_BASE、EMBEDDING_API_KEY、EMBEDDING_MODEL - 启用 Reranker:
ENABLE_RERANKER、RERANKER_API_BASE、RERANKER_API_KEY、RERANKER_MODEL - 自动创建首个管理员:
INITIAL_ADMIN_EMAIL、INITIAL_ADMIN_USERNAME、INITIAL_ADMIN_PASSWORD
字段取值、独立模型服务和管理员初始化规则见模型服务与首次管理员配置。
启动后如何创建数据集、上传解析、检查切块、验证检索和引用,以及后续治理、评测、Dify 与运维,见完整操作指南。
| 启动方式 | 适用场景 | 应用运行位置 |
|---|---|---|
| Docker 一键启动(推荐) | 首次体验、服务器部署 | 前端、API、Worker 与依赖服务均在容器中 |
| 源码开发模式 | 前后端开发、热更新调试 | .venv + pip 运行 API,pnpm 运行 Web;Docker 运行基础设施 |
方式一:Docker 一键启动
make up-web
make api-ping
启动后访问 http://localhost:3000;未预置管理员时,在页面注册首个账户。首次构建、代理、生产凭据和网络配置见 Docker Compose 部署指南。
停止使用 make down;清空持久化数据使用 make docker-reset;连同本项目服务镜像删除使用 make docker-purge。MimirQ 固定使用独立的 mimirq Compose 项目名,不会把同机 Dify 当成本项目;后两项不可恢复。Windows PowerShell、容器归属检查、旧版数据迁移、误删恢复和精确删除范围见 Docker Compose 部署指南。
按文档类型启用可选解析器
默认使用内置 DeepDoc。其他解析器仅在业务需要时启动:
| 文档场景 | 建议解析器 | 额外要求 | 启动命令 |
|---|---|---|---|
| 常规 PDF / Office / 文本 | 内置 DeepDoc | 无 | 无需额外容器 |
| 表格、公式与复杂版式,多格式 CPU 解析 | Docling Serve | CPU;独立重型镜像,不进入 MimirQ 主镜像 | make up-docling |
| 表格、公式、OCR 与复杂版式 GPU 解析 | Docling Serve CUDA | NVIDIA GPU;默认 CUDA 12.8 | make up-docling-gpu |
| PDF 转 Markdown,服务器无 GPU | Marker | CPU | make up-marker |
| 版面、表格与图片混合文档 | ETL4LLM | CPU | make up-etl4llm |
| 扫描件、OCR、复杂版面 | PaddleOCR-VL | NVIDIA GPU,建议预留 10 GiB | make up-paddlevl |
| 表格、公式与图片较多的 PDF | MinerU pipeline | NVIDIA GPU、首次下载模型 | make up-mineru |
| VLM 复杂 PDF | MinerU VLM | NVIDIA GPU,资源占用较高 | make up-mineru-vlm |
| 高精度 PDF OCR | olmOCR | NVIDIA GPU,建议 48 GiB 级显存 | make up-olmocr |
| 公式 / 表格 PDF 转 Markdown | MagicPDF | NVIDIA GPU | make up-magicpdf |
| PDF / 图片走外部视觉 OCR | Qianfan-OCR | 上游 URL 与 API Key,本地无需 GPU | make up-qianfanocr |
Docling 说明:重依赖与模型只存在于独立容器;CPU / GPU profile 共享 5001 端口,不能同时启动。GPU 镜像约 11.13 GB;本仓库已在 RTX 3070 Ti 8 GiB 上验证 PDF、DOCX、Markdown 表格和
ParserFactory无回退链路。源码开发命令、实测边界与 CUDA 配置见 Docling Serve 配置。
方式二:本地源码运行(Python venv + pip + pnpm)
这是常见的本地开发方式,无需 Conda。FastAPI 运行在 Python .venv 中,Next.js 由 pnpm 启动;Docker 只运行 PostgreSQL、Redis、Milvus 等基础设施:
make setup-host
make setup-host 会创建 .venv、执行 pip 与 pnpm 依赖安装、准备解析模型并启动 Docker 基础设施。默认使用 API 进程内后台任务,只需打开两个终端:
# 终端 1:FastAPI(热更新)
make backend
# 终端 2:Next.js(热更新)
make web
启用独立 Worker 的配置见模型服务与首次管理员配置。验证主机前后端:
make api-ping
结束主机进程后,执行 make infra-down 停止依赖服务。
服务地址
| 服务 | 地址 |
|---|---|
| 前端 UI | http://localhost:3000 |
| API 文档 | http://localhost:8000/docs |
低资源模式可使用
make up-lite,它用 Chroma/FAISS 替代 Milvus、免 MinIO,默认不含前端;适合验证 APIready与make core-e2e最小闭环。需要 UI 时另运行make web,或改用make up-web。外部 LLM/Embedding 调用仍需对应模型供应商密钥。
高级模型、解析器和代理配置见 .env.example。更换 Embedding 模型后必须重建已有知识库索引;更多平台与 Windows 步骤见开发文档,可选政务示例见插件说明。
Dify 接入
MimirQ 可作为 Dify 的可治理 RAG 层接入现有应用,不重复实现工作流画布。当前支持两种方式:
- External Knowledge API:Dify 负责编排与生成,MimirQ 负责文档治理、检索、重排、权限过滤和证据返回。
- Workflow HTTP 节点:Dify 负责自定义路由与参数,MimirQ 按指定知识范围返回证据和 Trace。
Workflow HTTP 节点
External Knowledge API
图中的地区路由来自可选示例插件;MimirQ 核心不内置地区、事项或行业规则。
Dify 标准外部知识库端点为 POST /api/v1/integrations/dify/retrieval;可选用 POST /api/v1/integrations/dify/conversation-turns 回传答案、引用与会话标识。knowledge_id 默认必须显式配置在 DIFY_EXTERNAL_KNOWLEDGE_MAP_JSON 中。配置见 .env.example,部署前校验见 readiness gate,实测结果见真实场景验证。
与 Dify、RAGFlow、FastGPT、AnythingLLM 和 LangChain 的功能对比
| 功能维度 | MimirQ | Dify | RAGFlow | FastGPT | AnythingLLM | LangChain |
|---|---|---|---|---|---|---|
| 文档解析 | 30 种解析后端:PDF、OCR、版式、表格、公式、VLM | Knowledge Pipeline;PDF、PPT 等常见格式 | DeepDoc;复杂版式、扫描件、MinerU / Docling | PDF、扫描件、表格、公式转 Markdown | PDF、TXT、DOCX 等文档管道 | Document Loaders 与第三方解析器集成 |
| 切块能力 | 86 种策略:递归、语义、父子、RAPTOR、Late Chunking;可视化预览 | 通用、父子、Q&A 与可编排处理 | 模板化切块;支持可视化人工干预 | 自动、手工、Q&A 与增强处理 | 文档管道自动分块 | Text Splitters;由应用代码组合 |
| 检索 / 重排 | Milvus / FAISS / Chroma + BM25 / SPLADE / ColBERT / LTR / RRF;13 种重排器 | 语义、全文、混合检索;可配置 rerank | 多路召回 + 融合重排 | 语义、全文、混合检索 + RRF + rerank | 多种向量库检索 + 来源引用 | Retriever / reranker 组件;自行编排 |
| 知识图谱 | 实体、关系、事件抽取;实体消解、社区发现与多跳检索 | 通过工作流、插件或外部服务接入 | 内建 GraphRAG | 通过工作流或外部服务接入 | 通过 Agent / Tool 外接 | 图数据库集成与自定义链路 |
| Agent / MCP | LangGraph Agent、Self-RAG / CRAG / FLARE;MCP client / server | Function Calling / ReAct Agent、工具与 MCP | Agentic Workflow、MCP、代码执行器 | Agent V2、工具、MCP 与 VM 执行 | No-code Agent Builder、MCP、定时任务 | Agents / LangGraph / MCP;代码优先 |
| 可视化工作流 | 无通用节点画布;专注 RAG 调试、治理页面与 API | 核心能力:应用 / Agent 节点编排 | Agent 与入库 Pipeline 编排 | 核心能力:Flow 节点编排 | No-code Agent Builder | 无内建产品 UI;由应用实现 |
| 评测 / 治理闭环 | RAGAS、回归门禁、Leaderboard、显著性检验、证据审计 | 运行日志、观测与人工标注 | 检索测试、切块检查与引用追溯 | 运行详情、检索调试与日志 | 来源引用;无内建 RAG 回归门禁 | 需另接 LangSmith 或自建评测 |
| 安全 Guard | InputGuard / OutputGuard、PII / Secret 脱敏、SSRF 逐跳校验 | 内容审查节点与工作流规则 | 代码执行沙箱;业务 Guard 需配置 | 工作流内容审查与 VM 沙箱 | Local-first、Agent 工具权限 | 由应用中间件与部署边界实现 |
| 企业权限 / 合规 | 文档 ACL + Security Trimming、RBAC、SCIM / SSO / SAML、审计 | Workspace 权限;企业版组织与 SSO | 账号与 API 鉴权;细粒度合规需按部署建设 | ABAC + RBAC;团队、群组与资源权限 | Docker 版多用户与权限控制 | 框架本身不提供;由应用实现 |
| RAG 调试可视化 | 切块预览、检索 Trace、重排过程、逐句引用、KG、评测看板 | Dataset 测试、Workflow Trace 与应用日志 | 切块可视化、命中片段与引用 | 知识库测试、Workflow 运行详情 | Workspace、来源引用与聊天 UI | 无内建 UI;可另接观测平台 |
| Dify 外部知识库 | 原生兼容 Dify External Knowledge API | 原生消费外部知识库 | 需通过 API 适配 | 需通过 API 适配 | 需通过 API 适配 | 自行实现适配器 |
| 开箱方式 | Docker Compose / Helm;完整企业 RAG 栈 | Docker Compose / Cloud | Docker Compose;官方建议 4C / 16 GB / 50 GB | Docker / Cloud | Desktop / Docker | Python / JS 库;需自行组装应用 |
对比基于各项目公开版本与官方文档(2026-07),描述的是仓库直接提供的能力表面,不是统一 benchmark。插件、商业版和后续版本可能改变结果。
真实场景验证
MimirQ 已用于市级政务智能问答助手,覆盖 7 个区域级 + 1 个市级知识库。2026-07-27 使用同一固定 800 题和真实自托管模型复测,五条链路最终均无失败:
| 链路 | 成功执行 | 准确 / 部分准确 /证据不足 | 准确率 / 可用率 | 证据覆盖 | 平均 / P50 / P95 |
|---|---|---|---|---|---|
| MimirQ 检索直连 | 800 / 800 | 791 / 9 / 0 | 98.9% / 100% | 99.5% | 3.64s / 2.02s / 12.58s |
| 真实 Embedding + Reranker + LLM | 800 / 800 | 727 / 73 / 0 | 90.9% / 100% | 99.7% | 2.59s / 1.53s / 8.15s |
| Dify HTTP → MimirQ | 800 / 800 | 514 / 223 / 63 | 64.3% / 92.1% | 96.3% | 13.15s / 12.93s / 17.33s |
| Dify External → MimirQ | 800 / 800 | 502 / 232 / 66 | 62.7% / 91.7% | 99.7% | 12.14s / 11.17s / 23.49s |
| Dify 原生知识库 | 800 / 800 | 309 / 287 / 204 | 38.6% / 74.5% | 83.8% | 13.67s / 11.34s / 29.55s |
直连输出检索证据,其他链路输出生成答案,因此准确率与延迟不是严格同任务横比。Dify HTTP / External 的证据覆盖为 96.3% / 99.7%,答案条款覆盖仅为 83.6% / 83.8%,主要损失在 Dify 生成编排而不是 MimirQ 召回;Dify 原生知识库不经过 MimirQ。
并发 5 直连首轮触发 15 次配置化 admission backpressure,降至并发 3 仅重试失败题后恢复为 800 / 800。MimirQ 没有加入地区、事项或题目特判;不同 Embedding runtime 的多库请求由通用检索层分片处理。
完整方法、指标解释与历史复测 · Dify 接入方式与真实工作流
部署方式
支持以下部署方式:
| 方式 | 命令 | 说明 |
|---|---|---|
| 标准部署 | make up | 完整栈:Postgres + Milvus + Etcd + MinIO + Redis + API + Worker |
| 标准 + 前端 | make up-web | 推荐首次启动;自动初始化本地配置并启动完整 Web 栈 |
| 轻量模式 | make up-lite | Chroma/FAISS 替代 Milvus,无需 MinIO,适合快速体验 |
| 开发模式 | make infra-up | 仅基础设施,后端/前端本地运行 |
| Helm / K8s | helm install | 生产级部署,含 HPA、PDB、CronJob、PrometheusRule |
| 解析器扩展 | Docker Compose 指南 | 按需启动 CPU / GPU profile |
生产配置和升级顺序见 Docker Compose 指南、Helm 部署文档 和 运维手册。
功能指南
| 指南 | 说明 |
|---|---|
| 切片预览 | 可视化文档分块效果与参数调整 |
| 知识图谱 | KG 抽取、可视化与 RAG 增强 |
| 文档 ACL | 文档级访问控制与 Security Trimming |
| URL 导入 | 远程 URL 抓取与批量导入 |
| 文档版本 | Pipeline 版本管理与回滚 |
| 稀疏检索 | SPLADE 稀疏检索通道 |
| ColBERT 重排 | ColBERT 晚交互重排序 |
| RAG 优化 | 检索效果与回答质量优化 |
| 检索排障 | 检索问题诊断 |
| SAML SSO | SAML 单点登录集成 |
| 快速开始 | 从源码开发部署 |
| 运维手册 | 生产运维与排障 |
开发自检
提交前建议运行一键自检(后端 + 前端),与 CI 保持一致:
# 完整自检(后端 lint/test + 前端 lint/test)
make enterprise-checks
# 仅后端
make verify && make test
# 仅前端
cd web && pnpm lint && pnpm test
# 浏览器核心路径(上传/解析/对话 UI + 前端到真实后端)
make test-core-browser-smoke
任一部署方式启动并在网页注册账号后,可将该账号写入本地 .env 的 MIMIRQ_SMOKE_IDENTIFIER 与 MIMIRQ_SMOKE_PASSWORD,再运行同一套知识库核心闭环门禁。它验证就绪、入库、解析与检索证据,不依赖 LLM,并在成功后删除临时数据集。不要在需要人工注册的环境中使用 CORE_E2E_BOOTSTRAP_REGISTER=1,因为首个管理员创建后会关闭公开注册:
make core-e2e
# 远程或非默认端口:CORE_E2E_BASE_URL=http://host:8000 make core-e2e
已有同请求量的串行与并发负载报告时,可验证并发是否真正提高批量吞吐,而不只是客户端同时发起请求:
RAG_CONCURRENCY_BASELINE=/tmp/c1.json \
RAG_CONCURRENCY_CANDIDATE=/tmp/cN.json \
make rag-concurrency-gate
路线图
已交付能力见上方对比表。近期计划:
- RAG 专用调试编排(非通用 Agent 画布)
- 更多数据源连接器(Confluence / S3 / Notion)
- 跨语言检索
- 统一 LLM-as-Judge(G-Eval + Self-Consistency)
路线图、功能请求与投票通过 GitHub Issues 管理。
参与贡献
贡献代码、报告问题或提交功能建议前,请阅读 CONTRIBUTING.md。本地开发流程见快速开始,提交前运行 make enterprise-checks。
许可证
本项目采用 Apache License 2.0。第三方组件(含 vendored 自 RAGFlow/DeepDoc 的代码及构建时下载的模型权重)的归属声明见 NOTICE。
PyMuPDF (AGPL-3.0) 说明:默认 PDF 解析可能使用 PyMuPDF,其协议为 AGPL-3.0 / 商业双授权。以 SaaS 形式提供服务时,AGPL 网络条款可能要求公开整个组合作品的源码。需要避免该约束时,请改用宽松协议的解析后端(pypdf / pdfplumber)。详见 NOTICE。
致谢
MimirQ 构建于优秀的开源生态之上,感谢以下项目:
Dify · RAGFlow · FastAPI · LangChain · LangGraph · Milvus · Next.js · PostgreSQL · RAGAS · PyMuPDF · MinerU · Tailwind CSS · shadcn/ui