3.0 KiB
3.0 KiB
MinerU OCR 服务
为满足 rebuild.md 阶段 D 第 9 项的要求,这里提供一份最小化的 MinerU OCR 部署脚本集,便于在本地启动 127.0.0.1:18888 的 OCR 服务,并与 ingest_service / mindrag 插件联动。
目录结构
services/mineru/
├─ README.md # 使用说明(当前文件)
├─ setup.ps1 # 克隆/更新官方 MinerU 仓库并建立 Python 虚拟环境
├─ start.ps1 # 从虚拟环境中启动 MinerU HTTP 服务
├─ requirements.txt # 额外依赖(如 fastapi/uvicorn),方便离线安装
└─ src/ # `setup.ps1` 自动 clone 的 MinerU 官方代码
⚠️ 说明:MinerU 官方仓库体积较大且依赖多种外部模型。这里的脚本仅负责准备环境与示例启动流程,实际运行仍需参考官方文档完成模型下载、配置等步骤。
安装步骤
- 确保已安装
Python 3.10+、git、pip。 - 执行
./setup.ps1(可选参数见脚本头部):cd services/mineru ./setup.ps1 -PythonExe python -RepoUrl https://github.com/opendatalab/MinerU.git- 首次执行会在
services/mineru/srcclone 官方代码,并在.venv目录创建虚拟环境。 - 如果官方仓库已存在,脚本会尝试
git pull,以保持最新。
- 首次执行会在
- 根据官方 README(https://github.com/opendatalab/MinerU/blob/master/README_zh-CN.md)下载或配置所需模型、权重文件,并将相关路径写入
src/.env或官方配置文件中。 - 启动服务:
./start.ps1 -Host 127.0.0.1 -Port 18888- 默认使用
uvicorn启动mineru.api.server:app(如官方仓库版本不一致,可在脚本中调整-ModulePath参数)。 - 启动后可访问
http://127.0.0.1:18888/health,scripts/check_env.ps1会据此校验。
- 默认使用
与 ingest_service / mindrag 集成
scripts/check_env.ps1现已新增-MineruEndpoint参数,会自动检测/health是否返回 200。- mindrag 插件的 RAG 面板(
PanelRag.vue)以及 ingest_service 的 OCR 逻辑,会读取环境变量或设置面板中指定的 OCR 源:- 选择 “MinerU OCR” 时,请确保
start.ps1已启动服务,并在配置中填写http://127.0.0.1:18888。
- 选择 “MinerU OCR” 时,请确保
常见问题
-
如何更改监听地址/端口?
start.ps1支持-Host与-Port参数,同时可通过环境变量MINERU_HOST、MINERU_PORT覆盖。 -
如何与 Supabase 同步 OCR 结果?
ingest_service 会把 MinerU 识别结果写回思源/api/asset/setImageOCRText,并同步note_blocks.properties.ocr_text至 Supabase。只要 MinerU 服务可用,链路即可打通。 -
如何卸载或重新安装?
删除services/mineru/.venv与services/mineru/src即可清理,再重新执行setup.ps1。
如需 Docker 化或模型缓存策略,可在此目录继续扩展 docker-compose.yml 或 Makefile。当前脚本重点是给定制版思源提供一套可复用的部署入口。