博客 / 詳情

返回

DeepSeek OCR+Fast API 容器化部署傻瓜包

一、前言

由於 DeepSeek-OCR 底層依賴的 LLVM 環境目前不支持 Windows 原生平台,因此在 Windows 系統上無法直接進行本地安裝和部署。為了保證可用性與兼容性,DeepSeek-OCR 主要通過以下方式運行:

  • Docker
  • WSL(Windows Subsystem for Linux)
  • 原生 Linux 環境

為了便於在這些環境中快速搭建完整的 OCR 服務,我基於社區已有的 DeepSeek-OCR + FastAPI 項目進行了 Fork,並補充了必要的中文化處理,使其更適合國內開發者理解與使用。本倉庫保持原倉庫的整體結構與部署方式,僅對後端 API 的中文輸出與提示內容做了調整。

二、功能概述

1. OCR 模型

項目使用 DeepSeek-OCR 模型,支持多種圖像分辨率和自動切片策略,能夠完成普通文本識別、文檔結構化輸出、圖表內容理解等任務。

2. Web 圖形界面

前端支持拖拽上傳、多種模式選擇、模型下載提示以及結果展示。

3. 後端 API

基於 FastAPI 提供統一接口,包括:

  • 文件上傳接口 /api/ocr
  • 健康檢查接口 /health
  • 自動生成的 Swagger 文檔 /docs

4. Docker 化部署

項目使用 Docker Compose 管理,默認包含:

  • deepseek-ocr-api:OCR 推理服務
  • deepseek-ocr-web:前端界面服務
  • HuggingFace 模型緩存 Volume

三、項目結構

deepseek-ocr/
├── backend/            # FastAPI 後端
├── frontend/           # 前端界面(Nginx)
├── uploads/            # 上傳文件目錄
├── outputs/            # OCR 輸出結果目錄
├── docs/               # 相關文檔
└── docker-compose.yml  # 部署配置文件

後端與前端分別擁有獨立 Dockerfile,便於鏡像構建和後續擴展。


四、系統要求

  • Docker 20.10+
  • Docker Compose 2.0+
  • NVIDIA GPU(如需加速)
  • CUDA 11.8+
  • 至少 8GB 顯存(推薦)
  • 10GB 以上磁盤空間(用於模型緩存)

五、部署方式

1. 克隆倉庫

git clone https://github.com/daibitx/deepSeek-ocr-docker-compose
cd deepSeek-ocr-docker-compose

2. 啓動服務

docker-compose up -d

3. 訪問服務

服務 地址
Web 界面 http://localhost:3000
健康檢查 http://localhost:8000/health

首次訪問界面時需要根據提示下載模型,也可以使用 Demo 模式進行體驗。


六、API 使用示例

/api/ocr 提交圖像文件:

curl -X POST "http://localhost:8000/api/ocr" \
  -F "file=@image.jpg" \
  -F "mode=markdown"

返回格式示例:

{
  "text": "# 標題\n內容……",
  "mode": "markdown",
  "processing_time": 2.5,
  "image_size": [1024, 768],
  "tokens": 2257
}

七、Docker Compose 配置要點

後端 GPU 加速配置示例:

deploy:
  resources:
    reservations:
      devices:
        - driver: nvidia
          count: 1
          capabilities: [gpu]

模型路徑緩存:

volumes:
  model_cache:

八、常見問題

1. GPU 未識別

運行:

docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

如無法識別,請檢查:

  • NVIDIA 驅動
  • nvidia-container-toolkit

2. 模型下載失敗

可能原因包括:

  • 網絡訪問受限
  • HuggingFace 權限問題
  • 磁盤空間不足

3. 顯存不足

可在後端調整基礎分辨率:

BASE_SIZE = 640

九、倉庫説明(Fork 説明)

本項目基於以下原始倉庫進行 Fork:

  • 原倉庫(英文版)
    https://github.com/zademy/deepSeek-ocr-docker-compose
  • 我維護的倉庫(中文增強版)
    https://github.com/daibitx/deepSeek-ocr-docker-compose

本倉庫修改內容如下:

  1. 後端 API 返回內容和部分提示信息進行了中文化處理。
  2. 前端界面未進行代碼層面的漢化,如需使用中文界面,可依賴瀏覽器自帶翻譯功能。
  3. 未修改原倉庫的整體邏輯、部署方式及模型流程。

重要説明

如果在部署過程中遇到技術性問題,請優先參考原倉庫的説明文檔、Issue 討論或原作者的更新內容。本倉庫主要提供中文使用體驗,並不替代原倉庫的官方維護。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.