文档处理与 OCR
Yuxi 支持多种文档格式的智能解析,从简单的文本文件到复杂的 PDF 文档,都能自动提取内容并转换为可检索的格式。
支持的文件类型
常规文档
| 类型 | 格式 | 说明 |
|---|---|---|
| 文本 | .txt, .md, .html, .htm | 直接提取内容 |
| Word | .docx | 保留格式和结构 |
| PowerPoint | .pptx | 保留主要文本结构 |
| 支持文本和图片 PDF | ||
| 表格 | .csv, .xls, .xlsx | 识别表格结构 |
| JSON | .json | 结构化数据 |
图片文件
对于图片文件,需要启用 OCR 才能提取文字:
- .jpg, .jpeg, .png, .bmp, .tiff, .tif
压缩包
支持上传 ZIP 压缩包,系统会:
- 自动提取并处理其中的 Markdown 文件
- 处理图片并上传到对象存储
- 智能识别
full.md或第一个.md文件
网页内容
支持通过 URL 直接抓取网页内容:
- 配置
YUXI_URL_WHITELIST环境变量启用白名单机制 - 系统自动将 HTML 转换为 Markdown
- 内置去重机制,避免重复抓取
URL 白名单配置
示例:YUXI_URL_WHITELIST=github.com,*.wikipedia.org,docs.python.org
OCR 方案选择
系统提供多种 OCR 方案,适用于不同场景:
方案对比
| 方案 | 适用场景 | 硬件要求 | 特点 |
|---|---|---|---|
| RapidOCR | 基础文字识别 | CPU | 免费开源,速度快 |
| MinerU | 复杂 PDF、表格 | GPU | 精度高,版面分析好 |
| MinerU Official | 复杂文档 | 无 | 官方云服务,开箱即用 |
| PP-Structure-V3 | 表格、票据 | GPU | 专业版面解析 |
| DeepSeek OCR | 智能理解 | 无 | 云端服务,Markdown 输出 |
选择建议
- 个人使用或 CPU 环境:选择 RapidOCR,免费且资源占用低
- 高精度需求:选择 MinerU(需要 GPU)或 MinerU Official
- 表格密集型文档:选择 PP-Structure-V3
- 简单云服务:选择 DeepSeek OCR
快速配置
RapidOCR
启动后会默认下载,无需配置
MinerU(高精度)
项目已内置 mineru-api 服务(位于 docker-compose.yml,属于 all profile),无需额外下载官方 compose 文件。首次构建镜像时会基于 docker/mineru.Dockerfile 下载模型,该过程耗时较长。
启动服务(需要 GPU):
bash
docker compose --profile all up -d --build mineru-api该服务在 30001 端口提供 /file_parse 接口,后端 api / worker 默认通过 MINERU_API_URI=http://mineru-api:30001 连接,通常无需额外配置。
显存不足
若显存有限导致启动失败,可在 docker-compose.yml 的 mineru-api 服务下放开 --gpu-memory-utilization 参数(如 0.5,必要时进一步降低)。
MinerU Official(云服务)
从 MinerU 官网 获取 API 密钥,在 .env 配置环境变量
env
MINERU_API_KEY=your-api-key-herePP-Structure-V3(结构化)
启动服务(需要 GPU)
bash
docker compose up paddlex -dDeepSeek OCR(简单云服务)
在 .env 配置(使用已有的 SiliconFlow 密钥)
env
SILICONFLOW_API_KEY=your-api-key-here图片显示配置
上传文档中的图片需要正确配置才能在外部显示:
在 .env 中设置服务器 IP:
HOST_IP=your_server_ip注意事项
- 图片文件必须启用 OCR:否则无法提取内容
- GPU 要求:MinerU 和 PP-Structure-V3 需要 GPU 支持
- API 密钥:部分服务需要额外的 API 密钥配置
- 超时处理:复杂文档解析可能耗时较长,可通过
MINERU_TIMEOUT环境变量调整超时时间 - 文件大小限制:单个上传文件大小不超过 100 MB