# mildoc-system **Repository Path**: gaoyan_na/mildoc-system ## Basic Information - **Project Name**: mildoc-system - **Description**: - 构建完整的RAG知识问答系统 - 事件驱动的文档自动化处理 - 支持多格式文档解析与检索 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-04 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## MilDoc 企业知识库系统 MilDoc 是一套基于 MinIO 对象存储与 Milvus 向量数据库的企业级知识库系统,提供从文档管理、解析/向量化索引到企业微信客服智能问答的一体化解决方案。 本仓库包含四个子项目: - `mildoc_index`:文档索引服务(解析、切片、向量化、入库、事件监听) - `mildoc_admin`:管理后台(目录与文件管理、元信息查看、索引状态与切片明细) - `mildoc_wxkf`:微信客服接口(RAG 检索增强 + 大模型回答,支持可选 Rerank) - `mildoc_milvus`:本地/容器化部署所需的 Milvus 与(可选)MinIO 参考配置 ### 整体架构 系统整体依托 MinIO 与 Milvus 实现“文档 → 解析/切片 → 向量化 → 语义检索 → 智能问答”的闭环。核心流程: - 文档上传至 MinIO 桶,触发对象事件; - `mildoc_index` 监听事件,自动解析文档、切片并生成向量,写入 Milvus; - `mildoc_admin` 提供管理界面与 API,进行目录/文件管理、元数据与索引状态查看; - 微信客服消息经由 `mildoc_wxkf` 接入,使用向量检索 +(可选)Rerank,调用 LLM 生成专业回答。 #### 系统整体架构图 ![](media/MilDoc调用关系图.png) #### 业务流程时序图 ![](media/MilDoc业务流程时序图.png) ### 系统分层 - 外部接口层:企业微信/微信客服、管理后台 Web/接口 - 业务应用层:`mildoc_index`、`mildoc_admin`、`mildoc_wxkf` - 处理服务层:文档解析器(PDF/Office/MinerU/Markdown/Text)、Embedding、LangChain(Retrieve/Rerank)、LLM - 数据存储层:MinIO(对象存储与事件通知)、Milvus(向量/元数据与语义检索) ### 主要能力 - 事件驱动:基于 MinIO 对象事件,自动完成新增/删除的索引同步 - 多格式解析:PDF、Office、Markdown、Text,支持高精度 MinerU 解析 - 语义检索与问答:LangChain 检索与(可选)重排序,LLM 上下文感知回答 - 高性能可扩展:Milvus 高效向量检索,容器化与分层解耦便于扩展 ### 目录结构 ``` mildoc-system/ ├── media/ # 架构图、时序图等 ├── mildoc_admin/ # 管理后台(Flask) ├── mildoc_index/ # 文档索引服务(MinIO 事件/解析/向量化/Milvus) ├── mildoc_milvus/ # Milvus 与(可选)MinIO 的 docker 配置参考 ├── mildoc_wxkf/ # 微信客服回调与 RAG 服务(Flask + LangChain) └── README.md # 系统设计与说明(架构与流程) ``` ### 环境依赖(总体) - MinIO(对象存储,需开启事件通知) - Milvus(向量数据库,建议容器化部署) - 可选:Redis/消息队列(如需扩展任务编排) - Python 3.10+(各子项目基于 Flask/LangChain/OpenAI/Milvus 等) ### 快速开始(概览) 1) 准备基础设施 - 按 `mildoc_milvus` 文档部署 Milvus(可选同时部署 MinIO,或使用现有 MinIO 集群)。 2) 配置与运行索引服务 `mildoc_index` - 配置 MinIO/Milvus/Embedding 模型相关环境变量; - 选择模式运行:全量刷新、排查补漏或实时监听; - 确保文档上传/删除可被及时索引/清理。 3) 启动管理后台 `mildoc_admin` - 配置管理员账户、MinIO 与 Milvus 参数; - 通过 Web UI 进行目录/文件管理与索引状态查看。 4) 启动微信客服接口 `mildoc_wxkf` - 配置企业微信回调、Milvus、LLM/Embedding/Rerank; - 在企业微信侧完成回调 URL 校验与连通性; - 验证通过后即可处理客服消息并返回智能回答。 各子项目的详细安装、环境变量、运行命令与接口说明,请参考对应子目录的 `README.md`。 ### 安全与合规 - 访问凭据(MinIO/Milvus/LLM API Key 等)必须使用环境变量或安全配置管理; - 管理后台提供登录校验,建议在反向代理/零信任网关后使用; - 生产环境需开启 HTTPS 与访问控制列表(ACL/白名单); - 持续关注与评估所用第三方模型/服务的合规与数据安全策略。 ### 许可证与贡献 - 根据企业内部策略设置许可与贡献流程; - 欢迎提交 Issue/PR 共同改进系统稳定性与功能体验。