MimirQ

skygazer42Apache-2.0活跃维护

中文优先的企业级 RAG 知识库,把文档解析、切块、混合检索、重排、引用溯源、知识图谱和评测串成一条可控流水线,还能直接接入 Dify。

中文优先的企业 RAG 知识库:可控解析、治理、切块、混合检索、重排、引用、图谱、评测与 Dify 接入。

v1.0.0发布于 2026-07-28 11:36 UTC593star +1 / 7 天103fork同步于 2026-11-10 17:58 UTC

怎么上手

由 README 提炼,执行前请确认
git clone --depth 1 --single-branch https://github.com/skygazer42/MimirQ.git
cd MimirQ
make init
make up-web
make api-ping
硬件要求按 README 说明

Docker 一键启动要求至少 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。

需要 CUDA有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

中文优先的企业 RAG 知识库,让解析、检索、引用每一步都可检查、可替换、可回归

中文优先的企业级 RAG 知识库,把文档解析、切块、混合检索、重排、引用溯源、知识图谱和评测串成一条可控流水线,还能直接接入 Dify。

核心能力

  • 按文档类型切换 30 种解析后端,覆盖 OCR、版式、表格与公式
  • 提供 86 种切块策略,支持递归、语义、父子、RAPTOR 与可视化预览
  • 组合 BM25、向量检索与 13 类重排器做混合召回
  • 用 Golden 题集与质量门禁做回归评测,指标含 Recall 与 MRR
  • 原生兼容 Dify External Knowledge API,可作为其外部知识层

