我自從寫了 介紹好用工具:Ollama 快速在本地啟動並執行大型語言模型 文章後,就幾乎都在本機用 Ollama 執行各種大語言模型的推論。由於幾天前 TAIDE 團隊發表了一套符合台灣語言和文化特性的大語言模型(TAIDE-LX-7B
),我當下就立刻用 Ollama 跑起來了。這篇文章我將分享幾個簡單的小步驟,幫助大家也可以很順利的在本機將 TAIDE-LX-7B-Chat-4bit
模型跑起來。
... 繼續閱讀 ...
我最近在整理《重編國語辭典修訂本》最新版的資料檔,因為我預計輸出成跟 g0v 的 moedict-data 專案相容的 JSON 格式,而在輸出的時候卻發現這些中文字都被編碼了,但我希望能夠輸出成完整的 Unicode 字元。這才發現即便是 .NET 8 最新版,也無法輸出完整的 Unicode 字元,這篇文章就是記錄我如何解決這個問題的過程。
... 繼續閱讀 ...
OpenCC 是一個開源的中文繁簡轉換工具,可以用來將簡體中文轉換成繁體中文,或是將繁體中文轉換成簡體中文,我已經用十多年了,是個很棒的工具。不過,我以前一直都是在 Linux 底下使用它,因為官方並沒有提供 Windows 執行檔,如果要能在 Windows 直接執行,就需要自行編譯原始碼才行。這篇文章將介紹如何在 Windows 平台上建置 OpenCC 專案,以及分享如何透過 .NET 8 (C#
) 載入 opencc.dll
直接呼叫 C++ 的函式庫。
... 繼續閱讀 ...
在 Microsoft Entra ID 中,有兩個很重要卻又有點抽象的物件,那就是「企業應用程式」(Enterprise applications) 與「服務主體」(Service Principal) 這兩項,這個應該有困擾我好幾年的時間,一直沒機會可以摸透這兩個物件的關聯性,這次終於在 Microsoft 的技術支援工程師的幫助下釐清了多年以來模糊的觀念,今天這篇文章我就來好好談談這個概念。
... 繼續閱讀 ...
Google 最近一年來承受著 OpenAI 帶來的極大壓力,感覺公司內部不斷重組,產品名稱也是一直在變化。由於我最近花了比較多時間在研究 Google 的 Gemini 技術,過程一直不斷被「命名」苦惱,直到最近才比較清楚整個來龍去脈。這篇文章我打算來整理一下 Google 的 Gemini 到底推出過多少「相似」的名稱,包含分類方式、產品名稱、舊名稱、新名稱、變化的名稱、套件名稱、模型名稱、工具名稱、函式庫名稱等等,坐好啊,馬上起飛!😅
... 繼續閱讀 ...
我一直以來都是 Serverless 架構的信徒,因為實在是不太想自己管伺服器,我從 2018 年就開始採用 Azure Functions 技術,到目前為止歷經了 4 個大版本,到現在終於算是穩定些了。不過即便到目前為止,你要是照著官方文件下去設定,肯定會在很多不同的環節鬼打牆,地雷一直都沒有少過。這篇文章我將介紹如何使用 .NET 8.0 與 Azure Functions Core Tools 來開發函式應用程式,並說明如何部署應用程式到 Azure App Service 使用 Consumption Plan (Y1
) 方案來執行!
... 繼續閱讀 ...
在 Azure DevOps 中,我們可以透過 Microsoft Entra ID (以前的 Azure Active Directory) 來管理組織,當你用了 M365 組織帳戶建立的 Azure DevOps 組織,預設就會跟 Microsoft Entra ID 綁定。如此一來,就可以套用更為完整的組織原則,並提供稽核記錄等等,相當方便。不過,如果你是 Tenant 管理者的話,你可能會想知道你的公司目前有多少個 Azure DevOps 組織,這篇文章教你怎樣查詢這個資訊。
... 繼續閱讀 ...
為了要能夠呼叫 Google Cloud Platform (GCP
) 上的 API 資源,我們通常要透過 OAuth 2.0 的方式來取得存取權杖 (Access Token)。其實 Google 對 .NET 的支援還算完整,只是文件寫的太差,為了要能成功串好這個 OAuth 流程,花了我不少時間,主要是沒辦法找到一個清楚且完整的範例程式。也因為網路上可用的範例程式太少,導致各大 LLM 平台的回答都充滿了幻覺,每個都在胡說八道。這篇文章我就分享「服務帳戶」如何取得 Access Token 的方法,並提供一個完整可用的範例程式。
... 繼續閱讀 ...
我最近的 Azure 與 Azure DevOps 的顧問案很多,我在很多不同客戶與學員之間被問到一個相同的問題,他們問:「在 Azure 建立 Service Principal (服務主體) 並產生 Client Secret 金鑰時,為什麼到期日最長只能設定 2 年?那不就代表 2 年後如果忘記要手動更新,自動化的服務或 Pipeline 不就會自動停擺了嗎?」這個問題其實有標準答案,就是不要建立 Client Secret 金鑰,而是改用 Managed Identity (MI) 即可。不過,在你還沒學會 MI 之前,我先教你怎樣建立一個 100 年都不會過期的 Client Secret 金鑰!😆
... 繼續閱讀 ...