The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何在 Windows 的 Docker Desktop 中啟用 NVIDIA CUDA 支援 (GPU)

由於我多年前買過一張 RTX GeForce 2070 顯卡 (GPU),雖然僅有內建 8.0 GB 的專屬 GPU 記憶體,但要跑一些小的 LLM 模型還是可以的。最近在嘗試把一些 LLM 應用程式跑在 Docker 容器中,但是發現 Docker Desktop for Windows 預設是不支援 NVIDIA CUDA 的,需要特別設定一下才能使用。這篇文章記錄一下設定的過程。

... 繼續閱讀 ...

使用 LINQPad 進行長時間的非同步事件該如何安全的取消執行

我現在幾乎所有的 Side Projects 都是用 LINQPad 開發的,不用管理什麼方案或專案,也不用想什麼各種詭異的架構,想到什麼功能就直接寫出來,搭配 AI 助理更是如虎添翼。最近我的一個小小的 AI 專案由於執行時間長,且 AI 回應速度慢又不穩定,因此我加入了快取功能,但是程式只要手動停止,執行中所建立的快取就會失效,所以有點小困擾。今天這篇文章我要介紹一個 LINQPad 8.1 的新功能,還有分享如何「優雅的結束」程式執行。

... 繼續閱讀 ...

如何快速將 OpenAI 的 API 轉換成呼叫 Azure OpenAI Service (AOAI) 的 API

在 GitHub 上面有許多可以呼叫 GPT-3.5 或 GPT-4 的開源專案,但大多都僅支援 OpenAI 提供的 API 端點。如果你想要將這些專案改成呼叫 Azure OpenAI Service (AOAI) 的 API 端點的話,沒用過 AOAI 的人就會不知道怎樣調整。今天這篇文章我打算來整理一下幾個重要的背景知識,方便你快速的轉換過去。

... 繼續閱讀 ...

如何在 Azure DevOps Service 建立 Docker Registry 的 Service Connection 並成功推送 Image 到 Azure Container Registry (ACR)

上個月我花了許多時間在幫一家知名企業導入 Azure DevOps Services 服務,過程中遇到了一些關於 Azure Container Registry (ACR) 的授權問題,因為企業要求「最小權限原則」的關係,很多時候並不能用 UI 介面上的「預設值」來設定,尤其是要盡可能使用 Azure IAM 授權這件事,就很考驗使用者對 Entra ID ( Azure AD ) 的理解。今天這篇文章我就來分享幾個在 Azure DevOps Service 建立 Docker Registry 的 Service Connection 並成功推送 Image 到 Azure Container Registry (ACR) 的經驗。

... 繼續閱讀 ...

使用 Directory.Build.props 自訂方案中所有專案共用的 MSBuild 屬性值

我們在建置 .NET 專案時,有許多可自訂的建置操作是由 MSBuild 的屬性(Properties)所控制的。重要的是要知道如何以及在哪裡設定屬性值,以達到期望的效果。一般來說,你可以在執行 msbuild.exe 命令列工具的時候指定屬性值,也可以在專案檔(*.csproj)中加入屬性設定,也可以在專案目錄中加入 Directory.Build.props 屬性定義檔。今天這篇文章,我就打算來介紹這個 Directory.Build.props 檔案的用法,以簡化我們方案中各專案的設定。

... 繼續閱讀 ...