據(jù)入口:從圖片到結構化輸出的完整實踐)
如果你最近在做 AI 應用尤其是 RAG檢索增強生成、文檔問答、知識庫建設這類方向大概率會遇到一個非?,F(xiàn)實的問題喂給大模型的知識很多根本不是文本文件。項目合同是掃描件技術手冊是 PDF 圖片版業(yè)務單據(jù)是手機拍的網(wǎng)盤里還躺著大量無法復制文字的會議紀要。明明信息都在但大模型讀不進去。做 AI 開發(fā)的同學往往把精力放在模型選型、Prompt 編寫、向量化和微調上卻容易忽略整個流程最前面的數(shù)據(jù)入口——如果文檔里的文字根本沒法取出來后續(xù)一切高質量生成都是空中樓閣。這篇文章想聊的就是 OCROptical Character Recognition光學字符識別如何在 LLM 應用鏈路中扮演數(shù)據(jù)入口角色。很多人以為 OCR 只是圖片轉文字的小工具但在 LLM 時代它承擔的職責變成了把非結構化數(shù)據(jù)從物理世界搬運到數(shù)字世界讓大模型能夠真正讀懂這些信息。本文會從核心概念、工具選型、環(huán)境搭建、代碼實現(xiàn)到生產(chǎn)環(huán)境最佳實踐完整跑通一個OCR LLM的落地流程。1. 為什么 LLM 應用最先遇到的會是 OCR 問題這些年做 AI 應用大家普遍發(fā)現(xiàn)一個規(guī)律**真正決定項目效果的往往不是模型本身而是數(shù)據(jù)能不能被正確、完整地送進模型。**而 OCR就是那一道最容易被忽視的門檻。1.1 一段現(xiàn)實的開發(fā)經(jīng)歷我之前參與過一個企業(yè)文檔問答項目??蛻粽f他們的資料都已經(jīng)系統(tǒng)化了可以直接對接。結果到現(xiàn)場一看所謂的系統(tǒng)化就是一堆掃描版 PDF 和一個文件夾里的照片。客戶還反問你們不是做 AI 的嗎直接把 PDF 拖進去不就行了問題就出在這里。大模型處理的輸入是文本 token它不認識圖片里的像素。如果文檔是掃描件、照片或者圖片版 PDF模型看到的是一堆視覺信息無法直接讀取其中文字。必須有一個前置環(huán)節(jié)把這些文字提取出來OCR 解決的就是這個問題。1.2 哪些場景最容易踩坑根據(jù)經(jīng)驗以下幾類場景幾乎無法繞過 OCR掃描版 PDF政府文件、法規(guī)條文、書籍電子版、歷史檔案很多都是掃描存檔沒有文字層。手機拍攝照片現(xiàn)場記錄、白板拍照、票據(jù)單據(jù)、名片不僅需要識別文字還涉及傾斜校正和透視變換。圖片格式的網(wǎng)頁截圖某些系統(tǒng)出于版權或反爬保護頁面內容以圖片形式呈現(xiàn)復制粘貼拿不到文字。平臺導出受限制某些在線文檔、網(wǎng)盤預覽只允許查看不允許復制需要通過識別方式提取內容。在這類場景下OCR 就不再是方便功能而是整個流程的基礎設施。沒有它RAG 的文檔解析環(huán)節(jié)直接斷掉。1.3 判斷OCR 在 LLM 時代的價值重估過去單獨做 OCR 工具更多是個人效率提升比如掃描名片、識別發(fā)票。但在 LLM 應用鏈路中OCR 已經(jīng)變成一個關鍵的預處理組件。它位于整個數(shù)據(jù)管道的最前端質量好壞直接影響后續(xù)效果。如果 OCR 出錯RAG 檢索到的是錯誤文本LLM 基于錯誤輸入生成的內容就是一本正經(jīng)地胡說八道。所以這篇文章的核心觀點是**不要把 OCR 當成一個獨立小工具它應當作為 LLM 應用數(shù)據(jù)管道的第一環(huán)納入工程化設計。**文章后面會演示一套可落地的方案幫你打通從圖片文檔到 LLM 輸出的完整鏈路。2. OCR 基礎概念與理解誤區(qū)OCR 這個名詞在技術圈流傳了很久很多同學認為它已經(jīng)過時或者太成熟。實際上OCR 的技術深度遠超表面印象。2.1 OCR 到底是什么OCR 的全稱是 Optical Character Recognition光學字符識別。它的任務是從圖像中檢測出文字區(qū)域識別出具體的字符序列。簡單理解就是把圖片語言翻譯成文字語言。一個完整的 OCR 流程通常包含圖像預處理灰度化、二值化、降噪、傾斜校正、透視變換。文本檢測找到圖像中哪些區(qū)域包含文字輸出文本框的位置坐標。文本識別對檢測出的文本框進行識別輸出文字內容。后處理通過語言模型、詞典校正等方法修正識別錯誤。2.2 傳統(tǒng)方案與深度學習方案的區(qū)別傳統(tǒng) OCR 方案比如早期的 Tesseract 配合圖像處理算法對清晰印刷體效果尚可但遇到復雜背景、模糊圖像、不規(guī)則排版準確率會明顯下降。深度學習方案則完全不同。現(xiàn)在主流的 PaddleOCR、EasyOCR 等工具都是基于深度神經(jīng)網(wǎng)絡進行端到端的文本檢測和識別。它們能夠處理自然場景下的各種復雜情況包括不同字體、光照變化、旋轉文本、彎曲文本等。這種做法是把 OCR 從模板匹配時代帶入了語義理解時代。2.3 容易被誤解的三個點第一OCR 不等于 PDF 解析。很多人以為把 PDF 轉成文字就是 OCR。實際上 PDF 分為文本型 PDF 和掃描型 PDF。文本型 PDF 本身有文字層直接用解析庫提取即可只有掃描型 PDF 才需要 OCR。前者是文本提取問題后者才是視覺識別問題。第二OCR 識別出的文字不一定是結構化數(shù)據(jù)。OCR 輸出的是一段連續(xù)文本可能包含表格、段落、頁眉頁腳等版式信息。如果直接把這些文本切塊喂給 LLM表格結構會丟失語義關聯(lián)會被打斷。因此高級場景需要版面分析 表格還原把文檔還原成接近原版式的結構化信息。第三OCR 的準確率存在天花板。即使是目前最先進的模型在復雜場景下也難以做到 100% 正確。手寫體、藝術字、嚴重模糊的圖片識別準確率會明顯下降。做工程時要對 OCR 輸出保持合理懷疑用置信度篩選、人工復核、上下文校正等手段兜底。2.4 在 LLM 應用中OCR 扮演什么角色在 LLM 應用中OCR 的角色不僅僅是識別文字還包括整理語義單元。舉例來說一份掃描版產(chǎn)品說明書經(jīng)過 OCR 識別后得到的可能是一大段沒有換行的文本。如果直接把這段文本全部塞給 LLM很可能超出上下文窗口限制或者檢索時無法精準定位。因此更合理的方式是用 OCR 將整頁圖片識別為文本。通過版面分析、段落切分等方式將長文本拆成合適的語義塊。對語義塊進行清洗、標準化保留標題層級、表格結構等信息。再進行向量化進入 RAG 流程。這個鏈路里OCR 是起點但真正的工程價值來自它對后續(xù)流程的前置處理質量。3. OCR 工具選型與適用場景目前可用的 OCR 工具非常多從開源免費到商業(yè)付費從在線 API 到本地部署各有優(yōu)劣。選型需要結合項目場景、數(shù)據(jù)敏感程度、成本預算和硬件條件綜合判斷。3.1 主流方案橫向對比方案部署方式優(yōu)點缺點適合場景Tesseract本地開源老牌、免費、輕量復雜場景準確率較低需較多調參清晰印刷體快速驗證概念PaddleOCR本地開源中文效果好支持版面分析PP-OCRv4 性能強依賴 PaddlePaddle體積較大中文文檔、復雜版面、生產(chǎn)級應用EasyOCR本地開源使用簡單支持多語言速度較慢模型較大多語言小規(guī)模任務百度 OCR云端 API準確率高功能全面有調用限制涉及數(shù)據(jù)外傳網(wǎng)絡環(huán)境良好非敏感數(shù)據(jù)騰訊云 OCR云端 API中文場景優(yōu)化好收費數(shù)據(jù)上云快速接入商務場景阿里云 OCR云端 API結構化能力突出收費數(shù)據(jù)上云發(fā)票、單據(jù)等結構化識別訊飛 OCR云端 API手寫體識別表現(xiàn)好收費手寫筆記識別DocMind 等專業(yè)文檔解析本地/云端版面理解強輸出 Markdown商業(yè)化產(chǎn)品成本高PDF 深度結構化解析3.2 項目選型建議做原型驗證選 Tesseract 或者 EasyOCR安裝快、代碼少能快速跑通流程。做中文文檔為主的正式系統(tǒng)優(yōu)先考慮 PaddleOCR它在中文場景的表現(xiàn)明顯更好且開源免費。處理敏感數(shù)據(jù)必須本地部署不要走云端 API。處理海量通用數(shù)據(jù)且預算充足可以考慮商業(yè) API省去運維成本。這里額外說明一個趨勢網(wǎng)上很多人討論OCR LLM時會把焦點放在如何用 LLM 對 OCR 輸出做結構化整理。這個思路確實可行但前提是 OCR 的原始輸出不能太差。如果 OCR 本身識別錯字連篇LLM 再聰明也無法還原原始信息。因此選型時優(yōu)先保證 OCR 基礎準確率。與其期待后續(xù) LLM 糾錯不如在源頭用好模型。4. PaddleOCR 環(huán)境搭建與基礎配置本文后續(xù)示例以 PaddleOCR 為例因為它在中文場景的識別效果、社區(qū)活躍度和工程完備性上都更適合生產(chǎn)項目。4.1 PaddleOCR 的系統(tǒng)要求PaddleOCR 是基于 PaddlePaddle 深度學習框架的 OCR 工具庫支持 Linux、Windows、macOS。推薦使用 Python 3.8 以上版本。如果使用 GPU需要安裝對應版本的 CUDA 和 cuDNN并將 PaddlePaddle CPU/GPU 版本選對。版本說明PaddleOCR 迭代比較快不同版本 API 有差異。本文以 PaddleOCR 的常規(guī)安裝和基礎調用流程為準具體版本號請以官方文檔說明為準。4.2 安裝步驟建議先創(chuàng)建獨立的 Python 虛擬環(huán)境避免依賴沖突。# 創(chuàng)建虛擬環(huán)境可選但推薦 python3 -m venv ocr_llm_env source ocr_llm_env/bin/activate # Windows 下使用 ocr_llm_env\Scripts\activate # 安裝 PaddlePaddle CPU 版 pip install paddlepaddle # 安裝 PaddleOCR pip install paddleocr如果使用 GPU需要先確認本地 CUDA 版本然后安裝對應的 PaddlePaddle 版本。安裝方式在 PaddlePaddle 官網(wǎng)有明確的版本對應關系這里不展開。4.3 驗證安裝是否成功# 文件路徑check_install.py from paddleocr import PaddleOCR ocr PaddleOCR(use_angle_clsTrue, langch) print(PaddleOCR 安裝成功)如果能夠正常打印說明環(huán)境已經(jīng)就緒。首次使用會自動下載模型文件網(wǎng)絡情況不同耗時不同。如果下載失敗可以手動將模型文件放到對應目錄或配置鏡像源。4.4 PaddleOCR 核心參數(shù)說明參數(shù)含義建議use_angle_cls是否使用方向分類器識別旋轉文本對拍照文本建議開啟lang識別語言ch表示中英文混合根據(jù)實際語種選擇use_gpu是否使用 GPU 推理沒有 GPU 時保持默認自動使用 CPUdet_model_dir文本檢測模型路徑可手動指定模型目錄rec_model_dir文本識別模型路徑可手動指定模型目錄cls_model_dir方向分類模型路徑可手動指定模型目錄參數(shù)的具體名稱在不同版本中可能有所調整建議以官方文檔為最終依據(jù)。5. OCR LLM 完整示例代碼實現(xiàn)下面通過一個可運行的最小閉環(huán)演示圖片文檔識別 → 文本整理 → 調用 LLM 接口 → 輸出結構化結果的完整鏈路。5.1 示例場景設定假設我們有一張產(chǎn)品說明書的照片其中包含產(chǎn)品名稱、規(guī)格參數(shù)和一段介紹性文字。目標是用 OCR 提取全文再交給 LLM 來做摘要和關鍵字段提取。5.2 第一步OCR 基礎識別# 文件路徑ocr_basic.py from paddleocr import PaddleOCR # 初始化 OCR識別中英文開啟角度分類 ocr PaddleOCR(use_angle_clsTrue, langch) # 識別圖片 result ocr.ocr(product_manual.jpg, clsTrue) # 整理識別結果 lines [] for page in result: if page is None: continue for line in page: box line[0] text line[1][0] confidence line[1][1] lines.append({text: text, confidence: confidence, box: box}) # 打印文本行 for i, item in enumerate(lines): print(f{i}: [{item[confidence]:.2f}] {item[text]})這段代碼做的事情初始化識別器調用ocr()方法識別圖片遍歷結果并提取每一行的文本和置信度。需要注意result的結構在不同版本中可能有差異建議先print(result)觀察數(shù)據(jù)結構再寫解析邏輯。5.3 第二步OCR 文本清洗與切塊OCR 出來的文本通常比較雜亂包含多余空格、制表符、亂序的行。喂給 LLM 之前需要清洗與重排。# 文件路徑ocr_postprocess.py import re def clean_ocr_text(ocr_lines): 將 OCR 按行識別的結果合并成干凈的段落。 ocr_lines: [{text: ... , confidence: 0.99}, ...] # 按置信度過濾明顯低質量的識別行閾值可根據(jù)實際情況調整 valid_lines [ line[text].strip() for line in ocr_lines if line[confidence] 0.5 and line[text].strip() ] # 去除多余空白 valid_lines [re.sub(r\s, , line) for line in valid_lines] # 簡單策略每行直接拼接用換行分割 # 如果后續(xù)要做 RAG這里應當根據(jù)版面分析做更細的切分 full_text \n.join(valid_lines) return full_text # 使用示例 raw_lines [ {text: 產(chǎn)品型號: A100, confidence: 0.99}, {text: 最大輸出功率 200W, confidence: 0.97}, {text: , confidence: 0.60}, {text: 本產(chǎn)品適用于工業(yè)自動化場景..., confidence: 0.95}, ] cleaned_text clean_ocr_text(raw_lines) print(cleaned_text)清洗邏輯并不復雜但很重要。生產(chǎn)環(huán)境里這里還可以結合規(guī)則做去重、糾錯、標題識別。比如識別到產(chǎn)品型號字樣就把它歸為屬性鍵。5.4 第三步接入 LLM 接口這里以 OpenAI 兼容接口為例。很多本地部署模型和國內大模型廠商都提供 OpenAI 兼容接口代碼可以通用。# 文件路徑ocr_llm_pipeline.py import os from openai import OpenAI # 初始化客戶端 # 注意改成你自己的 API 地址和密鑰 client OpenAI( api_keyos.getenv(LLM_API_KEY, your-api-key), base_urlos.getenv(LLM_BASE_URL, https://api.openai.com/v1), ) def extract_product_info_using_llm(ocr_text): 將 OCR 文本交給 LLM提取結構化字段。 prompt f 你是一個信息抽取助手。請根據(jù)以下從產(chǎn)品說明書中 OCR 識別出的文本提取信息并輸出 JSON。 要求 1. 只提取原文中出現(xiàn)的信息不要編造。 2. 輸出格式如下 {{ product_name: 產(chǎn)品名稱, model: 型號, specs: {{ 功率: 數(shù)值單位, 電壓: 數(shù)值單位 }}, summary: 不超過50字的簡介 }} OCR 文本 text {ocr_text}response client.chat.completions.create( modelgpt-4o-mini, # 具體模型名以實際可用為準 messages[ {role: system, content: 你是文檔信息抽取專家只根據(jù)給定內容輸出結構化數(shù)據(jù)。}, {role: user, content: prompt}, ], temperature0.2, ) return response.choices[0].message.content完整調用ifname main: # 第一步OCR 識別 ocr PaddleOCR(use_angle_clsTrue, langch) result ocr.ocr(product_manual.jpg, clsTrue)# 第二步整理成行列表 raw_lines [] for page in result: if page is None: continue for line in page: raw_lines.append({text: line[1][0], confidence: line[1][1]}) # 第三步清洗成完整文本 full_text clean_ocr_text(raw_lines) # 第四步交給 LLM 提取結構化信息 structured_info extract_product_info_using_llm(full_text) print(structured_info)這段代碼把前面幾步串了起來。實際項目中OCR 和 LLM 調用應該分層解耦OCR 結果緩存到數(shù)據(jù)庫LLM 調用做成獨立的服務避免每次請求都重復識別。 ### 5.5 運行結果演示 假設原始圖片中的文字是產(chǎn)品型號: A100 輸出功率: 200W 輸入電壓: 220V 本產(chǎn)品是一款面向工業(yè)自動化場景的高性能控制器...經(jīng)過 OCR 識別和 LLM 抽取后預期的輸出結果類似于 json { product_name: 工業(yè)自動化控制器, model: A100, specs: { 輸出功率: 200W, 輸入電壓: 220V }, summary: 面向工業(yè)自動化場景的高性能控制器 }需要強調的是LLM 抽取的質量高度依賴 OCR 輸入質量。如果 OCR 把輸出功率識別成輸出功李LLM 很難自動修正成正確的專有名詞除非它在預訓練中見過大量類似文本。6. 運行效果與驗證方法跑通流程只是第一步真正重要的是知道系統(tǒng)識別得怎么樣、還有哪些地方需要調優(yōu)。這需要一套效果驗證方法體系。6.1 用命令驗證 OCR 結果PaddleOCR 也支持命令行方式直接識別圖片paddleocr --image_dir ./samples/test.jpg --lang ch --use_angle_cls true命令行方式的優(yōu)點是快速驗證不需要寫代碼。輸出會直接打印識別出的文本和置信度。只不過這種輸出格式適合人工查看不適合程序處理。6.2 如何判斷 OCR 識別是否成功判斷標準不只是能不能識別出字這么簡單。建議從三個維度評估字符準確率Character Accuracy識別結果與原圖文字逐字對比正確字符占比多少。文本行完整性Line Completeness是否有整行漏檢尤其是表格邊界、頁眉頁腳位置。版面順序正確性Reading Order多欄排版的文檔識別出的文字順序是否符合真實閱讀順序。如果只是給 LLM 做一個大意概括的任務版面順序偶爾錯亂影響不大。如果要做 RAG 檢索和精準問答閱讀順序錯誤會導致語義斷裂檢索效果大打折扣。6.3 效果驗證的實踐建議建議準備一個包含典型難度的測試集定期回歸清晰印刷體樣本 10 張拍照傾斜樣本 5 張模糊低分辨率樣本 3 張包含表格和復雜版面樣本 5 張每次調整模型或參數(shù)后用同一測試集跑一遍計算平均置信度和人工抽查正確率。這種回歸測試能幫助你在模型升級時快速發(fā)現(xiàn)問題。6.4 失敗時的第一步排查如果 OCR 輸出結果完全不可用第一個要檢查的往往不是模型參數(shù)而是圖片質量。圖片是否過暗是否嚴重模糊文字區(qū)域是否太小這些因素對識別效果的影響遠大于參數(shù)調整。先用圖像處理工具放大、增強、校正再看模型效果。7. 常見問題與排查思路在實際使用 OCR LLM 的過程中以下幾個問題出現(xiàn)頻率最高值得提前準備應對方案。問題現(xiàn)象可能原因排查方式解決方案識別結果亂碼中文字符錯誤率高模型語言包選擇錯誤或圖像分辨率過低檢查lang參數(shù)是否為ch放大圖片查看文字清晰度正確設置語言包先做圖像增強整體識別準確率低圖片傾斜、光照不均、文字模糊打開圖片目測質量嘗試使用圖像預處理腳本增加傾斜校正、去陰影、二值化步驟識別出的文本順序錯亂多欄排版或表格結構復雜模型按規(guī)則拼接導致順序錯誤打印帶坐標的識別結果觀察文本框坐標開啟版面分析能力或按坐標排序后重組文本LLM 抽取出的信息與原文不符OCR 識別錯誤或 Prompt 缺少約束核對 OCR 原始輸出檢查 Prompt 中是否明確只提取原文信息提高 OCR 質量在 Prompt 中加入未出現(xiàn)內容請輸出 None調用 LLM 接口超時或報錯API Key 配置錯誤、網(wǎng)絡不穩(wěn)定、上下文超長查看接口返回的錯誤碼和日志配置重試機制對超長文本做截斷或分段送入CPU 環(huán)境下識別速度太慢模型推理需要計算資源CPU 性能有限查看 CPU 占用率和單張識別耗時縮小圖片尺寸使用輕量模型批量任務異步處理這 7 類問題是項目群里被問到最多的。如果按出現(xiàn)概率排序圖片質量導致的識別問題排在第一位Prompt 對 LLM 輸出的約束問題排在第二位。8. 生產(chǎn)環(huán)境最佳實踐與工程建議原型能跑通和系統(tǒng)能上線中間還隔著很多工程細節(jié)。這里給出幾條在真實項目中驗證過的建議。8.1 架構設計不要把所有事情放在一個腳本里項目早期可以寫一個腳本串起 OCR 和 LLM。但一旦進入正式環(huán)境建議拆分成獨立模塊圖像預處理模塊統(tǒng)一處理圖片縮放、校正、增強保證送入 OCR 的圖片質量穩(wěn)定。OCR 識別服務封裝并發(fā)的識別接口盡量將 OCR 模型常駐內存避免重復加載。后處理模塊負責清洗、結構化、坐標排序、緩存。LLM 調用服務獨立管理 Prompt、模型版本、限流、重試。結果存儲將 OCR 的原始文本、置信度、結構化結果持久化到數(shù)據(jù)庫方便溯源和二次處理。這樣的架構當 OCR 效果需要調優(yōu)時只會影響后處理模塊不會破壞整體鏈路。8.2 避免重復識別建立結果緩存同一份文檔可能會被多次使用。比如先做摘要再做問答再做關鍵詞提取。如果每次都重新跑 OCR成本和耗時都會翻倍。更合理的做法是OCR 結果落庫后續(xù)任務直接復用。緩存的設計要注意OCR 結果應該與原始圖片 hash 綁定。圖片文件有任何變化hash 都會變保證不會讀到舊結果。8.3 處理表格和復雜版面表格是 OCR 最容易出錯的地方之一。如果文檔包含大量表格建議專門引入表格結構識別模型如 PaddleOCR 的表格識別能力做更細粒度的結構化提取。對于嵌入 LLM 的場景我們可以將表格轉成 Markdown 表格文本LLM 對這種格式的理解力明顯優(yōu)于純文本逗號分隔。| 字段名 | 字段值 | | --- | --- | | 產(chǎn)品型號 | A100 | | 輸出功率 | 200W |把 OCR 表格結果轉換成這種格式后再交給 LLM抽取準確率會明顯提高。8.4 數(shù)據(jù)安全與最小權限涉及文檔處理的項目數(shù)據(jù)安全必須放在首位。如果文檔內容敏感不要使用云端 API堅持本地部署。同時對 OCR 服務訪問做認證授權避免未授權調用。對于 LLM 接口使用獨立 API Key設置調用額度限制防止越權訪問和異常消耗。8.5 日志與監(jiān)控記錄每次 OCR 請求的耗時、識別行數(shù)、平均置信度、失敗原因。這些指標可以幫助你及時發(fā)現(xiàn)問題。比如某天平均置信度突然下降可能意味著上游圖片質量出了問題需要提前干預。LLM 調用同樣要記錄模型名稱、輸入 token 數(shù)、輸出 token 數(shù)、響應耗時和錯誤信息。8.6 性能優(yōu)化并發(fā)與模型選擇高并發(fā)場景下OCR 是明顯的計算瓶頸。幾個方向使用 GPU 推理一般可以縮短數(shù)倍耗時。做批量識別將多個圖片請求合并成一次模型推理。對圖片做適當?shù)膲嚎s和縮放減少計算量前提是不影響識別準確率。如果 OCR 任務非常頻繁可以考慮將識別結果持久化到數(shù)據(jù)庫后續(xù)直接調用。9. 總結與后續(xù)學習方向這篇文章圍繞OCR 如何為 LLM 提供可用的文本輸入展開完整介紹了 OCR 在 LLM 應用鏈路中的定位、技術選型、環(huán)境搭建、代碼實現(xiàn)和生產(chǎn)環(huán)境注意事項。核心結論是OCR 不再是獨立的圖片處理工具而是 LLM 數(shù)據(jù)管道中不可或缺的預處理組件。它的質量直接決定了下游模型生成效果的上限。如果你準備把這套方案應用到自己項目中建議從一個小測試集開始先跑通圖片 → OCR → LLM 抽取的最小閉環(huán)再逐步加入緩存、并發(fā)、數(shù)據(jù)安全等工程能力。后續(xù)值得深入的方向包括基于版面分析的文檔結構理解、針對特定領域財務票據(jù)、醫(yī)療報告、法律文書的 OCR 模型微調、將 OCR 輸出轉換為樹形結構再送入 RAG 的實踐以及多模態(tài)大模型在圖片直接理解路徑上的最新進展。通過實踐你會發(fā)現(xiàn)OCR 與 LLM 的配合并不復雜但需要耐心打磨每個環(huán)節(jié)。數(shù)據(jù)入口穩(wěn)定了上層應用的想象空間才能真正打開。