<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.

      相關推薦
      熱點推薦
      我38歲被裁員,公司補償了我75萬,手續辦完后,財務總監追了出來

      我38歲被裁員,公司補償了我75萬,手續辦完后,財務總監追了出來

      五元講堂
      2025-12-23 11:21:19
      蔡英文發文悼北捷案傷亡民眾,鄭麗文諷:高聲量讓賴清德芒刺在背

      蔡英文發文悼北捷案傷亡民眾,鄭麗文諷:高聲量讓賴清德芒刺在背

      海峽導報社
      2025-12-25 15:24:04
      38分!楊瀚森新突破!卻遭主帥雙標對待,開拓者真是又當又立啊

      38分!楊瀚森新突破!卻遭主帥雙標對待,開拓者真是又當又立啊

      涼了時光人
      2025-12-25 19:45:56
      姜昆擔心的事發生了!在美國豪宅唱了一首歌,網上風評全變了!

      姜昆擔心的事發生了!在美國豪宅唱了一首歌,網上風評全變了!

      孤城落日
      2025-12-26 08:51:42
      為什么我要祝你圣誕快樂?

      為什么我要祝你圣誕快樂?

      寰宇大觀察
      2025-12-25 14:08:05
      廣州一家5口墜江遇難,12天前去江門水鄉游玩走錯了路

      廣州一家5口墜江遇難,12天前去江門水鄉游玩走錯了路

      九方魚論
      2025-12-25 22:55:04
      有愛!樊振東曬圣誕節去波爾家做客,戴小紅帽和波叔圣誕樹下拆禮物

      有愛!樊振東曬圣誕節去波爾家做客,戴小紅帽和波叔圣誕樹下拆禮物

      818體育
      2025-12-25 19:26:36
      美國玩砸,搶中國油輪,封鎖石油通道,特朗普突然發現不能亂來

      美國玩砸,搶中國油輪,封鎖石油通道,特朗普突然發現不能亂來

      現代小青青慕慕
      2025-12-26 08:21:17
      庫里圣誕大戰5勝7負!生涯面對克萊3勝2負 賽后擁抱致意眼神超暖

      庫里圣誕大戰5勝7負!生涯面對克萊3勝2負 賽后擁抱致意眼神超暖

      Emily說個球
      2025-12-26 08:58:22
      國家能源集團原董事長被撤銷全國政協委員資格

      國家能源集團原董事長被撤銷全國政協委員資格

      新浪財經
      2025-12-25 19:17:26
      12月25日俄烏:收復庫皮揚斯克,烏克蘭以拖待變等待時機

      12月25日俄烏:收復庫皮揚斯克,烏克蘭以拖待變等待時機

      山河路口
      2025-12-25 19:31:26
      1949年,一個師跑錯路闖進敵窩,林彪看了一眼地圖:全師歸我直接指揮

      1949年,一個師跑錯路闖進敵窩,林彪看了一眼地圖:全師歸我直接指揮

      歷史回憶室
      2025-12-25 10:40:05
      不差錢!曼聯補強計劃啟動,已擬定10人引援大名單,阿莫林真幸福

      不差錢!曼聯補強計劃啟動,已擬定10人引援大名單,阿莫林真幸福

      零度眼看球
      2025-12-26 08:43:24
      女子因桃花眼走紅,訂婚兩年熱度依舊,網友喊話:88號快回來上班

      女子因桃花眼走紅,訂婚兩年熱度依舊,網友喊話:88號快回來上班

      梅子的小情緒
      2025-12-19 14:04:18
      多方回應朱孝天爆料,阿信10字表明態度,朱孝天私信禁言輸得徹底

      多方回應朱孝天爆料,阿信10字表明態度,朱孝天私信禁言輸得徹底

      振華觀史
      2025-12-25 16:15:44
      濃眉傷退!獨行俠無緣17分逆轉!庫里三分10中2,弗拉格創紀錄

      濃眉傷退!獨行俠無緣17分逆轉!庫里三分10中2,弗拉格創紀錄

      體壇小李
      2025-12-26 09:02:41
      46歲周杰倫曬豪宅照,掛98萬古董名畫,網友:以為是3歲女兒畫的

      46歲周杰倫曬豪宅照,掛98萬古董名畫,網友:以為是3歲女兒畫的

      洲洲影視娛評
      2025-12-25 16:14:12
      暖心瞬間!安妮公主俯身與侄孫路易說話,小王子端正傾聽盡顯教養

      暖心瞬間!安妮公主俯身與侄孫路易說話,小王子端正傾聽盡顯教養

      榮亭小吏
      2025-12-25 22:47:27
      某大廠員工:年底了,決定“開了”組里的印度人。

      某大廠員工:年底了,決定“開了”組里的印度人。

      螞蟻大喇叭
      2025-12-25 17:00:32
      朝鮮自己擁核卻反對日本擁核,這套邏輯肯定說不通

      朝鮮自己擁核卻反對日本擁核,這套邏輯肯定說不通

      壹家言
      2025-12-24 11:42:23
      2025-12-26 09:40:49
      機器學習與Python社區 incentive-icons
      機器學習與Python社區
      機器學習算法與Python
      3234文章數 11081關注度
      往期回顧 全部

      科技要聞

      “不再是機器人大國”,日本錯過了什么?

      頭條要聞

      媒體:讓美中產無法翻身的"斬殺線" 震碎中國網友三觀

      頭條要聞

      媒體:讓美中產無法翻身的"斬殺線" 震碎中國網友三觀

      體育要聞

      約基奇有多喜歡馬?

      娛樂要聞

      朱孝天把阿信好意當球踢!

      財經要聞

      涉案近300億元 多方圍剿金融“黑灰產”

      汽車要聞

      速來!智界在上海西岸準備了年末潮流盛典

      態度原創

      時尚
      親子
      數碼
      本地
      房產

      冬季穿衣別顯得太臃腫!大衣收腰、搭配圍巾,有質感又高級

      親子要聞

      一歲以后一定要讓寶寶多涂鴉畫畫,培養想象力和手眼協調

      數碼要聞

      從699元到5.19萬不等,小米17 Ultra發布會產品大匯總

      本地新聞

      這輩子要積多少德,下輩子才能投胎到德國當狗

      房產要聞

      太猛了!單月新增企業4.1萬家,又一波巨頭涌向海南!

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 欧美人成在线播放网站免费| 久久人人爽人人爽人人片av| 热99re久久精品这里都是精品| 国产成人高清亚洲综合| 亚洲日韩?国产丝袜?在线精品| 如皋市| 又爽又黄无遮挡高潮视频网站| 国产顶级熟妇高潮xxxxx| 狠狠色综合久久狠狠色综合| 色色五月婷婷| 嘉荫县| 欧美 日韩 人妻 高清 中文| 日韩人妻熟女中文字幕a美景之屋| 亚洲欧美日韩精品久久亚洲区色播| 中文字幕在线天堂| 孝义市| 久久精品国产亚洲夜色av网站| 欧美mv日韩mv国产网站app | 欧美色欧美亚洲高清在线视频| 操操人妻| 无码人妻毛片丰满熟妇精品区| 国产亚洲精品久久777777| 亚洲情综合五月天| 成人国产综合| 国产成人久久精品流白浆| 欧美性猛交xxxx黑人猛交| mm1313亚洲国产精品| 老司机69| 扒开双腿疯狂进出爽爽爽| 无码人妻精品一区二区三区9厂| 一级国产在线观看高清| 易门县| 曰韩无码av一区二区免费 | 熟女在线视频| 日韩无码人妻中文| 日本免费一区二区三区| 韩国18禁啪啪无遮挡免费| 国产va| 一个人看的www免费视频在线观看| 国产精品亚洲精品日韩已方| 国产精品日韩av在线播放 |