分享我研究 LLM + Semantic Kernel,寫的第二篇文章 (連結在第一則留言),聊聊 LLM 應用程式的開發心得跟整理。安德魯小舖,現在已經變身為 Shop Copilot 了..
我自己的學習進度來到 2/3, 第一篇寫的是觀點,這一篇我想聊聊各種 LLM 應用開發設計方式的嘗試。第三篇 (如果順利的話) 我想把我這篇略過的細節一一補回來。
今年過年期間花了點時間研究 Semantic Kernel, 順帶的也了解了 LLM App 開發相關領域的基礎,總算有點心得,也開始看懂 Semantic Kernel 整體設計的精隨了。這篇一樣拿 “安德魯小舖” 這題目來延伸,背後用 GPT4 model 來實作,只是應用程式的型態不再是 Chat GPT, 而是改成自己用 .NET 開發的 console application, 呼叫 Azure OpenAI 提供的 API。
“安德魯小舖” 這個題目,也陪我踩過了很多不同主題的練習了,從 API First, Domain Model,到現在談 LLM 的應用;董大偉老師在談 Chatbot, 也都用請假系統當案例,每次有新技術出來就會重做一次。這是個好方法,挑你熟悉的領域,注意力就能放在要研究的主題身上。要靠 LLM 幫你呼叫背後的 API,domain model 的設計一定要清楚,因為跟 LLM 溝通只有 “不夠精準” 的 prompt 這條路而已。這其實是優點,只是需要掌握他。跟 LLM 溝通要有效率,最大關鍵還是回到你的應用程式背後的 domain 設計。我沿用的就是在 .NET Conf 2023 聊的 “模型” 降級與驗證,裡面用的就是 “安德魯小舖” 的原型。
AI 相關的領域太多,我決定從我擅長的領域: 體開發與架構的設計 出發,從這角度切入 AI 的應用。調整好了 “安德魯小舖” 背後的 domain model 後,想通了 LLM 可以怎麼運用,整個 PoC 才突破卡關很久的環節 (之前都卡在 LLM 很 “笨”,老是呼叫錯我的 API,後來才知道是我的 API 設計很爛…)
這篇,我當作是我自己的讀書心得,慶祝我自己已經到了 “已知用火” 的階段 XDD。AI 這領域我還是門外漢如果看了我的文章或是 code 覺得怪怪的 (這應該是我弄錯了 XDD),歡迎留言給我。文內第一段有附上參考資源,包含我的 source code, 歡迎取用 & 分享。
– 昨天的 PO 文我刪掉重寫一次了,已經按讚或分享的朋友不好意思,再麻煩重新分享一次,感謝 😃