關於建立本地 RAG & LLM —— Time is Money, Money is Time

為了 Open WebUI 解析文件的問題,我已經搞了一整天。docx、pptx 這類檔案都還算好處理,真正讓人頭痛的,是那些掃描形式的 PDF-Open WebUI 內建的 OCR 很容易出錯,例如直接噴出這種錯誤訊息:
cannot reshape array of size 41579 into shape (2400,1634,newaxis)

 這次偷懶,我沒有用 Google 搜尋慢慢找資料,而是直接把問題丟給 AI 幫忙抓。最終 Gemini Pro 和 Claude 都給出非常一致的判斷:這是典型的影像處理或 OCR 套件在解析 PDF 頁面時直接崩潰的現象,根本原因出在 Open WebUI 後台解析 PDF 內嵌圖片時的「尺寸計算錯誤(miscalculation)」,也因此短時間內不可能從根本上徹底解決。

但一模一樣的檔案,丟進 NotebookLM 卻完全沒這種破事。於是,我最終選擇放棄 Open WebUI 的內建 OCR 功能,改成在餵給 WebUI 之前,先用其他方式把檔案預處理好。雖然多了一道工,但至少不會再被莫名其妙的 reshape 錯誤卡住整個流程。

接下來還得再花時間研究 ollama 和 Open WebUI 的最佳設定,想辦法把 CPU、GPU 的性能榨乾,換來更快的回應速度。

總之,我整理了一套「單人獨佔模式」的 Ollama 環境變數設定,如果你也是獨享整台工作站的本地玩家,可以直接把這段參數貼進你的環境設定中:

# ==========================================================
# 🚀 單人極致優化參數區
# ==========================================================
export OLLAMA_FLASH_ATTENTION=1 # 開啟 Flash Attention
export OLLAMA_NUM_PARALLEL=1 # 獨佔所有資源,不與他人共享 Slot
export OLLAMA_KV_CACHE_TYPE="q8_0" # 壓縮 KV 快取,省下一半上下文 VRAM
export OLLAMA_KEEP_ALIVE="10m" # 保溫 10 分鐘,避免批次 RAG 時頻繁載入卡頓
export OLLAMA_MAX_LOADED_MODELS=3 # 同時保留 embedding model + 主力 LLM
export OLLAMA_GPU_OVERHEAD=536870912 # 約 1GB 給系統

搞本地 AI 這條路,真的每一步都在實踐「Time is Money, Money is Time」。

把時間花在調校參數、榨出每秒多幾顆 Token 的速度,花在跟前端框架不成熟的 OCR Bug 乾瞪眼,

對普羅大眾來說那叫浪費生命,請務必果斷放手、繞道而行,讓NotebookLM解決,才是最優雅的解題姿勢。

「穿越漫長的 Bug 長廊,果斷放手、優化參數,才是通往光明的捷徑。Time is Money, Money is Time。」


發佈留言

較新的 較舊