概述:為何 Dolphin v2 對內容創作者至關重要#
Dolphin v2 是一個開源的文件圖像解析模型,旨在將複雜的視覺文件(如掃描的 PDF、收據、表格、幻燈片、雜誌和故事板)轉換為結構化的、機器可讀的輸出。對於經常與混亂的輸入和耗時的管理任務作鬥爭的內容創作者來說,Dolphin v2 承諾了一條從原始文件到可編輯、可搜索和自動化的有用資產的更快途徑。
無論您是從 PDF 中提取腳本的影片創作者、解析品牌指南和樣式表的設計師、從掃描書籍中編譯參考文獻的作家,還是組織角色台詞表的配音演員,Dolphin v2 都可以將非結構化的文件圖像轉換為乾淨的 JSON、CSV、Markdown 或純文本。它是開源的(MIT 許可證),正在積極開發中,並且可以在 GitHub 上找到:https://github.com/bytedance/Dolphin,模型通過社群託管(請參閱項目文檔中的 Hugging Face 鏈接)。
在本指南中,我們將概述 Dolphin v2 是什麼、與 v1 相比有哪些新功能、它的工作原理、如何安裝和使用它、常見的陷阱、性能考量以及實際的創意用例——以便您可以自信地將 Dolphin v2 引入您的日常工作流程。
什麼是 Dolphin v2?#
概覽:
- Dolphin v2 是一個文件圖像解析模型,可以讀取圖像或 PDF 並輸出結構化數據。
- 它的目標是無 OCR 或輕 OCR 管道,最大限度地減少對脆弱的 OCR 步驟的依賴。
- 它支持多種文件類型(表格、發票、表格、圖表、多欄雜誌、海報)。
- 它適用於快速本地推斷和可擴展的伺服器部署。
- 它是 MIT 許可證下的開源,促進商業和研究用途。
- 代碼、模型、演示和文檔通過官方 GitHub 存儲庫維護:https://github.com/bytedance/Dolphin。
Dolphin v2 的構建旨在實用、穩健且對開發人員友好。它旨在減少圍繞文件理解的摩擦,並加速複雜的預製作或後期製作任務,在這些任務中,創作者通常會花費數小時手動轉錄、標記和重新組織內容。
Dolphin v2 與 v1 的新功能#
Dolphin v2 專注於生活品質的改進、真實場景中的穩健性以及易於集成。雖然確切的實施細節會不斷發展,但創作者可以期望以下主要改進:
-
對真實世界捕獲的穩健性:
- 更好地處理傾斜、低光或不完美的移動掃描。
- 提高對嘈雜的註釋、印章和水印的容忍度。
-
更好的結構理解:
- 更精確的多欄、多語言出版物佈局解析。
- 更強大地處理表格、圖表以及表格和發票中常見的鍵值對。
-
更長的文件支持:
- 改進的分塊、分頁感知和跨頁上下文。
- 更流暢地拼接跨多頁 PDF 的結構化輸出。
-
輕 OCR/無 OCR 模式:
- 減少了對單獨 OCR 步驟的需求;當使用 OCR 時,Dolphin v2 支持插入式 OCR 引擎作為後備。
-
JSON 優先輸出:
- 更乾淨、一致的架構,適用於 Notion、Airtable、Figma 插件、電子表格或 NLE 腳本中的下游自動化。
-
簡化的部署:
- 更直接的伺服器/API 示例,以及更快的生產使用冷啟動。
- 更容易導出為 CSV、Markdown 和 HTML 等格式。
-
更好的開發人員體驗:
- 更清晰的配置、示例筆記本和參考管道。
- MIT 許可證使商業管道中的採用變得簡單。
總之,這些改進使 Dolphin v2 更易於信任、更快地採用,並且對於各種規模的以創作者為中心的工作流程更有效。
Dolphin v2 的工作原理(高階)#
雖然具體的模塊和訓練配方已記錄在存儲庫中,但以下是 Dolphin v2 處理文件的概念視圖:
-
視覺編碼:
- 輸入頁面圖像(來自 PDF 或相機捕獲)經過歸一化,並饋送到視覺骨幹中,以產生具有佈局感知的豐富視覺嵌入。
-
語言和結構解碼:
- 文本解碼器(通常是 Transformer)生成結構化令牌,表示文檔內容和佈局元素(標題、段落、列表、表格、單元格、鍵值對)。
-
架構引導生成:
- Dolphin v2 經過調整,可以生成結構化輸出(通常是 JSON),遵循您可以映射到應用程式的可預測架構。
- 這包括表格單元格坐標、閱讀順序、章節標題以及表格中標籤和值之間的關聯。
-
可選的 OCR 集成:
- 對於特定語言或低對比度圖像,OCR 插件可以提高文本保真度。Dolphin v2 具有靈活性:使用無 OCR 模式以提高速度和簡潔性,或使用混合模式以提高在困難情況下的準確性。
-
後處理:
- 輸出被標準化為您的生產工具可以使用的格式。考慮用於電子表格的 CSV、用於文檔和 Wiki 的 Markdown 或用於自動化和 API 的 JSON。
對於創作者來說,關鍵點是 Dolphin v2 旨在最大限度地減少手動清理。您可以獲得結構化的內容,可以隨時編輯、對齊或發布,而無需從頭開始重建您的管道。
系統需求和兼容性#
Dolphin v2 旨在在現代消費者和工作站設置上運行。典型要求:
- 作業系統:Linux 或 Windows(macOS 用於 CPU 推斷;GPU 加速因硬體而異)
- Python:3.8–3.11(檢查存儲庫以獲取確切版本)
- 依賴項:PyTorch(GPU 版本需要 CUDA 支持)、OpenCV、Pillow 和其他標準 ML 庫
- 硬體:
- 僅 CPU 推斷對於小型作業是可能的。
- 對於實時或批量吞吐量,建議使用單個現代 GPU(例如,12–24 GB VRAM)。
- 多 GPU 設置可以加速跨長 PDF 或大型檔案的大規模處理。
兼容性:
- PDF 通常按頁面拆分為圖像;Dolphin v2 處理這些頁面圖像 (PNG/JPG)。
- 通過 JSON/CSV 與基於 Python 的自動化、REST API 和創意工具鏈良好集成。
- MIT 許可證使 Dolphin v2 易於插入專有工作流程。
始終查閱 https://github.com/bytedance/Dolphin 以獲取最準確、最新的要求。
安裝和快速入門#
Dolphin v2 支持本地和伺服器部署。確切的步驟可能會有所不同;以下內容反映了官方存儲庫中的典型流程。
選項 A:從源代碼
# 1) 克隆存儲庫
git clone https://github.com/bytedance/Dolphin.git
cd Dolphin
# 2)(推薦)創建一個乾淨的環境
# 以 Conda/Mamba 為例:
conda create -n dolphinv2 python=3.10 -y
conda activate dolphinv2
# 3) 安裝依賴項(請參閱存儲庫以獲取確切的需求文件)
pip install -r requirements.txt
# 4)(可選)根據您的 CUDA 版本安裝啟用 GPU 的 PyTorch:
# 訪問 https://pytorch.org/get-started/locally/ 以獲取正確的命令
# 5) 按照存儲庫或模型卡中的文檔下載模型權重
# 例如,scripts/download_weights.sh(如果提供)或手動下載
# 6) 運行快速推斷演示(示例命令 - 檢查存儲庫以獲取具體信息)
python tools/infer.py \
--image_path ./samples/invoice_01.jpg \
--output ./outputs/invoice_01.json \
--config ./configs/dolphin_v2.yaml \
--weights ./weights/dolphin_v2.pth
選項 B:使用提供的筆記本或演示應用程式
- 該存儲庫通常包含一個具有端到端示例的 Jupyter 筆記本。
- 一些社群版本在 Hugging Face 上發布 Dolphin v2。如果預構建的管道可用,請嘗試使用您的瀏覽器或 Colab 筆記本。
說明性 Python 片段(僅模式 - 請參閱存儲庫以獲取確切的 API):
from pathlib import Path
from PIL import Image
import json
# 偽代碼:實際的 API 名稱可能不同
# 例如,dolphin.load_model()、dolphin.preprocess()、dolphin.postprocess()
# 1) 加載模型
model = load_dolphin_v2(weights_path="weights/dolphin_v2.pth", device="cuda:0")
# 2) 預處理圖像
img = Image.open("samples/storyboard_page.jpg").convert("RGB")
batch = preprocess_for_dolphin_v2([img])
# 3) 推斷
with torch.no_grad():
raw_outputs = model(batch)
# 4) 後處理為結構化 JSON
result = postprocess_dolphin_v2(raw_outputs)[0]
# 5) 保存並檢查
Path("outputs").mkdir(exist_ok=True)
with open("outputs/storyboard_page.json", "w", encoding="utf-8") as f:
json.dump(result, f, ensure_ascii=False, indent=2)
print("Extracted keys:", list(result.keys()))
提示:Dolphin v2 通常返回結構化元素,如段落、標題、帶有單元格的表格或表格的鍵值字段。您可以將它們轉換為 CSV、Markdown 或您的 CMS 架構。
在生產 API 中使用 Dolphin v2#
許多團隊將 Dolphin v2 包裝在輕量級 REST 服務中,並從創意工具、NLE 或自動化腳本中調用它。一個最小的 FastAPI 示例(僅結構;適應存儲庫的功能):
from fastapi import FastAPI, UploadFile, File
from PIL import Image
import io, json
app = FastAPI()
model = load_dolphin_v2(weights_path="weights/dolphin_v2.pth", device="cuda:0")
@app.post("/parse")
async def parse_document(file: UploadFile = File(...)):
content = await file.read()
image = Image.open(io.BytesIO(content)).convert("RGB")
batch = preprocess_for_dolphin_v2([image])
with torch.no_grad():
raw = model(batch)
result = postprocess_dolphin_v2(raw)[0]
return result # FastAPI 將序列化 dict->JSON
將其部署在 Nginx 或無伺服器 GPU 端點後面,並將其連接到您的 MAM/DAM 系統、Google Sheets、Notion 或您自己的管道。
性能和基準#
性能取決於您的 GPU、輸入分辨率和文檔複雜性。一般來說:
- Dolphin v2 旨在在多欄頁面、表格、發票和嘈雜的掃描上提供比 v1 更高的準確性。
- 每頁的延遲在單個現代 GPU 上可以接近實時,批量處理可以加速多頁 PDF。
- 為了獲得最佳效果,請將輸入分辨率與模型的建議設置對齊(請參閱配置)。
比較:
- 與傳統的 OCR + 基於規則的解析相比,Dolphin v2 減少了脆弱的啟發式方法和手動清理。
- 與舊的文件理解堆棧相比,Dolphin v2 強調佈局、結構保真度和一致的架構。
- 社群報告表明,在常見基準(例如,FUNSD、SROIE、DocVQA 樣式任務)上,與最先進的無 OCR 方法相比,結果具有競爭力。有關確切的數字和圖表,請參閱存儲庫的基準部分和模型卡。
可重現的基準測試提示:
- 固定輸入分辨率和批量大小。
- 使用一組保留的真實文檔(不僅僅是公共數據集)。
- 測量精度(文本保真度、結構準確性)和成本(延遲、GPU 內存)。
- 記錄後處理時間;它在生產中很重要。
創作者的真實世界用例#
Dolphin v2 在日常創意工作流程中大放異彩:
-
影片創作者和編輯:
- 從 PDF 和掃描的筆記本中提取腳本和鏡頭列表。
- 將故事板轉換為結構化數據,使其更容易計劃編輯和跟踪連續性。
- 從帶有演講者備註的幻燈片自動生成字幕草稿。
-
設計師和藝術總監:
- 將品牌指南解析為可搜索的 Markdown 和組件規範。
- 從樣式化的 PDF 中提取調色板、排版規則和網格規範。
-
作家和研究人員:
- 將掃描的參考文獻轉換為乾淨、結構化的帶有引文和引號的筆記。
- 將多欄學術 PDF 解析為章節,同時保留閱讀順序。
-
配音演員和音頻製作人:
- 將角色表、通告單和側邊欄轉換為標準化的 CSV,以便快速查找。
- 將發音指南和註釋提取到結構化詞典中。
-
自由職業者和工作室:
- 自動化發票和收據解析,以進行會計和稅務準備。
- 將 NDA 和合同處理為鍵值摘要(交易對手、日期、金額)。
在所有情況下,Dolphin v2 都可以減少重複的手動工作,並釋放更多時間用於創意決策。
集成模式和最佳實踐#
- JSON 優先:在您的管道中將 Dolphin v2 輸出保留為 JSON。僅在最後一步轉換為 CSV/Markdown。
- 人工參與:對於關鍵文檔,添加一個快速審閱 UI,編輯可以在其中批准或更正輸出。
- 模板和提示:如果存儲庫提供架構模板或提示,請在您的團隊中進行標準化,以便輸出可預測。
- 後處理規則:添加輕量級規則來處理邊緣情況(例如,合併拆分行、修復 OCR 後備怪癖)。
- 版本固定:在生產中固定 Dolphin v2 權重和配置版本,以避免更新期間出現意外更改。
- 存儲:保存原始圖像和 Dolphin v2 JSON 輸出,以實現可追溯性和快速重新處理。
許可、治理和社群#
- 許可證:MIT 許可證 - 寬鬆,適用於商業和開源用途。請參閱 https://github.com/bytedance/Dolphin 中的 LICENSE。
- 透明度:檢查存儲庫的 README、模型卡和變更日誌,以了解當前的限制和預期用途。
- 貢獻:該項目歡迎問題和拉取請求。打開工單以獲取錯誤、功能請求或文檔改進。
- 社群:討論和問答通常通過 GitHub Issues 進行;在存儲庫中查找指向任何官方論壇或 Hugging Face 社群線程的鏈接。
通過在 MIT 下採用 Dolphin v2,團隊可以安全地將其集成到專有的創意管道和產品中。
Dolphin v2 故障排除#
常見問題和修復:
-
GPU 上的內存不足 (OOM):
- 降低輸入分辨率或批量大小。
- 如果支持,請使用混合精度 (AMP)。
- 切換到 CPU 以處理較小的作業,或使用具有更多 VRAM 的 GPU。
-
不匹配的依賴項:
- 確保 PyTorch/CUDA 版本與您的驅動程式和作業系統匹配。
- 重新創建一個乾淨的虛擬環境並重新安裝需求。
-
不正確的閱讀順序:
- 在 Dolphin v2 配置中啟用或調整佈局感知設置。
- 預處理輸入:去傾斜、增加對比度、裁剪邊距。
-
表格解析錯誤:
- 增加具有密集表格的文檔的頁面分辨率。
- 驗證後處理中的表格檢測閾值。
-
多語言文本問題:
- 嘗試針對特定語言的 OCR 混合模式。
- 更新語言包並確保字體可用於渲染。
-
跨版本的不一致 JSON 架構:
- 在生產中固定您的 Dolphin v2 版本。
- 添加一個轉換器步驟來規範化版本之間的字段。
-
屏幕或光面紙照片效果不佳:
- 避免反射;在漫射光下拍攝。
- 使用掃描應用程式來增強對比度並展平透視圖。
如果您遇到困難,請搜索現有問題或在 https://github.com/bytedance/Dolphin 上打開一個新問題,並提供一個最小的可重現示例。
安全和隱私注意事項#
- 盡可能在本地處理敏感文檔。
- 如果將 Dolphin v2 部署為服務,請保護 API(身份驗證、速率限制、TLS)。
- 僅記錄您需要的內容;避免在不必要時存儲原始文檔。
- 文檔保留策略應符合您客戶的合同和法規。
路線圖注意事項#
雖然確切的路線圖會不斷發展,但預計在以下方面會不斷改進:
- 多語言穩健性和長文檔處理
- 速度/內存優化
- 更好的表格/圖表理解和圖形標題
- 開發人員工具:升級的演示、UI 註釋器和基準測試工具
關注存儲庫中與 Dolphin v2 相關的發布、標籤和變更日誌條目。
行動號召#
- 探索代碼和文檔:https://github.com/bytedance/Dolphin
- 嘗試一個示例:在您自己的工作流程中的幾個頁面上運行 Dolphin v2 並測量節省的時間。
- 分享反饋:打開問題、提出功能並貢獻有助於其他創作者的示例。
- 集成:將 Dolphin v2 包裝在一個小型 API 中,並在本週將其插入到您的內容管道中。
Dolphin v2 旨在使文件理解感覺像是創意團隊的本機構建模塊。從小處著手,快速迭代,讓結構化輸出完成繁重的工作,而您則專注於工藝。
常見問題解答#
Dolphin v2 是否已正式發布且開源?#
是的。Dolphin v2 在 https://github.com/bytedance/Dolphin 的官方存儲庫中可用,並且在 MIT 許可證下開源。檢查存儲庫的發布和標籤以獲取最新版本。
Dolphin v1 和 Dolphin v2 之間的主要區別是什麼?#
Dolphin v2 提高了真實世界的穩健性、結構化輸出一致性、表格/表格理解以及易於部署性。它還強調更流暢的多頁處理和適用於創意自動化的 JSON 優先管道。
我可以在沒有 GPU 的情況下使用 Dolphin v2 嗎?#
是的,對於小型工作負載。CPU 推斷是可能的,但速度較慢。對於生產吞吐量或大型 PDF,建議使用現代 GPU。Dolphin v2 從 GPU 加速中受益匪淺。
Dolphin v2 是否需要 OCR?#
不嚴格。Dolphin v2 支持無 OCR 模式,並且可以將 OCR 集成為後備。對於困難的情況(低對比度、稀有腳本),混合設置可能會提高準確性。
如何安裝 Dolphin v2?#
克隆存儲庫,創建一個乾淨的 Python 環境,安裝需求,下載模型權重,然後運行示例推斷腳本。確切的步驟和命令已記錄在 Dolphin v2 存儲庫中。
Dolphin v2 可以輸出哪些文件格式?#
Dolphin v2 通常輸出結構化 JSON,可以將其轉換為 CSV、Markdown 或 HTML。許多團隊在處理過程中保留 JSON,並且僅在最後進行轉換。
Dolphin v2 適用於商業用途嗎?#
是的。Dolphin v2 在 MIT 許可證下發布,該許可證寬鬆且對商業採用友好。查看存儲庫中的 LICENSE 文件以獲取詳細信息。
Dolphin v2 與替代方案相比如何?#
Dolphin v2 旨在為真實世界的創意工作流程提供穩健性和實用性。與 OCR 加規則堆棧相比,它減少了脆弱的啟發式方法。與現代文檔解析器相比,Dolphin v2 具有競爭力,並且通常更容易集成。在您自己的文檔上進行評估以進行公平的比較。
我在哪裡可以獲得 Dolphin v2 的支持?#
使用官方存儲庫中的 GitHub Issues 獲取錯誤報告、問題和功能請求。該存儲庫也可能鏈接到 Hugging Face 模型卡或社群線程。
在生產中部署 Dolphin v2 的最佳實踐是什麼?#
固定版本,為關鍵文檔運行審閱步驟,記錄性能指標,並保護您的 API。從返回 JSON 的小型服務開始,並隨著吞吐量需求的增長而擴展。



