<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
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

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

      0
      分享至

      大家好,我是 Ai 學(xué)習(xí)的老章

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

      ?
      ?
      ??

      很多同學(xué)問選哪個?

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

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

      前端其實純 HTML+CSS+js 實現(xiàn),為了內(nèi)網(wǎng)部署,不依賴任何 CND。

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

      點擊 Run OCR Comparison 即可

      三者都很快,內(nèi)置了輕量級 Markdown 解析其,自動渲染結(jié)果。

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

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

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

      #!/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):
      """調(diào)用單個 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")
      # 并行調(diào)用三個 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)

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

      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.

      相關(guān)推薦
      熱點推薦
      中國批準(zhǔn)稀土出口,日媒歡呼:對華反制措施見效,下一秒遭打臉

      中國批準(zhǔn)稀土出口,日媒歡呼:對華反制措施見效,下一秒遭打臉

      書紀(jì)文譚
      2026-02-10 18:32:15
      上海洗浴中心成新頂流,俄羅斯美女博主被圈粉,還有海外游客專門飛來打卡

      上海洗浴中心成新頂流,俄羅斯美女博主被圈粉,還有海外游客專門飛來打卡

      界面新聞
      2026-02-11 18:31:08
      四川成都一佳人好漂亮, 身高169cm,體重48kg 美的讓人移不開眼

      四川成都一佳人好漂亮, 身高169cm,體重48kg 美的讓人移不開眼

      喜歡歷史的阿繁
      2026-02-07 14:21:17
      退伍回村救了個落水女人,2天后縣長突然來電:明天來我辦公室

      退伍回村救了個落水女人,2天后縣長突然來電:明天來我辦公室

      秋風(fēng)專欄
      2025-08-13 15:54:55
      頭部朝下落地!中國33歲冬奧老將出意外:被抬出雪場 目前意識清醒

      頭部朝下落地!中國33歲冬奧老將出意外:被抬出雪場 目前意識清醒

      風(fēng)過鄉(xiāng)
      2026-02-11 20:52:27
      女子8年拒絕8次男友求婚,男友無奈另娶她人,女友:憑什么?

      女子8年拒絕8次男友求婚,男友無奈另娶她人,女友:憑什么?

      小蔣愛嘮嗑
      2026-02-11 05:33:41
      特朗普下達(dá)最后通牒,要求臺當(dāng)局立即付款,否則將取消對臺軍售

      特朗普下達(dá)最后通牒,要求臺當(dāng)局立即付款,否則將取消對臺軍售

      東極妙嚴(yán)
      2026-02-11 12:54:31
      亞馬爾連續(xù)5場破門+西甲24球,打破梅西和姆巴佩兩項紀(jì)錄

      亞馬爾連續(xù)5場破門+西甲24球,打破梅西和姆巴佩兩項紀(jì)錄

      晚霧空青
      2026-02-11 08:41:59
      從一晚三千到無人接盤,五星級酒店集體被甩賣,這場泡沫該誰買單

      從一晚三千到無人接盤,五星級酒店集體被甩賣,這場泡沫該誰買單

      青眼財經(jīng)
      2026-01-19 23:37:28
      萬斯:伊朗人民想推翻政權(quán),那得靠他們自己

      萬斯:伊朗人民想推翻政權(quán),那得靠他們自己

      桂系007
      2026-02-11 23:38:09
      笑麻了!以為兩人相伴了一輩子,其實厭煩了幾十年!

      笑麻了!以為兩人相伴了一輩子,其實厭煩了幾十年!

      墻頭草
      2026-02-09 16:37:03
      生圖能打!孟子義青島逛街被偶遇,路人驚呼:白到發(fā)光比精修還美

      生圖能打!孟子義青島逛街被偶遇,路人驚呼:白到發(fā)光比精修還美

      心靈得以滋養(yǎng)
      2026-02-11 21:50:42
      女演員千萬別整容!看《夜色正濃》里40歲江疏影和36歲藍(lán)盈瑩

      女演員千萬別整容!看《夜色正濃》里40歲江疏影和36歲藍(lán)盈瑩

      章眽八卦
      2026-02-11 12:40:57
      回顧“91女神”琪琪:五官出眾,卻因天真讓自己“受傷”

      回顧“91女神”琪琪:五官出眾,卻因天真讓自己“受傷”

      就一點
      2025-11-22 10:36:39
      我去!塔圖姆被下放了!!

      我去!塔圖姆被下放了!!

      柚子說球
      2026-02-11 17:20:08
      利物浦遭重創(chuàng)!后場萬金油被擔(dān)架抬下 面臨長期傷停

      利物浦遭重創(chuàng)!后場萬金油被擔(dān)架抬下 面臨長期傷停

      球事百科吖
      2026-02-12 07:23:26
      3人共禁賽13場!這大概是年度最兇沖突了!

      3人共禁賽13場!這大概是年度最兇沖突了!

      柚子說球
      2026-02-12 07:52:13
      這跟不穿有什么區(qū)別?王楚然裙子太短露膚度極高,胡意旋身材曼妙

      這跟不穿有什么區(qū)別?王楚然裙子太短露膚度極高,胡意旋身材曼妙

      樂悠悠娛樂
      2026-02-10 12:44:32
      比賭博還狠的“隱形毒藥”,正慢慢掏空中國家庭,無數(shù)人被它拖垮

      比賭博還狠的“隱形毒藥”,正慢慢掏空中國家庭,無數(shù)人被它拖垮

      千秋文化
      2026-02-10 20:55:47
      梁朝偉過安檢可憐眼神向劉嘉玲求救前所未見 老婆搞笑反應(yīng)曝光

      梁朝偉過安檢可憐眼神向劉嘉玲求救前所未見 老婆搞笑反應(yīng)曝光

      達(dá)達(dá)哥
      2026-02-10 21:52:25
      2026-02-12 08:35:00
      機(jī)器學(xué)習(xí)與Python社區(qū) incentive-icons
      機(jī)器學(xué)習(xí)與Python社區(qū)
      機(jī)器學(xué)習(xí)算法與Python
      3247文章數(shù) 11085關(guān)注度
      往期回顧 全部

      科技要聞

      Meta將斥資超100億美元建設(shè)數(shù)據(jù)中心

      頭條要聞

      環(huán)球:高市"豪賭"大勝 軍工業(yè)恐成日本經(jīng)濟(jì)"搖錢樹"

      頭條要聞

      環(huán)球:高市"豪賭"大勝 軍工業(yè)恐成日本經(jīng)濟(jì)"搖錢樹"

      體育要聞

      搞垮一個冬奧選手,只需要一首歌?

      娛樂要聞

      大孤山風(fēng)波愈演愈烈 超50位明星扎堆

      財經(jīng)要聞

      廣州前首富被判無期 200億集資窟窿何償

      汽車要聞

      比亞迪最美B級SUV? 宋Ultra這腰線美翻了

      態(tài)度原創(chuàng)

      教育
      家居
      時尚
      健康
      軍事航空

      教育要聞

      高考地理中的木本植物擴(kuò)張

      家居要聞

      簡雅閑居 靜享時光柔

      其實你不需要這么多褲子,留這3條就夠用!

      轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

      軍事要聞

      特朗普:若美伊談判失敗 或再派一支航母打擊群

      無障礙瀏覽 進(jìn)入關(guān)懷版