54 lines
3.0 KiB
Markdown
54 lines
3.0 KiB
Markdown
# 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 官方仓库体积较大且依赖多种外部模型。这里的脚本仅负责准备环境与示例启动流程,实际运行仍需参考官方文档完成模型下载、配置等步骤。
|
||
|
||
## 安装步骤
|
||
|
||
1. 确保已安装 `Python 3.10+`、`git`、`pip`。
|
||
2. 执行 `./setup.ps1`(可选参数见脚本头部):
|
||
```powershell
|
||
cd services/mineru
|
||
./setup.ps1 -PythonExe python -RepoUrl https://github.com/opendatalab/MinerU.git
|
||
```
|
||
- 首次执行会在 `services/mineru/src` clone 官方代码,并在 `.venv` 目录创建虚拟环境。
|
||
- 如果官方仓库已存在,脚本会尝试 `git pull`,以保持最新。
|
||
3. 根据官方 README(https://github.com/opendatalab/MinerU/blob/master/README_zh-CN.md)下载或配置所需模型、权重文件,并将相关路径写入 `src/.env` 或官方配置文件中。
|
||
4. 启动服务:
|
||
```powershell
|
||
./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`。
|
||
|
||
## 常见问题
|
||
|
||
1. **如何更改监听地址/端口?**
|
||
`start.ps1` 支持 `-Host` 与 `-Port` 参数,同时可通过环境变量 `MINERU_HOST`、`MINERU_PORT` 覆盖。
|
||
|
||
2. **如何与 Supabase 同步 OCR 结果?**
|
||
ingest_service 会把 MinerU 识别结果写回思源 `/api/asset/setImageOCRText`,并同步 `note_blocks.properties.ocr_text` 至 Supabase。只要 MinerU 服务可用,链路即可打通。
|
||
|
||
3. **如何卸载或重新安装?**
|
||
删除 `services/mineru/.venv` 与 `services/mineru/src` 即可清理,再重新执行 `setup.ps1`。
|
||
|
||
如需 Docker 化或模型缓存策略,可在此目录继续扩展 `docker-compose.yml` 或 `Makefile`。当前脚本重点是给定制版思源提供一套可复用的部署入口。
|