容易踩的坑

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

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.0.0
  1. 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、provenance 2/2,通过率均为 1.0。
    • 800 题真实链路与 Dify 路径的结果、口径和时延记录见基准文档。

    升级说明

    • 新部署从 .env.example 复制配置,并在生产环境替换所有默认密钥、密码和认证参数。
    • 更换 Embedding 模型后必须重建对应知识库索引,不能复用旧 embedding space。
    • 并发重复上传去重仍由 UPLOAD_DEDUP_ENABLED 显式控制,请按业务幂等需求开启。
    • 领域路由和业务规则应放在集成或插件层,不应写入 MimirQ 通用检索核心。

    已知非阻塞项

    • Starlette 与 LangChain Milvus 旧适配器仍有上游弃用警告,不影响当前受支持路径。
    • 真实 Kubernetes 集群安装和外部模型服务 SLA 属于部署环境验证,不作为本次核心发布阻塞项。

    完整变更

    查看 v0.8.0...v1.0.0 的提交差异

  2. 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.17...v0.8.0 的提交差异

  3. 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.15...v0.7.16 的提交差异

  4. 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.14...v0.7.15 的提交差异

  5. 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 单一来源;多语言与运维文档必须同步更新。

    完整变更

    查看 v0.7.16...v0.7.17 的提交差异

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    简体中文 · English · 日本語 · 한국어

    为什么做 MimirQ

    企业知识库真正难的,不是把文档向量化,而是让错误可定位、策略可替换、质量可回归。

    可检查可替换可回归
    查看解析、Chunk、召回、重排与引用证据按文档和场景切换解析器、索引、检索与模型用 Golden 题集、质量门禁和 Trace 守住版本质量

    MimirQ 起源于真实的政务知识库交付。回答出错时,团队需要快速判断问题究竟来自解析、治理、切块、召回、重排,还是生成偏离引用。把整条链路藏在一个“上传并开始问答”的按钮后面,原型很快,长期交付却难以估算、验收和治理。

    一条可控的企业知识流水线

    数据评估 → 场景化解析 → 清洗治理 → 业务切块→ 向量 / 全文索引 → 混合召回 → 重排与引用 → Golden 回归

    真实项目应先抽样评估数据,再按材料选择解析器:复杂版式或扫描件可比较 MinerU / DeepDoc,公式、表格与版面结构密集的资料可评估 Docling,数字原生 Office 或纯文本可从 MarkItDown 等轻量路径开始。高风险资料仍需人工校验。

    解析结果经脚本、规则 DSL 或插件治理后,再按标题、章节、业务记录或父子关系切块,而不是统一套用固定长度和重叠窗口。索引层可使用 Milvus 等向量库,并组合 BM25、向量检索与重排;上层应用可以是 Dify、LangGraph、PydanticAI 或一个简单 API 服务。

    你的目标更合适的选择
    业务简单、流程稳定、低代码优先Dify、FastGPT 等应用平台通常更快
    一体化使用 DeepDoc 与 GraphRAGRAGFlow 是成熟选择
    知识链路需要按业务替换、审计和回归使用 MimirQ,或把它作为 Dify 的外部知识层

    当前仓库覆盖 30 个解析后端、86 种切块策略、13 类重排器,并保留固定 800 题的实测证据。数字只是实现广度,核心是每一步都能检查输入输出、追溯引用与版本,并用 Golden 题集守住发布质量。完整方法见企业知识流水线设计准则。

    最新稳定版:v1.0.1。见 发布说明 与 发布索引。

    产品界面

    以下界面使用仓库内公开的政务插件演示样例生成,不含生产知识库数据。

    更多界面与完整操作流程见用户指南。

    快速开始

    前置要求

    • 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 ServeCPU;独立重型镜像,不进入 MimirQ 主镜像make up-docling
    表格、公式、OCR 与复杂版式 GPU 解析Docling Serve CUDANVIDIA GPU;默认 CUDA 12.8make up-docling-gpu
    PDF 转 Markdown,服务器无 GPUMarkerCPUmake up-marker
    版面、表格与图片混合文档ETL4LLMCPUmake up-etl4llm
    扫描件、OCR、复杂版面PaddleOCR-VLNVIDIA GPU,建议预留 10 GiBmake up-paddlevl
    表格、公式与图片较多的 PDFMinerU pipelineNVIDIA GPU、首次下载模型make up-mineru
    VLM 复杂 PDFMinerU VLMNVIDIA GPU,资源占用较高make up-mineru-vlm
    高精度 PDF OCRolmOCRNVIDIA GPU,建议 48 GiB 级显存make up-olmocr
    公式 / 表格 PDF 转 MarkdownMagicPDFNVIDIA GPUmake up-magicpdf
    PDF / 图片走外部视觉 OCRQianfan-OCR上游 URL 与 API Key,本地无需 GPUmake 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 停止依赖服务。

    服务地址

    服务地址
    前端 UIhttp://localhost:3000
    API 文档http://localhost:8000/docs

    低资源模式可使用 make up-lite,它用 Chroma/FAISS 替代 Milvus、免 MinIO,默认不含前端;适合验证 API ready 与 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 的功能对比

    功能维度MimirQDifyRAGFlowFastGPTAnythingLLMLangChain
    文档解析30 种解析后端:PDF、OCR、版式、表格、公式、VLMKnowledge Pipeline;PDF、PPT 等常见格式DeepDoc;复杂版式、扫描件、MinerU / DoclingPDF、扫描件、表格、公式转 MarkdownPDF、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 / MCPLangGraph Agent、Self-RAG / CRAG / FLARE;MCP client / serverFunction Calling / ReAct Agent、工具与 MCPAgentic 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 或自建评测
    安全 GuardInputGuard / 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 / CloudDocker Compose;官方建议 4C / 16 GB / 50 GBDocker / CloudDesktop / DockerPython / JS 库;需自行组装应用

    对比基于各项目公开版本与官方文档(2026-07),描述的是仓库直接提供的能力表面,不是统一 benchmark。插件、商业版和后续版本可能改变结果。

    真实场景验证

    MimirQ 已用于市级政务智能问答助手,覆盖 7 个区域级 + 1 个市级知识库。2026-07-27 使用同一固定 800 题和真实自托管模型复测,五条链路最终均无失败:

    链路成功执行准确 / 部分准确 /证据不足准确率 / 可用率证据覆盖平均 / P50 / P95
    MimirQ 检索直连800 / 800791 / 9 / 098.9% / 100%99.5%3.64s / 2.02s / 12.58s
    真实 Embedding + Reranker + LLM800 / 800727 / 73 / 090.9% / 100%99.7%2.59s / 1.53s / 8.15s
    Dify HTTP → MimirQ800 / 800514 / 223 / 6364.3% / 92.1%96.3%13.15s / 12.93s / 17.33s
    Dify External → MimirQ800 / 800502 / 232 / 6662.7% / 91.7%99.7%12.14s / 11.17s / 23.49s
    Dify 原生知识库800 / 800309 / 287 / 20438.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-liteChroma/FAISS 替代 Milvus,无需 MinIO,适合快速体验
    开发模式make infra-up仅基础设施,后端/前端本地运行
    Helm / K8shelm 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 SSOSAML 单点登录集成
    快速开始从源码开发部署
    运维手册生产运维与排障

    开发自检

    提交前建议运行一键自检(后端 + 前端),与 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

    友情链接