探討確定性文件處理如何與本機模型、雲端 AI API,以及現有 AI 應用程式協同運作。
文章目錄
- 文件智慧與生成式 AI 是不同的技術層
- 使用 llama.cpp 執行本機 AI
- 將本機文件處理與 OpenAI API 結合
- 有時候,直接使用 AI 應用程式就好
- 混合式架構
- Thinkwider 的立場
1. 文件智慧與生成式 AI 是不同的技術層
AI 為文件處理帶來了許多新的可能性。文件引擎可以與不同的 AI 技術結合,但文件處理與生成式 AI 並不一定要由同一個元件負責。
文件智慧(Document Intelligence)
- 確定性文字擷取(Deterministic Text Extraction)
- 文件結構與段落分析
- 表格與多語言文字處理
- 搜尋、索引與文件比較
- 雜湊值、相似度分析與來源資訊
生成式智慧(Generative Intelligence)
- 自然語言提問
- 摘要與解釋
- 分類與推理
- 報告產生
- 自然語言互動
確定性文件引擎可以提供結構化且可追溯的資訊,而 AI 模型則可以解讀這些資訊,協助使用者進行分析與推理。
2. 使用 llama.cpp 執行本機 AI
llama.cpp 是一個開源的推論專案,讓使用者能夠在本機硬體上執行相容的大型語言模型(Large Language Models, LLM)。它所提供的伺服器也支援與 OpenAI API 相容的介面,讓開發者可以沿用熟悉的 API 使用方式,將應用程式連接至本機模型。
文件 | v DocAnax / LibDocAnax | +-- 擷取後的文字 +-- 文件結構 +-- 表格與段落 +-- 搜尋與比較 +-- 來源資訊 | v 本機應用程式 / 檢索 | v llama.cpp server | v 本機語言模型
這種架構可以讓文件處理與 AI 模型推論都在使用者自己的裝置上執行。當離線操作、本機資料控制,或自行管理執行環境十分重要時,這可能是一個合適的選擇。
本機 AI 的取捨
- 硬體與效能:推論速度及可使用的模型大小,取決於記憶體、處理器、GPU 加速能力,以及其他硬體資源。
- 模型能力:較小或經過較高程度量化的模型,在某些推理、多語言或指令遵循任務上,可能無法達到領先雲端模型的能力。
- 模型知識更新:本機安裝的模型不會自動取得新知識。使用者必須更新模型,或連接適當的外部資訊來源。
- 可靠性:本機模型同樣可能產生幻覺(Hallucination)。將資料保留在本機,並不代表生成的答案必然正確。
3. 將本機文件處理與 OpenAI API 結合
另一種方式是先在本機處理文件,再透過 API 將選取的資訊傳送至雲端 AI 服務。這種方式不需要使用者的電腦自行執行大型語言模型,同時也能使用雲端服務供應商所提供的模型。
本機裝置 雲端服務
文件
|
v
DocAnax / LibDocAnax
|
v
選取的結構化資訊 ---------------> OpenAI API
|
v
AI 回應
<-----------------------------------|
當應用程式需要雲端模型的能力,但仍希望文件擷取與前處理留在本機時,這種架構便十分實用。不過,開發者仍然需要考慮傳送至服務的資料內容、相關隱私要求、網路連線依賴,以及 API 使用成本。
對話歷史是一個應用程式設計問題
現代 AI API 已經提供管理對話狀態(Conversation State)的機制。然而,API 並不會自動管理應用程式的所有狀態。開發者仍然可能需要自行處理:
- 對話歷史與上下文視窗限制(Context Window Limits)
- 文件識別資訊與版本變更
- 檢索出的段落與支援證據
- 使用者修正、決策與應用程式狀態
- 本機儲存、同步與資料復原
一段聊天紀錄並不一定能完整反映目前的實際情況。如果應用程式遺漏了相關歷史紀錄、使用過時的文件內容,或沒有保留重要決策,AI 就可能根據不完整或不同步的資訊產生回應。
良好的上下文管理應該保留相關文件、證據、版本與決策,而不只是持續累積對話訊息。
4. 有時候,直接使用 AI 應用程式就好
如果目標只是針對文件提出問題,建立一套客製化 AI 應用程式可能並沒有必要。直接透過既有 AI 應用程式的網頁、桌面或行動裝置介面使用服務,或許是更實際的選擇。
現有的 AI 應用程式已經提供使用者介面及完整的服務環境。視乎產品而定,它也可能已經具備檔案處理、對話管理、工具整合及模型更新等功能。
當應用程式確實需要客製化工作流程、系統整合、自動化、專屬使用者體驗,或更高程度的應用程式控制能力時,透過 API 建立自己的應用程式才更有意義。
5. 混合式架構(Hybrid Architecture)
這些方式並非互相排斥。系統可以將文件處理保留在本機,再根據不同任務、使用者或部署環境,選擇合適的 AI 方案。
文件
|
v
DocAnax / LibDocAnax
|
v
結構化文件資料
|
+--------+--------+
| | |
v v v
本機 AI 雲端 API AI 應用程式
例如,確定性文件擷取、結構分析、索引、雜湊、文件比較及來源追蹤,都可以留在本機文件處理層。之後,再由本機模型、雲端 API,或現有的 AI 應用程式,提供自然語言互動及生成式分析能力。
最合適的選擇,取決於實際需求,例如資料隱私、準確度、硬體資源、成本、網路連線、維護工作,以及整個工作流程的複雜程度。
6. Thinkwider 的立場
Thinkwider 將繼續以離線及本機優先(Offline, Local-first)的方向開發 LibDocAnax 與 DocAnax。這並不代表雲端 AI 不適合使用,也不代表每位使用者都需要在本機執行語言模型。
我們的做法,是讓文件處理層與生成式 AI 層保持獨立:
DocAnax / LibDocAnax
提供確定性文件擷取、結構化資訊、搜尋、索引、文件比較及來源資訊。
由你選擇 AI 技術
可以使用本機模型、雲端 API、現有 AI 應用程式,或根據實際需求組合不同方案。
保持文件基礎可靠,選擇最適合問題的 AI 技術。
適合本機 AI 的情況,就使用本機 AI。適合 API 的情況,就使用 API。如果直接使用現有 AI 應用程式是最簡單的解決方案,那就直接使用它。
文件智慧與生成式 AI 是互補的技術層,而不一定要整合成同一個產品或採用同一種技術。
參考資料