[教育訓練] 微軟ALM教育訓練 – VSTS 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 作者: David - 5月 30, 2016 2016/5/30假恆毅教育訓練中心舉辦的『ALM與DevOps課程』由微軟主辦,集英信誠承辦。 這個課程舉辦了很多次了,每次和學員討論軟體開發流程與DevOps相關的實務議題時,都有不少的新發現與收穫,很是有趣。 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
使用LM Studio輕鬆在本地端以API呼叫大語言模型(LLM) 作者: DD - 7月 02, 2024 最近上課常被問到,如何在地端環境搭建出大語言模型(LLM),並且呼叫其API。 一開始我不太理解為何會有這樣的需求(因為在地端自行搭建運行LLM的成本不一定比較低,即便可能比較安全),但被問多了,也就開始遍尋相關的解決方案,看看有沒有什麼最簡單的方式,可以讓開發人員在地端測試大語言模型? 後來我選擇 LM Studio ,它就是一款設計來運行大型語言模型(LLM)的平台,有個算是挺優雅的整合環境,讓一般 end-user 或開發人員,都可以輕易地在 local 端進行模型的部署和測試。 LM Studio 本身支援多種模型架構和框架,當然,最重要的是,它是免費的。 下載安裝 都很容易,我就不多說。 安裝好之後,你可以看到首頁中已經呈現了許多 Hugging Face上的模型: 這顯然是因為Hugging Face是大部分免費開源模型的集散地。 你可以搜尋自己喜歡的模型,透過LM Studio下載到local之後,就可以直接載入(下圖一): 隨手設定一下 system prompt(上圖二),然後,就可以直接對談了。(上圖三) LM Studio會使用你的GPU進行運算(如果有的話),你會發現,原來有好的設備(GPU),運行的速度可以如此之快。 Local Server 對於開發人員來說,它還有個超級更友善的功能。 LM Studio本身還提供一個 local server,可以幫你把模型包裹起來讓你直接透過API呼叫該模型的功能,例如: 上圖是我們開啟 LM Studio中 Local Server功能後的結果,你可以透過 localhost 的 1234 port 來呼叫這個被 LM Studio 運行起來的大語言模型。(有沒有發現,我們用的也是 chat/completions API) 透過Postman簡單提供一下 JSON Body: { "model": "LM Studio Community/Meta-Llama-3-8B-Instruct-GGUF", "messages": [ { "role": "system", "content": "你是AI助理,請一律用繁體中... Read more »
VS Code的字體大小 作者: DD - 6月 10, 2018 身為.net developer,這年頭是什麼code都得要會寫的年代。 而雖然我的NB還沒從Windows淪陷為Mac OS,但寫Node.js和Python免不了要用VS Code,這是一種愛的表現。 但歲月不饒人,盡管微臣非常熱於配合,但VS Code預設字體的大小在我還沒錢買大尺寸螢幕的狀況下,實在讓老臣難以適應。當下的第一個反應是什麼? 當然是 Ctrl+滑鼠滾輪往上推…哇靠,沒用。看…這設計…恩,千錯萬錯一定是我的錯。 只好從選單 file –> Preferences –> Settings: 在出來的視窗中,你可以看到 editor.fontsize: 沒錯,改它就行了。改不動? 喔,不好意思,我沒仔細看說明,要copy到右邊是吧,沒問題,copy->paste->modify->Save…搞定。 好簡單啊…連ctrl+(mouse scroll up)都用不到了呢… 咦?這是一篇抱怨文嗎? 沒有,誰說的? 免費的tool我們還有什麼好抱怨的呢…要感恩啦。 啊….對了,如果你還是堅持要使用 Ctrl+滑鼠滾輪,請找關鍵字… "editor.mouseWheelZoom" Read more »
使用 Dify 建立企業請假機器人 作者: DD - 10月 03, 2024 八卦與未來 上個月,前Google執行長Eric Schmidt在史丹福有場演講,媒體關注的是八卦消息(如果你也曾關注,網路上有很多鐵定可以找到),但我注意到的則是他提到了自己認為接下來 AI(特別是大語言模型) 可能的發展方向,包含: Large Context Window AI Agent Text-to-Action 底下這邊有這一個段落的影片: https://www.youtube.com/watch?v=zl3k1ksFZdY 為何我會關注這部分? 因為上述的三個方向,也是身為開發人員的我,過去這一年,來與LLM打交道後的感想。昨天,我在 twMVC 的研討會分享中,展示了一個其實我過去早做過了N百次的範例,就是企業的請假機器人。(唯一不同的是,這次我幾乎沒有寫任何程式碼) 場景是,員工在家裡生病了,想要透過語音或是app進行請假,你可以看底下這個運行的範例 (git圖檔會循環播放,開始是 『我好像感冒了』): 用自然語言對談的方式,即可完成請假。 我說過,類似這樣的範例我做過很多次,用 LINE Bot 搭配 C# 做過,用MS Bot Framework 做過,前陣子也用 Semantic Kernel 框架做過,更早期,還沒有AI的時代,我也在EIP和HR系統裡做過。 但我想說的是,這 就是 Text-to-Action 的呈現,也是一個典型的 AI Agent 的例子,它讓我們透過自然語言(可以是語音或文字),直接命令機器人(Chat Bot、AI 助理、Agent、Assistant …不管你叫它什麼…)幫你完成一件事情(請假、售票、查詢資料、做財務報表、統計圖表、寫程式…etc.)。 這是一直以來人類對電腦最底層的需求與期待。 隨著 LLM 能夠處理和記憶的 Context 愈來愈被放大,AI Agent 所能夠處理的任務就更加的不受限制。 自然語言才是最符合人類直覺的操作 順帶一提,我昨天在研討會中講了一個故事。 有天,你覺得自己需要聘請一位助理,因此上網張貼徵人啟事,沒多久,你找到了一位號稱上知天文、下知地理的高材生,來幫助你更有效率的完成工作。 他什麼都好,唯一的一個小缺點是,你不能直接對這個助理下達指令,你必須用一種只有這個助理看得懂的語法,才能要求這個助理幫你完成特定的工作。這些語法還挺... Read more »
使用 Dify 以No Code方式建立記帳機器人 作者: DD - 10月 03, 2024 LLM改變了軟體開發的一切 每每碰到一套新的工具或技術,我都會想把過去熟悉的例子重新實作一次,一方面有助於了解新技術的瓶頸或極限,另一方面也可以實際體驗新工具所能帶來的改變與節省的時間。針對LLM和Dify的出現,我當然也這麼做了。 過去,我們曾經出版過一本『LINE Bot與人工智慧辨識開發實戰』的書籍,內容在闡述使用LINE官方帳號和微軟的AI技術(cognitive services)進行 對談/客服 機器人的建立。當然,那是在還沒有LLM的時代。 如今LLM的出現,改變了開發對談機器人的一切。 過去書中有一個例子,我一直想拿LLM重新做一次,就是 記帳機器人 。 而且這一次,我不想再寫任何程式碼了。 記帳機器人 記帳是獲得財富自由的首要關鍵(不知道曾看到哪本書上這樣說的,但我愈來愈覺得那本書裡面的內容有一半是安慰人的,不過我們暫且擱置爭議)。關於記帳這件事情,如果能有一個隨身帳本,可以幫你記錄每一筆消費,應該是一個好的開始。 有很多app有這樣的功能,但大多數App都是透過表單輸入的方式,讓你自己輸入每一個欄位,而我希望做的這個對談機器人,要能夠直接透過自然語言輸入,就能完成記帳。例如: 剛才在加油站把油加滿,花了1200元 午餐吃了7-11的雞腿便當,130塊 用戶直接用自然語言輸入類似上面這樣的句子,記帳機器人就能夠幫我們將這些消費紀錄寫入資料庫。that’s it。 使用 Dify 開發與測試 如今,在有LLM和Dify工具的狀況下,要實現這個需求變的很容易,我們先整理一下需求,並且整理一下初步的思路。 當用戶輸入一句話,我們就丟給LLM去判斷(注意,是判斷),如果用戶在這一句話中已經包含我們所需要的所有資訊(參考底下): 金額(Amount) 商店名稱(Store) 消費項目(Item) 時間日期(DateTime) 備註(Memo) 我們就把上述消費資料轉成 JSON,然後呼叫一個 Rest API 把這消費紀錄存入資料庫。如果用戶只說了一部份,還有缺少的資料,例如: 剛才花了150元 這句話缺了消費項目與商店名稱等資訊,那我們就讓LLM持續追問,直到蒐集完所有資訊為止。 上述邏輯很簡單,而我們用Dify進行開發,過程更簡單,整個流程設計大概像是底下這樣,幾乎不用寫什麼程式碼: 上圖中的重要... Read more »
使用 Dify API 快速建立一個包含前後文記憶的對談機器人 作者: DD - 10月 03, 2024 Dify 這個產品我就暫時先不介紹了,它找到了一個挺好的切入點跨入AI Agent市場。讓不喜歡(或不擅長)寫太多 Code 的開發人員,也可以快速的建立一個具有前後文、記憶的對談機器人。 其實若單就設計 Chat Bot 來談,它本質上和 GPTs 有那麼一點點像,你只需要給一個 system prompt ,再加上一點點的資料上傳做為 RAG 的數據來源,就可以生出一隻有模有樣的對談機器人。 但 GPTs 做出來的 Chat Bot 被綁在 ChatGPT 的 UI 裡面,你不容易把它跟 LINE Bot (LINE 官方帳號) 或其它 UI (例如 MS Teams) 串在一起,而 Dify 呢? 則給你了一個 chat-messages API,讓你能很快的實現這個功能,把你在 Dify 平台上做好的 Chat Bot 轉變成可以正式運行的 LINE Bot 或 其它 Bot。 這也是今天我們要介紹的部分。 建立 Assistant 我們先用 Dify 以底下這個 system prompt 建立了一個請假助理: 發佈後,你可以在Dify 內建的 Web UI 上測試: 你會發現,這個 chat bot 已經有著基本的記憶,然後可以依照 system prompt 完成對談和任務。 不要問我在這邊建立出一個假單有什麼用,正常情況下是要直接讓 chat bot 寫入資料庫(例如 HR 系統,直接完成請假),只是我們還沒談到這一段,這部分以後再展開來談。 chat-messages API 好,透過上面那樣建立一個對談機器人超容易,且內建就有了記憶和前後文的功能。讓開發人員快樂的不得了。跟使用無腦 GPTs 生成術差不多。然而,如果只能在 Web 上用,不能串接 MS Teams、LINE…等介面,做了也是白搭。 但,Dify 貼心的提供了 API,我們來試試看。先Gen個 API Key: 生成了 API key 之後,你只需要透過底下這樣的 rest api,即可進行呼叫: 你會發現,開發人員只要使用單一的這一個 https://api.dify.ai/v1/chat-messages API 即可進行對談。每次只需要透過 query 輸入用戶說的話,response 中的 answer 則是 LLM (Assist... Read more »
留言