前言
延續我在 使用 Dify 自動辨識高鐵票 的實作經驗,
在 Dify 中只要加入 LLM 節點,使用 gpt-4.1-mini 模型來辨識高鐵票,又快又準確。
但是當我將高鐵票改成手寫發票時,有些手寫的數字就有可能會辨識錯誤,例如9
,有可能會被辨識成7
,
這時候要怎麼辦呢?
解法
GPT 雖然強大,但在辨識手寫內容上仍有一定限制。
此時我們可以改用Azure AI Content Understanding先進行辨識,再將結果交給 LLM 處理成我們需要的 JSON 格式。以下是完整流程:
1.在 Dify 中安裝 dify-plugin-azure-ai-document-intelligence 插件
在 Dify 中,點擊外掛,點擊安裝插件,選擇Github 的,貼上dify-plugin-azure-ai-document-intelligence的 url,選擇版本及套餐,再按下一個即可,如下圖:

2.建立 Azure AI Content Understanding
建立好 Azure AI Foundry project 後,請點選My assets中的Models + endpoints,切到Service endpoints Tab,如下圖:

3.設定 dify-plugin-azure-ai-document-intelligence 插件的授權
複製 Azure AI Content Understanding 的 endpoint 及 Primary Key, 設定到 dify-plugin-azure-ai-document-intelligence 插件的授權,如下圖:


4.設定流程
在 Dify 中,先使用dify-plugin-azure-ai-document-intelligence插件,再將它的輸入結果給下個 LLM 節點來整理我們要的資訊,最後再輸出 LLM 整理後的結果,如下圖:

插件的 Text 設定給 LLM 節點 的 上下文參數,LLM 節點的 Prompt 如下,
1 | 你是發票文字辨識專家,請從下列 OCR 文字中抽取統一發票資訊,並以 JSON 格式輸出以下欄位: |
完成後,拿三聯式發票怎麼開?複寫紙用法?手把手開給你看!的圖片來解析,結果如下圖:

看起來想要取得的資訊都是正確的,花費時間大約是 6.5 秒。
結論
如果是非手寫圖片,例如車票、名片等等可以用 gpt-4.1-mini 大部份都可以精準地辨識出來。
如果是手寫圖片,使用 gpt-4.1-mini 無法準確地辨識出結果,則可以加入 Azure AI Content Understanding 來幫忙。
從上述內容可以看出,Dify 的流程非常簡潔明確。
只要結合 Azure AI Content Understanding 插件 與 LLM 節點,就能完成手寫圖片的辨識與結構化輸出。
參考資源
使用 Dify 自動辨識高鐵票
三聯式發票怎麼開?複寫紙用法?手把手開給你看!
Azure AI Content Understanding
dify-plugin-azure-ai-document-intelligence