<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      擼了一個 OCR 大模型對比工具:DeepSeekOCR、PaddleOCR 和 混元OCR

      0
      分享至

      大家好,我是 Ai 學習的老章

      最近的 OCR 大模型我都做了本地部署和測試,還寫了一個 API 統一對接這三個模型

      ?
      ?
      ??

      很多同學問選哪個?

      成年人怎么還在做選擇呢,必須全都要啊

      我用 FastAPI 框架擼了一個簡單的 OCR 模型對比工具,可以實現同樣的提示詞 + 圖片/PDF,利用 Python 多線程并行調用 DeepSeek、Paddle 和 混元這三個模型的 API 進行解析,并將結果并排展示。

      前端其實純 HTML+CSS+js 實現,為了內網部署,不依賴任何 CND。

      使用也很簡單,圖片/PDF 上傳之后,輸入提示詞,沒有特殊要求,使用默認就行。

      點擊 Run OCR Comparison 即可

      三者都很快,內置了輕量級 Markdown 解析其,自動渲染結果。

      也可以切換到識別后的原始 Markdown,支持一鍵 copy

      核心代碼如下(完整代碼接近 600 行,大多是 HTML 相關):

      我這里主要是模型本地部署,內網運行的,沒再折騰線上部署。感興趣的同學可以試試,OCR 模型 API 部分替換成官方/第三方的 API,代碼稍作修改就可以在線部署運行了。

      #!/usr/bin/env python3
      """
      OCR Comparison Web App - 美化版,不依賴外部 CDN
      """
      import os
      import re
      import shutil
      import tempfile
      import requests
      from concurrent.futures import ThreadPoolExecutor

      import uvicorn
      from fastapi import FastAPI, File, Form, UploadFile
      from fastapi.responses import HTMLResponse

      app = FastAPI(title="OCR Comparison")

      # --- Configuration ---
      MODELS = {
      "DeepSeek-OCR": "http://localhost:8002/models/v1//deepseek-ocr/inference",
      "PaddleOCR": "http://localhost:8003/models/v1/PaddleOCR/inference",
      "HunyuanOCR": "http://localhost:8004/models/v1/HunyuanOCR/inference",
      }

      def call_api(model_name, api_url, file_path, prompt):
      """調用單個 OCR API"""
      print(f"[INFO] Calling {model_name}: {api_url}")
      try:
      with open(file_path, 'rb') as f:
      resp = requests.post(
      api_url,
      files={'file': (os.path.basename(file_path), f)},
      data={'prompt': prompt},
      timeout=300
      )
      print(f"[INFO] {model_name} status: {resp.status_code}")
      if resp.status_code == 200:
      data = resp.json()
      result = data.get("result", str(data))
      print(f"[INFO] {model_name} result length: {len(result)}")
      return result
      returnf"HTTP Error: {resp.status_code}"
      except Exception as e:
      print(f"[ERROR] {model_name}: {e}")
      returnf"Error: {e}"

      HTML_PAGE = """

      省略

      """

      @app.get("/", response_class=HTMLResponse)
      asyncdef index():
      return HTML_PAGE

      @app.post("/api/compare")
      asyncdef compare(
      file: UploadFile = File(...),
      prompt: str = Form("Convert the document to markdown.")
      ):
      print(f"\n{'='*60}")
      print(f"[INFO] Received request: {file.filename}")
      print(f"[INFO] Prompt: {prompt[:50]}...")
      print(f"{'='*60}")
      temp_dir = tempfile.mkdtemp()
      temp_path = os.path.join(temp_dir, file.filename)
      try:
      with open(temp_path, "wb") as f:
      content = await file.read()
      f.write(content)
      print(f"[INFO] Saved to: {temp_path}, size: {len(content)} bytes")
      # 并行調用三個 API
      results = {}
      with ThreadPoolExecutor(max_workers=3) as executor:
      futures = {
      "deepseek": executor.submit(call_api, "DeepSeek-OCR", MODELS["DeepSeek-OCR"], temp_path, prompt),
      "paddle": executor.submit(call_api, "PaddleOCR", MODELS["PaddleOCR"], temp_path, prompt),
      "hunyuan": executor.submit(call_api, "HunyuanOCR", MODELS["HunyuanOCR"], temp_path, prompt),
      }
      for name, future in futures.items():
      try:
      result = future.result(timeout=310)
      results[name] = result
      print(f"[INFO] {name} done, length: {len(result)}")
      except Exception as e:
      results[name] = f"Error: {e}"
      print(f"[ERROR] {name}: {e}")
      print(f"[INFO] All done. Returning results.")
      print(f"[DEBUG] Results keys: {list(results.keys())}")
      return results
      finally:
      shutil.rmtree(temp_dir, ignore_errors=True)

      if __name__ == "__main__":
      print("\n" + "="*60)
      print("OCR Comparison Server")
      print("URL: http://0.0.0.0:8080")
      print("="*60 + "\n")
      uvicorn.run(app, host="0.0.0.0", port=8080)

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      張雪:我以前挺喜歡雷軍,挖孔機蓋事件我會給消費者兩個選擇

      張雪:我以前挺喜歡雷軍,挖孔機蓋事件我會給消費者兩個選擇

      金融界
      2026-03-30 17:38:20
      日本8艘宙斯盾艦全改戰斧!射程覆蓋北京上海,威脅中國腹地!

      日本8艘宙斯盾艦全改戰斧!射程覆蓋北京上海,威脅中國腹地!

      詩酒趁的年華
      2026-04-01 05:01:12
      蘋果把M5 MacBook Pro降價15%上架

      蘋果把M5 MacBook Pro降價15%上架

      摸魚算法
      2026-04-02 09:47:10
      Steam大更新:商店大變!玩家好評如潮

      Steam大更新:商店大變!玩家好評如潮

      游民星空
      2026-04-02 11:45:19
      特朗普宣稱已掏空世界最強大國家,伊朗迅速發射大規模導彈

      特朗普宣稱已掏空世界最強大國家,伊朗迅速發射大規模導彈

      兵國大事
      2026-04-02 16:30:24
      有一種貧窮人格:習慣性否定

      有一種貧窮人格:習慣性否定

      洞見
      2026-03-26 09:14:24
      多名院士研究發現:吃一塊桃酥,就等于吃兩勺糖,真的假的?

      多名院士研究發現:吃一塊桃酥,就等于吃兩勺糖,真的假的?

      蜉蝣說
      2026-04-02 09:16:24
      鄭麗文帶核心六人來留下兩老將坐鎮,76歲張榮恭也要爬階拜謁

      鄭麗文帶核心六人來留下兩老將坐鎮,76歲張榮恭也要爬階拜謁

      小影的娛樂
      2026-04-02 12:09:42
      2026年世界杯歷史性時刻:8支阿拉伯球隊成功晉級!

      2026年世界杯歷史性時刻:8支阿拉伯球隊成功晉級!

      球天下資訊
      2026-04-01 23:53:53
      王傳君夫妻疑街頭爭吵!齊溪全程皺眉咄咄逼人,膀大腰圓像是保鏢

      王傳君夫妻疑街頭爭吵!齊溪全程皺眉咄咄逼人,膀大腰圓像是保鏢

      洲洲影視娛評
      2026-04-01 19:20:27
      央視直播乒乓球時間表:4月2日CCTV5節目單,國乒沖擊8強!

      央視直播乒乓球時間表:4月2日CCTV5節目單,國乒沖擊8強!

      皮皮觀天下
      2026-04-02 08:34:35
      太可憐了!2張照片,幾乎就是張雪峰人生的最後定格

      太可憐了!2張照片,幾乎就是張雪峰人生的最後定格

      魔都姐姐雜談
      2026-03-28 04:04:21
      美以襲伊月余,阿拉伯國家損失超千億美元!阿聯酋或成首個對伊直接參戰海灣國

      美以襲伊月余,阿拉伯國家損失超千億美元!阿聯酋或成首個對伊直接參戰海灣國

      紅星新聞
      2026-04-01 13:04:24
      從高點暴跌20%!華爾街預言:金價將復制2008年,3年暴漲178%

      從高點暴跌20%!華爾街預言:金價將復制2008年,3年暴漲178%

      阿鳧愛吐槽
      2026-04-02 09:01:25
      西媒:特朗普“受挫名單”暴露美國實力上限

      西媒:特朗普“受挫名單”暴露美國實力上限

      參考消息
      2026-04-02 16:37:05
      男子陰莖癌晚期,夫妻生活一向干凈,妻子:他就是改不了這個習慣

      男子陰莖癌晚期,夫妻生活一向干凈,妻子:他就是改不了這個習慣

      路醫生健康科普
      2026-02-04 06:00:03
      盡管特朗普威脅退出北約,但想辦到還是有難度的

      盡管特朗普威脅退出北約,但想辦到還是有難度的

      山河路口
      2026-04-02 15:23:16
      速效救心丸立大功!醫生發現:老人吃速效救心丸,能緩解4種癥狀

      速效救心丸立大功!醫生發現:老人吃速效救心丸,能緩解4種癥狀

      路醫生健康科普
      2026-03-25 23:35:03
      老婆月薪19000卻不幫我弟還房貸,我一氣之下提離婚,她反應我愣了

      老婆月薪19000卻不幫我弟還房貸,我一氣之下提離婚,她反應我愣了

      匹夫來搞笑
      2026-04-02 14:31:01
      爆發!場均19+10+三分52.9%,6換2血賺,最強幫手,華子等到了

      爆發!場均19+10+三分52.9%,6換2血賺,最強幫手,華子等到了

      球童無忌
      2026-04-02 16:26:12
      2026-04-02 17:32:49
      Ai學習的老章 incentive-icons
      Ai學習的老章
      Ai學習的老章
      3303文章數 11122關注度
      往期回顧 全部

      科技要聞

      三年虧20億,最新估值58億,Xreal沖刺港股

      頭條要聞

      外媒稱伊朗已向中國尋求安全保障 外交部回應

      頭條要聞

      外媒稱伊朗已向中國尋求安全保障 外交部回應

      體育要聞

      這六個字,代表了邵佳一的新國足

      娛樂要聞

      宋寧峰帶女兒出軌,張婉婷找董璇哭訴

      財經要聞

      電商售械三水光針 機構倒貨or假貨猖獗?

      汽車要聞

      三電可靠 用料下本 百萬公里的蔚來ES6 拆開看

      態度原創

      親子
      本地
      手機
      時尚
      公開課

      親子要聞

      輔酶q10備孕怎么吃?高齡備孕吃什么提高卵泡數量?

      本地新聞

      從學徒到世界冠軍,為什么說張雪的底氣在重慶?

      手機要聞

      一加首發魔改版天璣9500:直接修改GPU底層調度 性能大爆發

      女人有沒有品位看看穿搭就知道,這些造型值得借鑒,溫柔高級

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版