fix: disable chart recognition due to PaddlePaddle 3.0.0 API limitation

PaddleOCR-VL chart recognition model requires `fused_rms_norm_ext` API
which is not available in PaddlePaddle 3.0.0 stable release.

Changes:
- Set use_chart_recognition=False in PP-StructureV3 initialization
- Remove unsupported show_log parameter from PaddleOCR 3.x API calls
- Document known limitation in openspec proposal
- Add limitation documentation to README
- Update tasks.md with documentation task for known issues

Impact:
- Layout analysis still detects/extracts charts as images ✓
- Tables, formulas, and text recognition work normally ✓
- Deep chart understanding (type detection, data extraction) disabled ✗
- Chart to structured data conversion disabled ✗

Workaround: Charts saved as image files for manual review

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
egg
2025-11-14 13:16:17 +08:00
parent 80c091b89a
commit b048f2d640
5 changed files with 119 additions and 133 deletions

View File

@@ -106,9 +106,6 @@ echo -e "${YELLOW}[6/9] 偵測 GPU 和 CUDA 支援...${NC}"
# GPU 偵測函數
detect_gpu() {
# 初始化變量
PADDLE_INDEX=""
# 檢查是否有 NVIDIA GPU
if command -v nvidia-smi &> /dev/null; then
echo -e "${GREEN}✓ 偵測到 NVIDIA GPU${NC}"
@@ -124,34 +121,23 @@ detect_gpu() {
CUDA_MINOR=$(echo $CUDA_VERSION | cut -d. -f2)
if [ "$CUDA_MAJOR" -ge 13 ]; then
echo -e "${YELLOW}⚠ CUDA 13.x 偵測到${NC}"
echo "PaddlePaddle 目前最高支援 CUDA 12.x"
echo "將嘗試安裝 CUDA 12.x 編譯的 GPU 版本(可能兼容)"
echo "將安裝 PaddlePaddle GPU 版本 (CUDA 13.x)"
echo "使用穩定版本 3.0.0 (兼容 CUDA 12.6+)"
USE_GPU=true
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0b2" # 使用支援 CUDA 12.x 的版本
PADDLE_INDEX="https://www.paddlepaddle.org.cn/packages/stable/cu123/"
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0"
PADDLE_INDEX="https://www.paddlepaddle.org.cn/packages/stable/cu126/"
elif [ "$CUDA_MAJOR" -eq 12 ]; then
echo "將安裝 PaddlePaddle GPU 版本 (CUDA 12.x)"
echo "使用穩定版本 3.0.0 (兼容 CUDA 12.3+)"
USE_GPU=true
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0b2"
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0"
PADDLE_INDEX="https://www.paddlepaddle.org.cn/packages/stable/cu123/"
elif [ "$CUDA_MAJOR" -eq 11 ]; then
if [ "$CUDA_MINOR" -ge 7 ]; then
echo "將安裝 PaddlePaddle GPU 版本 (CUDA 11.7+)"
USE_GPU=true
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0b2"
PADDLE_INDEX="https://www.paddlepaddle.org.cn/packages/stable/cu118/"
elif [ "$CUDA_MINOR" -ge 2 ]; then
echo "將安裝 PaddlePaddle GPU 版本 (CUDA 11.2-11.6)"
USE_GPU=true
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0b2"
PADDLE_INDEX="https://www.paddlepaddle.org.cn/packages/stable/cu117/"
else
echo -e "${YELLOW}⚠ CUDA 版本過舊 ($CUDA_VERSION),建議升級到 11.2+${NC}"
echo "將安裝 CPU 版本"
USE_GPU=false
PADDLE_PACKAGE="paddlepaddle"
fi
echo "將安裝 PaddlePaddle GPU 版本 (CUDA 11.x)"
echo "使用穩定版本 3.0.0 (兼容 CUDA 11.8+)"
USE_GPU=true
PADDLE_PACKAGE="paddlepaddle-gpu==3.0.0"
PADDLE_INDEX="https://www.paddlepaddle.org.cn/packages/stable/cu118/"
else
echo -e "${YELLOW}⚠ CUDA 版本不支援 ($CUDA_VERSION)${NC}"
echo "將安裝 CPU 版本"
@@ -184,12 +170,11 @@ pip install --upgrade pip setuptools wheel
echo ""
echo -e "${YELLOW}安裝 PaddlePaddle...${NC}"
if [ "$USE_GPU" = true ]; then
echo "安裝 GPU 加速版本..."
echo "安裝 GPU 加速版本: $PADDLE_PACKAGE"
if [ -n "$PADDLE_INDEX" ]; then
echo "使用官方: $PADDLE_INDEX"
echo "使用官方索引: $PADDLE_INDEX"
pip install "$PADDLE_PACKAGE" -i "$PADDLE_INDEX"
else
echo "使用 PyPI..."
pip install "$PADDLE_PACKAGE"
fi
else