715 Downloads Updated 3 weeks ago
ollama run AuditAid/PaddleOCR-VL-1.6-0.9B
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"
# 参考: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
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 识别两个核心阶段组成。下图展示了一个简化的流程:
在该流程中,第一阶段为版面分析:模型以整图作为输入,检测并定位图像中的各类版面元素(例如表格、公式等),同时确定其阅读顺序,并根据检测结果裁剪出对应的元素子图;第二阶段为 VLM 识别:将每个子图独立输入 VLM,生成对应的识别结果(例如 Markdown 文本),随后再按照版面分析阶段给出的顺序对各元素结果进行合并,得到整幅图像的完整解析结果。因此,若需使用 PaddleOCR-VL 的完整能力,必须采用版面分析与 VLM 识别协同的完整流程,而不能仅单独使用 VLM。
# 安装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