715 3 weeks ago

From : https://www.modelscope.cn/models/PaddlePaddle/PaddleOCR-VL-1.6-GGUF

vision
ollama run AuditAid/PaddleOCR-VL-1.6-0.9B

Models

View all →

Readme

From : https://www.modelscope.cn/models/PaddlePaddle/PaddleOCR-VL-1.6-GGUF

参考:https://github.com/AuditAIH/audit-tool-skills/blob/main/PaddleOCR/README.md

如何使用

wget -O paddleocr_vl_demo.png https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png
ollama run AuditAid/PaddleOCR-VL-1.6-0.9B
 OCR:"./paddleocr_vl_demo.png"

image.png

快速服务化部署(自动安装ollama并下载模型,自动安装PaddleOCR-VL-1.6)

# 参考:https://github.com/AuditAIH/audit-tool-skills/blob/main/PaddleOCR/README.md
wget https://raw.githubusercontent.com/AuditAIH/audit-tool-skills/main/PaddleOCR/start_llama_ppocrvl1.6.sh -O start_llama_ppocrvl1.6.sh
bash start_llama_ppocrvl1.6.sh

手动固定端口启动,不卸载

# 提前加载模型,加载模型成功后再执行二进制文件
ollama pull AuditAid/PaddleOCR-VL-1.6-0.9B

export GGML_BACKEND_PATH=/usr/local/lib/ollama/cuda_v13/libggml-cuda.so
export LD_LIBRARY_PATH=/usr/local/lib/ollama:/usr/local/lib/ollama/cuda_v13
export CUDA_VISIBLE_DEVICES=0


/usr/local/lib/ollama/llama-server \
--model /usr/share/ollama/.ollama/models/blobs/sha256-e791f710e32aef14c3c0bcdebe54f46883d49e8882ad554dab11f74f584c9387 \
--mmproj /usr/share/ollama/.ollama/models/blobs/sha256-204d757d7610d9b3faab10d506d69e5b244e32bf765e2bab2d0167e65e0a058a \
--port 8118 \
--host 0.0.0.0 \
--temp 0

# 加速启动 --temp 0 --parallel 12 --flash-attn on -b 2048

简易OCR请求参考

curl -L -o ./paddleocr_vl_demo.png https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png && \
cat << EOF | curl -s -X POST http://localhost:8118/v1/chat/completions -H "Content-Type: application/json" -d @- | jq -r '.choices[0].message.content'
{
  "model": "paddleocr-vl",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "OCR:"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,$(base64 -w0 ./paddleocr_vl_demo.png)"
          }
        }
      ]
    }
  ],
  "temperature": 0
}
EOF

⚠️重要提示

参考https://www.paddleocr.ai/main/version3.x/pipeline_usage/PaddleOCR-VL.html

PaddleOCR-VL 整体由版面分析与 VLM 识别两个核心阶段组成。下图展示了一个简化的流程: image.png

在该流程中,第一阶段为版面分析:模型以整图作为输入,检测并定位图像中的各类版面元素(例如表格、公式等),同时确定其阅读顺序,并根据检测结果裁剪出对应的元素子图;第二阶段为 VLM 识别:将每个子图独立输入 VLM,生成对应的识别结果(例如 Markdown 文本),随后再按照版面分析阶段给出的顺序对各元素结果进行合并,得到整幅图像的完整解析结果。因此,若需使用 PaddleOCR-VL 的完整能力,必须采用版面分析与 VLM 识别协同的完整流程,而不能仅单独使用 VLM。

搭配PaddleOCR版面识别


# 安装PaddlePaddle和PaddleOCR,安装版面识别工具
python -m pip install paddlepaddle-gpu==3.3.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu130/
python -m pip install "paddleocr[all]"
paddleocr doc_parser --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png --vl_rec_backend llama-cpp-server --vl_rec_server_url http://localhost:8118/v1

# 或者指定ollama处理
ollama pull AuditAid/PaddleOCR-VL-1.6-0.9B
paddleocr doc_parser   --input /root/paddleocr_vl_demo.png   --vl_rec_backend llama-cpp-server   --vl_rec_server_url http://localhost:11434/v1   --vl_rec_api_model_name "AuditAid/PaddleOCR-VL-1.6-0.9B" # --save_path ./output # 输出docx、md、json和图片绘制结果用此参数。

# 建议用UV安装 服务化部署参考:https://www.paddleocr.ai/main/version3.x/pipeline_usage/PaddleOCR-VL.html#42