# MilDoc_军队公文LLM写作助手 **Repository Path**: lethe_1/MilDoc ## Basic Information - **Project Name**: MilDoc_军队公文LLM写作助手 - **Description**: MilDoc 是一款面向军队内部、涉密合规、离线可用的公文写作与知识管理系统。 系统支持对现有 DOCX、PDF 文档进行智能解析与结构化处理,实现精准章节级检索与范文参考;内置军队公文文风强约束、按单位数据隔离与密级权限控制,可在国产操作系统上全离线运行,安全、规范、高效地完成公文撰写、档案管理与标准 Word 一键导出,全程不依赖外网。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-17 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MilDoc_军队公文LLM写作助手 #### 介绍 MilDoc 是一款面向军队内部、涉密合规、离线可用的公文写作与知识管理系统。 系统支持对现有 DOCX、PDF 文档进行智能解析与结构化处理,实现精准章节级检索与范文参考;内置军队公文文风强约束、按单位数据隔离与密级权限控制,可在国产操作系统上全离线运行,安全、规范、高效地完成公文撰写、档案管理与标准 Word 一键导出,全程不依赖外网。 #### 核心能力 - **全离线部署**:无外网、无云请求、无上报 - **多格式解析**:DOCX / PDF 自动结构化 - **章节级检索**:基于 PageIndex 的段落级定位 - **密级与单位隔离**:按密级与单位双重过滤 - **本地大模型写作**:模型可替换、可量化 - **一键导出 Word**:保留标题与结构 - **国产系统适配**:麒麟 OS / 统信 UOS 原生支持 #### 运行环境 - **Python**:3.9 ~ 3.11 - **网络**:全程离线 - **硬件**:建议 8G 内存以上 - **系统**:Windows / Linux / 麒麟 OS / 统信 UOS #### 项目结构 ``` 公文写作助手/ ├─ 公文原件/ # 你所有 docx、pdf 放这里 ├─ office_lib/ # 自动生成:结构化公文库 ├─ templates/ │ └─ index.html # 前端界面 ├─ main.py # 主程序 ├─ pageindex_index.bin # PageIndex 索引(自动生成) └─ 本地模型/ # 你放离线大模型的文件夹 ``` #### 安装与部署 **在线安装(临时可联网时)** ```bash # 安装依赖 pip install -r requirements.txt # 或者手动安装 pip install \ python-docx \ pymupdf==1.26.4 \ markitdown \ fastapi \ uvicorn[standard] \ jinja2 \ transformers \ torch \ PyPDF2==3.0.1 \ python-dotenv==1.1.0 \ tiktoken==0.11.0 \ pyyaml==6.0.2 \ openai==1.101.0 ``` **注意**: - `PageIndex/` 目录已包含在项目中,无需额外安装 - 如需使用 PageIndex 的高级功能(PDF 深度分析),需要配置 OpenAI API key **离线安装(内网专用)** 1. 在一台可联网机器下载离线包: ```bash pip download -d ./wheels -r requirements.txt ``` 2. 把 `wheels` 文件夹拷贝到内网机器 3. 内网安装: ```bash pip install --no-index --find-links=./wheels -r requirements.txt ``` `requirements.txt` ``` python-docx pymupdf markitdown fastapi uvicorn jinja2 pageindex transformers torch ``` #### PageIndex 使用说明 PageIndex 是一种 **无向量库、基于推理的 RAG** 索引方式,可将长文档生成**目录树结构**并进行检索定位,适合专业长文档分析。 **在本项目中**,PageIndex 负责构建 `pageindex_index.bin` 索引,并提供章节级检索能力(无需向量数据库、无需切块)。 **本地 LLM 配置(推荐)** 本项目已适配本地离线 LLM,支持完全离线部署。详细配置请参考 [LOCAL_LLM_SETUP.md](LOCAL_LLM_SETUP.md) **快速开始(使用 Ollama + Qwen)** 1. 安装 Ollama:https://ollama.ai/download 2. 下载模型: ```bash ollama pull qwen2.5:14b ``` 3. 创建 `.env` 文件: ```bash cp .env.example .env ``` 4. 配置 `.env`: ```bash LOCAL_LLM_BASE_URL=http://localhost:11434/v1 LOCAL_LLM_MODEL=qwen2.5:14b ``` **深度分析 / 独立构建树索引(可选)** 1. 安装 PageIndex 依赖: ```bash pip install -r PageIndex/requirements.txt ``` 2. 运行示例: ```bash # 使用本地 LLM python PageIndex/run_pageindex.py --pdf_path /path/to/your/document.pdf --model qwen2.5:14b # Markdown 文档 python PageIndex/run_pageindex.py --md_path /path/to/your/document.md ``` **可选参数**(节选): - `--model`:模型名称(默认使用本地模型) - `--toc-check-pages`:目录页检测页数 - `--max-pages-per-node`:单节点最大页数 - `--max-tokens-per-node`:单节点最大 token - `--if-add-node-id`:是否加节点 ID - `--if-add-node-summary`:是否加节点摘要 - `--if-add-doc-description`:是否加文档描述 更多说明可参考 `PageIndex/README.md`。 #### 启动步骤 1. 把所有 **.docx / .pdf** 放入 `公文原件` 文件夹 2. 配置本地 LLM(见上) 3. 运行: ```bash python main.py ``` 4. 浏览器打开: ``` http://127.0.0.1:8000 ``` 5. 首次启动会自动解析公文、构建 PageIndex 索引并加载本地模型 #### 本地模型下载与替换 - **推荐方案**:使用 Ollama 管理(见上) - **直接下载**: - ModelScope:https://www.modelscope.cn/models - Hugging Face:https://huggingface.co/models - **推荐模型**: - Qwen2.5-14B-Instruct(中文优秀) - Qwen2.5-7B-Instruct(平衡性能) - DeepSeek-Coder(代码优化) - **放置路径示例**: ``` 公文写作助手/ └─ local_model/ ├─ config.json ├─ pytorch_model.bin ├─ tokenizer_config.json └─ ... ``` - **替换入口**:在 `main.py` 修改: ```python LOCAL_MODEL_PATH = "local_model" # 改为你的模型文件夹路径 ``` #### 权限与密级 - **密级等级**:公开 < 内部 < 秘密 < 机密 < 绝密 - **过滤规则**:用户只能看到同级及以下,且按单位隔离 - **自动识别**:从正文开头识别密级 #### 麒麟 OS / 统信 UOS 适配 - **架构**:x86_64 / arm64(鲲鹏、飞腾) - **运行方式**:与 Linux 完全一致 - **依赖建议**: ```bash sudo apt update sudo apt install -y python3 python3-pip python3-dev build-essential libjpeg-dev zlib1g-dev ``` - **启动**: ```bash python3 main.py ``` #### 文风强约束 固定文风:庄重、严谨、精炼、规范;结构为 "依据 → 情况 → 措施 → 请求",严格符合军队机关公文格式。 #### 许可 详见 `LICENSE`。