噗趴
[本地羊駝LLM] 羊駝終於知道時間啦!

之前試用Open WebUI、LM Studio、或是外掛Page-Assist等等,都會出現一個問題──就是問羊駝今天幾月幾日,羊駝只會回答它上次被訓練的時間。( 如果想知道某個地方模型的資料更新到哪年哪月,問它今天幾月幾日就行囉。) 語言模型本身沒有時間概念,就算有網搜功能,問它今天天氣如何,都會去翻找一兩年前的資料給你。一點都不實用。

vibecoding
噗趴
我的夢想本地羊駝農場清單上有個功能叫做待作清單,目標是我跟羊駝說「下週三早上十點要去看醫生」,羊駝就會把這項資料記入待作清單,時間快到時再用Line提醒。

要做到這件事之前,羊駝必須要知道現在是什麼時間,才能計算下週三是哪月哪日,之後再把計算出來的日期存入待作清單。

要讓羊駝知道時間有三種方法:
1. 系統提示,比如說每次傳使用者訊息時都會打包一起傳的「模範羊駝守則」。
2. 使用者提示,比如說使用者告訴羊駝時間,之後再說「下週三早上十點要去看醫生」,讓羊駝計算時間。
3. 工具使用,比如說寫一個現在幾點的程式碼,如果羊駝認為必要就會呼叫工具,這樣羊駝就會知道時間。
噗趴
系統提示在弄設定欄時就已經寫入自動時間系統提示設定,但是我立馬發現,所謂「模範羊駝守則」在小型羊駝(小於14B)間,根本像是個只是參考的存在。主要原因是因為記憶比較短,處理完使用者訊息後可能就忘記了,ADD傾向?或者是訓練時在遵循指示的方面比較弱,再來就是單純的很笨。

所以時間相關的系統提示全部都被無視.......

既然很笨,就別妄想能聰明到知道什麼時候要來使用工具。此外能判斷何時使用工具的模型需要特別訓練,參數也都大大超過14B。我的平板最大能用的是30B的MoE (Mixture of Expert綜合專長)模型,現實層面還是得遷就這些小模型。工具使用直接OUT。Open WebUI和LM Studio都支援工具使用,因此如果你家桌機價格靠近六位數等級都可使用。
噗趴
還好使用者提示方面,就算小模型也是會把使用者輸入的訊息當成真理(?),所以只要手動輸入就一定沒問題。

但我討厭用估狗日曆等等的原因就是不想手動輸入時間啊啊啊!每次在點日曆找日期、選單上下拉找幾點am/pm,都出錯率超大的,是的我曾經不少次選錯月份,或是下午選成凌晨......很多年前就已經認清事實,大腦記憶都比日曆準確,然後忘記的事情大概不重要(欸欸) 紙本備忘就更不用說,第一頁還沒寫滿就忘記它的存在。紙條?只會幾天後在洗好衣服的口袋裡發現它。能救我的只有祕書了,當然真人請不起就用呆呆小羊駝湊合吧。

總之雖然手動輸入應該是比選單更準確一點,對於懶人如我還是覺得麻煩到極點。既然系統提示可以自動,使用者提示也能自動吧?差別只是系統要以系統身分來提示,還是用使用者身分提示的問題而已。
噗趴
於是就叫Claude寫一個使用者在聊天第一個訊息時會注入時間,之後如果偵測到時間相關的問題,系統也會自動以使用者身分注入時間資訊的功能。

我:12小時之後是幾點?(系統自動偵測時間相關問題,注入現在時間)

Gemma3(4B):現在來計算一下。目前時間是 2025 年 6 月 7 日(星期六)晚上 7 點 06 分。再過 12 小時,就是 2025 年 6 月 8 日(星期日)早上 7 點 06 分。

喔喔功德圓滿!
噗趴
附帶一提,GPT 和 Claude 等等大型模型,在遵照指示方面有特別訓練,因此它們知道時間是因為開啟聊天時,系統會自動提示現在時間。但是呆蠢小模型就沒這麼方便,目前我所知道唯一的解法是使用者提示。
載入新的回覆