第三篇,這篇談的是 LLM 應用程式處理資料的做法,也是我摸索過程的心得。
這篇,我開發了第二個 GPTs 機器人 - 安德魯的部落格,你想詢問任何跟我文章相關的問題都能直接問他。而這背後的目的,就是為了搞懂 AI 應該怎麼檢索資料的技巧..
過去這一個月,用了下班時間,還有週末,把過去片斷學來的 RAG,認真的從頭到尾實作了一次。用的案例就是把我自己的部落格過去 20 年寫的 327 篇文章,都向量化並且用 Microsoft Kernel Memory 建立一個我專用的檢索服務,掛上 Chat GPT, 這個 GPTs 搖身一變,變成我的代言人了。你可以問他我寫過的文章內容,用你的方式詢問,中文英文都可以通,不好意思問我本人的也沒關係 (別在意,我看不到你們問什麼)。
接下來這段話,我也寫在文章的最後一段,就當作我這三個月來寫的這三篇文章的總結:
– AI 對我來說,已經是另一個世代了,而新的世代的資訊科學,基礎技能也應該往上翻一輪了。
我求學的那個年代,大家在談的是 “ 程式 = 資料結構 x 演算法 “;進階的抽象分析,大概就是物件導向分析 (OOP / OOA / OOD) 的層面。後來加了很多部署環境跟維運的題目,CI / CD, Cloud Native, Public Cloud / SaaS / PaaS / IaaS 層面的知識。
現在,回歸到應用程式需要有智慧的話 (就是 LLM 應用程式開發),整個基礎就往上提升,你開始要掌握圍繞在 LLM 周圍的各種知識了,從 prompt engineering, function calling, embedding, vector search 等等,都變成是必要的技能,要懂這些才有辦法設計這些 “智慧化” 的應用程式。
要在未來十年繼續擔任架構師,就必須靈活運用這些 “基礎” 知識才行,所以我現在寫的這些內容,都是我自己在惡補這些技能的路上。比起速成,比起你多快能用 AI 寫出一段 code, 或是用 AI 產生一張圖,對我來說,搞清楚背後的運作模式,想清楚那些地方能用到它,該怎麼用,有哪些替代方案可以選擇等等…,這些在 AI 世代做出正確技術選擇,正確組合這些威力強大的武器,對資深人員來說更為重要。
因為你的角色不應該是跟 AI “競賽” (如果你心裡想著一直是不要被取代,那就是競賽了),因為時間不會站在你這邊,長期下來競賽結果一定是輸掉的 XDD,正確的站位,應該是你如果有了威力強大的武器 (AI) 或是部屬 (還是 AI),你要讓它做什麼才能讓你發揮更大的價值,那才是重點。我是個架構師,我該思考的就是如何善用 AI,才會花了時間研究這些題目,同時也寫了這三篇文章。
這三個月 (剛好一季),買了 Chat GPT plus 訂閱,用了 MVP 的一些資源,花了周末 & 下班時間,嘗試這些 PoC / Side Project,我覺得很值得。整理的這三篇文章,也希望對大家有幫助
最後再擺一次這三篇的連結 (各位往前翻就有了),歡迎分享轉貼,也歡迎在底下留言給我回饋 :D
https://columns.chicken-house.net/2024/03/15/archview-int-blog