mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 21:13:50 +00:00
133 lines
3.6 KiB
Markdown
133 lines
3.6 KiB
Markdown
# 项目介绍
|
||
|
||
本项目实现了一个高效的 **PDF 转 Markdown 接口服务**,支持多进程并行处理多个 PDF 文件。通过高性能的接口设计,快速将 PDF 文档转换为 Markdown 格式文本。
|
||
|
||
- **简洁性:**项目无需修改代码,仅需调整文件路径即可使用,简单易用
|
||
- **易用性:**通过提供简洁的 API,开发者只需发送 HTTP 请求即可完成 PDF 转换
|
||
- **灵活性:**支持本地部署和 Docker 容器部署两种方式,便于快速上手和灵活集成
|
||
|
||
# 配置推荐
|
||
|
||
## 常规配置
|
||
|
||
24G显存的显卡两张,可以支持四个文件同时处理
|
||
|
||
## 最低配置
|
||
|
||
**不低于11G** 显存的显卡一张
|
||
|
||
并设置每张卡处理的进程数为1
|
||
|
||
```bash
|
||
export PROCESSES_PER_GPU="1"
|
||
```
|
||
|
||
## 单文件实测速率
|
||
|
||
| 显卡 | 中文PDF | 英文PDF | 扫描件 |
|
||
| ------------- | ------------ | ------------ | ------------ |
|
||
| **4090D 24G** | **0.75s/页** | **1.60s/页** | **3.26s/页** |
|
||
| **P40 24G** | **0.99s/页** | **2.22s/页** | **5.24s/页** |
|
||
|
||
## 多文件实测速率
|
||
|
||
中文PDF+英文PDF
|
||
|
||
| 显卡 | 串行处理 | 并行处理 | 提升效率 |
|
||
| ------------- | ------------ | ------------ | --------- |
|
||
| **4090D 24G** | **0.92s/页** | **0.62s/页** | **31.9%** |
|
||
| **P40 24G** | **1.22s/页** | **0.85s/页** | **30.5%** |
|
||
|
||
# 本地开发
|
||
|
||
## 基本流程
|
||
|
||
1. 克隆一个FastGPT的项目文件
|
||
|
||
```
|
||
git clone https://github.com/labring/FastGPT.git
|
||
```
|
||
|
||
2. 将主目录设置为 python下的pdf-marker文件
|
||
|
||
```
|
||
cd python/pdf-marker
|
||
```
|
||
|
||
3. 创建Anaconda并安装requirement.txt文件
|
||
|
||
安装的Anaconda版本:**conda 24.7.1**
|
||
|
||
```
|
||
conda create -n pdf-marker python=3.11
|
||
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||
conda activate pdf-marker
|
||
```
|
||
|
||
4. 执行主文件启动pdf2md服务
|
||
|
||
```
|
||
python api_mp.py
|
||
```
|
||
|
||
# 镜像打包和部署
|
||
|
||
## 本地构建镜像
|
||
|
||
1. 在 `pdf-marker` 根目录下执行:
|
||
|
||
```bash
|
||
sudo docker build -t model_pdf -f Dockerfile .
|
||
```
|
||
2. 运行容器
|
||
```bash
|
||
sudo docker run --gpus all -itd -p 7231:7231 --name model_pdf_v1 model_pdf
|
||
```
|
||
## 快速构建镜像
|
||
```dockerfile
|
||
docker pull crpi-h3snc261q1dosroc.cn-hangzhou.personal.cr.aliyuncs.com/marker11/marker_images:latest
|
||
docker run --gpus all -itd -p 7231:7231 --name model_pdf_v1 crpi-h3snc261q1dosroc.cn-hangzhou.personal.cr.aliyuncs.com/marker11/marker_images:latest
|
||
```
|
||
# 访问示例
|
||
|
||
用Post方法访问端口为 `7321 ` 的 `v1/parse/file` 服务
|
||
|
||
参数:file-->本地文件的地址
|
||
|
||
- 访问方法
|
||
|
||
```
|
||
curl --location --request POST "http://localhost:7231/v1/parse/file" \
|
||
--header "Authorization: Bearer your_access_token" \
|
||
--form "file=@./file/chinese_test.pdf"
|
||
```
|
||
|
||
- 多文件测试数据
|
||
|
||
运行 `test` 文件下的 `test.py` 文件,修改里面的 `file_paths` 为自己仓库的 `url` 即可
|
||
|
||
# FQA
|
||
|
||
- 如果出现huggingface模型下载不下来?
|
||
|
||
可以选择在环境变量中加入huggingface镜像
|
||
|
||
```bash
|
||
export HF_ENDPOINT=https://hf-mirror.com
|
||
export HF_DATASETS_CACHE=/huggingface
|
||
export HUGGINGFACE_HUB_CACHE=/huggingface
|
||
export HF_HOME=/huggingface
|
||
```
|
||
|
||
也可以直接访问 [huggingface][https://huggingface.co] 来下载模型到 `/huggingface` 文件夹下
|
||
|
||
```
|
||
https://huggingface.co/vikp/surya_det3/tree/main
|
||
https://huggingface.co/vikp/surya_layout3/tree/main
|
||
https://huggingface.co/vikp/surya_order/tree/main
|
||
https://huggingface.co/vikp/surya_rec2/tree/main
|
||
https://huggingface.co/vikp/surya_tablerec/tree/main
|
||
https://huggingface.co/vikp/texify2/tree/main
|
||
```
|
||
|
||
|