先來看一下我做了什麼:
上週結束幾個月的替代役,我在內政部底下的某個機關服勤,期間除了一般勤務外,也自發性地解決了幾個問題來寫一篇文章分享一下:
過往在做公文登記時,都要手動開檔案、複製,同時也有查詢歷史公文的需求。前一屆學長使用Powershell Script寫了一個可以自動新增檔案格式的腳本,剛好想說反正日常時間有空檔,我就嘗試寫個App來解決這個問題。
雖然公文並不是密件,但由於不確定是否可以上雲,所以資料儲存都是存在本地資料庫、礙於公務電腦其實有些老舊,使用的資料庫也較簡單。公務電腦有鎖Port,老舊的掌機打卡程式需要一個一個人匯出,可以一次匯出多人出勤資料更好,這是大概的系統需求,而根據需求去設計大概有以下幾個功能:
以下是實作的系統
為了快速開發我使用Python開發整套系統,列好幾個收發的文件格式設計有個頁面可以讓人員輸入、更新及刪除,而資料會儲存在本地的資料庫,並且透過開啟本地的outlook app 寄送本日的收發資料。
由於是業務單位,會有許多民眾甚至是立委打來問有關一些規則上的問題,我思考問題也許是網頁更新沒辦法這麼即時,礙於流程其實比較繁瑣,歸納出其實他們應該要有個類似智客服系統,因此幫他們建了一個LINE官方帳號,並且透過大型語言模型去實作QA系統可以回答民眾的提問。
這邊一樣會有些系統需求,以政府機關來看,最新的資料通常是文件,而大型語言的模型的選擇我選擇國家實驗室、數位發展部及中研院共同開發微調的TAIDE語言模型,透過Ollama+LangChain去做RAG(檢索增強產生)。
其實有許多政府機關都有LINE官方帳號,而且台灣有超過9成的人都有LINE,就建置了一個官方帳號。