📌 本文重點
- MinerU 專門把 PDF/Office 轉成乾淨結構化文本
- 讓表格、圖片、公式都能友善餵給 RAG / Agent
- 開源可本地部署,易嵌入各種 LLM / Agent workflow
一句話先說結論:MinerU 就是一台「給 LLM / Agent 吃的文件清洗機」——丟 PDF、Word、PPT 進去,吐出乾淨的 Markdown / JSON,直接給 RAG、Chatbot、Agent 用。
👉 專案連結:https://github.com/opendatalab/MinerU
核心功能:讓 AI 真的「看懂」你的文件
1. 直接吃 PDF / Office,多欄位也能拆乾淨
多數 RAG 失敗,不是模型太笨,而是原始 PDF 太亂。MinerU 的重點是:
- 支援:PDF、Word、PPT 等常見文件
- 能處理的麻煩版面:
- 多欄位排版(例如期刊論文、報表)
- 頁首/頁尾、頁碼、註腳
- 混合字型、大小標題、清單
你可以這樣用:
- 把公司內部 PDF / Word 全部放進一個資料夾,例如
./docs_raw。 - 用 MinerU 批次轉成 Markdown,輸出到
./docs_md。 - 接著再用你熟悉的向量庫(如
Milvus、Qdrant、Weaviate)去吃docs_md。
這樣做的好處:後面所有 LLM / Agent pipeline,都只面對格式一致的純文字,而不是千奇百怪的 PDF。
💡 關鍵: 先把所有文件標準化成一致的 Markdown / JSON,可以大幅降低 RAG 出錯率與後續維護成本。
2. 表格 / 圖片 / 公式抽取,輸出 Markdown / JSON
對技術文件來說,表格、圖表、公式往往是重點。MinerU 的輸出設計就是「給 LLM 用」:
- 表格:轉成 Markdown table 或 JSON 結構,便於查詢與切 chunk。
- 圖片:支援抽圖路徑(搭配 OCR / 圖像模型再處理)。
- 公式:儘量轉成可讀的文字或
LaTeX形式,減少重要信息消失。
你可以依專案需求選擇:
- Markdown 模式:適合直接塞進向量庫、做長文閱讀、摘要。
- JSON 模式:適合需要欄位結構的 Agent workflow,例如:
- 表格 → JSON → 丟給 Agent 做統計、比對
- 報表 → JSON → 自動生成指標報表
💡 關鍵: 把表格、公式這類結構化資訊轉成 JSON,可讓 Agent 做統計、比對、生成報表時更精準可控。
3. 天然適合多代理 / 本地 LLM Workflow
MinerU 的定位不是一個「雲端 SaaS」,而是一段你可以塞進自己 pipeline 的工具。
典型的用法是這樣:
- 資料前處理 Agent:監控新文件,觸發 MinerU 解析。
- 知識庫建置 Agent:把 MinerU 輸出的 Markdown / JSON 切 chunk + 嵌入向量庫。
- 問答 / 任務 Agent:收到問題時,到向量庫檢索相關片段,再交給 LLM 回答。
因為 MinerU 是開源、可本地部署,你可以:
- 把它丟進
Docker Compose裡,和本地 LLM(如Ollama)一起跑。 - 讓 CI/CD 在文件更新時,自動重新解析。
💡 關鍵: 開源且可本地部署,意味著你可以在私有環境中標準化所有文件處理流程,符合安全與合規需求。
適合誰用?三個具體場景
1. 企業內部文件知識庫、客服 / 內訓 FAQ
場景:
- 公司有大量 SOP、內規、產品說明、培訓教材,多數是 PDF / Word。
- 你想做一個內部 Chatbot,讓同事問問題時,直接查這些文件。
可實作流程:
- 把所有內部文件收集到
./company_docs。 - 用 MinerU 批次轉成 Markdown:
- 標記檔案來源(檔名、類別),方便之後做權限或分類。
- 把 Markdown 丟進向量庫,接上你選的 LLM(本地或雲端)。
- 在公司 Portal 放一個簡單的 Chat UI,查詢時帶出「原文片段」。
行動建議:先挑 20 份最常被問的文件,跑一次 MinerU,做一個最小可用版本(MVP)給團隊試用。
2. 技術文件、論文、報表餵給 RAG / Chatbot
場景:
- 需要讓模型理解 API 文件、產品白皮書、學術論文。
- 想要一個「專門讀某份規格書」的 Chatbot。
可實作流程:
- 用 MinerU 把每份技術文件解析成 Markdown:
- 確保目錄、標題層級清楚,可用來分段。
- 切 chunk 時,可以以「段落 + 小節標題」為單位,而不是固定字數。
- 建立索引:保留檔名 + 小節名稱,方便回答時引用。
行動建議:
- 先選一份技術文件(例如某
API ReferencePDF),用 MinerU 解析後,和「直接用 PDF OCR」比較效果,你會很快看出閱讀品質差異。
3. 結合本地 LLM / Agent 做長文閱讀、摘要、自動標註
場景:
- 想在本地跑 LLM(例如
Ollama+Qwen/Llama),處理長報告、會議紀錄。 - 希望自動產生標籤、重點整理、摘要。
可實作流程:
- 本地部署 MinerU,解析文件成 Markdown。
- 用一個小腳本:
- 讀 Markdown → 切段 → 按段落送到本地 LLM。
- 讓 LLM 回傳:摘要、關鍵字、分類。
- 把結果寫回另一個 JSON 檔,或直接寫入
ElasticSearch/ 你用的 DB。
行動建議:先挑一份 50 頁以上的 PDF,跑 MinerU + 本地 LLM,實測「從原始 PDF 到摘要 JSON」全流程,測時間 & 品質,再決定要不要全量導入。
怎麼開始:本地快速跑起 MinerU
以下示範兩種上手方式:Docker 與 pip。使用前建議先看 GitHub 專案 README(隨版本更新):https://github.com/opendatalab/MinerU
注意:實際指令可能會隨版本更新,請以官方文件為準。下面是典型用法思路,幫你掌握大方向。
方式一:用 Docker 跑一個典型 PDF Pipeline
- 安裝
Docker(Windows / macOS / Linux 都可以)。 - 下載專案或直接拉鏡像(以官方 README 為主):
docker pull opendatalab/mineru:latest
- 在本機建立兩個資料夾:
mkdir -p ~/mineru/input ~/mineru/output
# 把 PDF 放進 input
cp your.pdf ~/mineru/input/
- 跑容器:
docker run --rm \
-v ~/mineru/input:/data/input \
-v ~/mineru/output:/data/output \
opendatalab/mineru \
mineru \
--input_dir /data/input \
--output_dir /data/output \
--format markdown
-
檢查輸出:
-
在
~/mineru/output裡,你會看到對應的.md或.json檔。
接下來,你只要把這些 Markdown:
- 用
Python讀進來 → 切 chunk → 打 embeddings → 塞進向量庫。 - 或者直接丟給 Agent 當上下文。
方式二:用 pip 安裝,嵌入自己的 Python 專案
如果你想把 MinerU 當成專案的一部分(例如在 FastAPI、Django 裡叫用),可以這樣做:
- 建議先建立虛擬環境:
python -m venv .venv
source .venv/bin/activate # Windows 用 .venv\Scripts\activate
- 安裝 MinerU(以 README 為準):
pip install mineru
- 在 Python 裡呼叫(示意):
from mineru import DocumentParser
parser = DocumentParser(
output_format="markdown", # 或 "json"
lang="zh", # 主要語言
)
parser.parse_dir(
input_dir="./docs_raw",
output_dir="./docs_md",
)
- 接上你的 RAG pipeline,例如:
from your_vector_store import add_markdown_docs
add_markdown_docs("./docs_md")
幾個實用配置建議
1. 語言設定
- 如果大多數文件是中文,建議在配置中指定
lang=zh,有助於: - 正確切段
- 標題與正文的判斷
- 混合語言文件(中英夾雜)可先用 MinerU 預設配置,實際跑一份看看效果再微調。
2. 版面複雜度:先從「最難的」文件測試
不同文件可能需要不同策略:
- 多欄位期刊論文
- 含大量表格的財報
- 圖片 + 文字混排的簡報
建議流程:
- 先挑 3 種最重要、也最難處理的 PDF 各一份。
- 用 MinerU 跑一遍,目視檢查輸出的 Markdown 是否:
- 段落順序正確
- 表格完整
- 標題層級清楚
- 再決定是否需要額外的後處理腳本(例如正則清除多餘頁碼)。
3. 批次處理:一次跑大量文件
當你要處理成百上千份文件:
- 使用
--input_dir/parse_dir直接對整個資料夾處理。 - 可搭配簡單的排程工具(如
cron、Airflow、Prefect): - 每天檢查新文件 → 觸發 MinerU → 更新向量庫。
- 建議保留:
- 原始 PDF 路徑
- 解析時間
- 解析版本(方便之後換版本重跑)
小結:MinerU = 文件進 AI 系統前的「洗版」必備
如果你正為這些事頭痛:
- PDF 抽不出好用的文字
- RAG 回答總是抓錯重點
- Agent Workflow 每次都被「前處理」拖累
那 MinerU 是值得花一個下午試跑的工具。把它想像成:
所有文件進 AI 系統前,先經過的一台「格式清洗機」。
一旦你把這個「洗版」步驟標準化,後續不論是企業知識庫、技術文件 Chatbot,還是本地 LLM 長文閱讀,都會變得穩定許多。
- GitHub 專案:https://github.com/opendatalab/MinerU
- 推薦先用 Docker 跑一個小型 Pipeline,感受「PDF → Markdown → RAG」全流程,再決定要不要全面導入。
🚀 你現在可以做的事
- 到 GitHub 查看 MinerU 專案 README,確認最新安裝與使用方式
- 選 10–20 份關鍵 PDF/Word,實際跑一次「PDF → Markdown → 向量庫」流程
- 在你現有的 RAG / Chatbot 專案中,插入 MinerU 作為前處理步驟,評估回答品質提升幅度










