在 Azure 上開 Linux VM 架設 AdGuard

最近不小心把之前架設的 AdGuard 玩壞了,由於上次沒有留下筆記,這次把相關的架設筆記留下來,不然未來某天又玩壞了,還要再花點時間找資料。

在 ASP.NET Web API 使用 IAsyncEnumerable 並串流至 JavaScript - PART 2

前陣子在在 ASP.NET Web API 使用 IAsyncEnumerable 並串流至 JavaScript分享到使用 IAsyncEnumerable<T> 來處理串流資料,但是當時的範例的回傳值是 JSON 物件,這造成前端在解析資料時,必須處理 IAsyncEnumerable<T> 被 JSON 序列化後的格式,這讓前端不得不做一些額外處理。這篇將重新思考這段處理方式,在針對「模擬聊天情境,即時的一字字依序輸出在網頁上」這個目標下,重新設計 API 的回傳方式,讓前端可以更容易的處理串流資料。

實現你自己的 Chat Copilot

經歷過 ChatGPT 席捲式的熱潮後,許多企業紛紛開始想要打造自己的 AI 對話功能,可能是直接使用 API 的方式開發聊天機器人,或是直接選用廠商提供的解決方案。在 GitHub 上,也有許多開放原始碼專案可以提供我們快速建立相關的應用,例如 BetterChatGPT 就是按造 ChatGPT 的使用介面所打造。在 Microsoft 官方的版本庫中,也有 Chat Copilot 專案,提供了我們參考的樣板。

關於 Recursion 遞迴函數的深度

聲明:此篇文章使用 AI 工具所自動產生,請自行判斷文章內容的正確性。

在 ASP.NET Web API 使用 IAsyncEnumerable 並串流至 JavaScript

在玩 ChatGPT 的時候,對於如何將聊天機器人的回應,即時的一字字依序輸出在網頁上,這樣的互動體驗非常有沉浸感,讓人真的有在和 AI 對話的感覺。當我們想要使用 ASP.NET Core WebAPI 以及 JavaScript 來呈現這樣的體驗時,如何讓後端 API 串流的輸出內容,並讓 JavaScript 在呼叫該 API 後能依序接受這樣的資料流,這時候問題就來了,兩者之間要如何串流資料呢?這篇提供一種處理方法。

上傳 Container Image 到 Azure Container Registry

有些情境下,特別是在比較封閉的企業內部網路,可能無法直接從 Docker Hub 上取得 Container Image,不過如果你有 Azure Container Registry (ACR) 的話,且網路架構可以存取的時候,就可以透過 Azure CLI 來將 Container Image 上傳到 ACR 中,藉此管理企業內會用到的 Container Image。

使用 C# 和 OpenAI Embedding 搭配 RediSearch 查詢向量資料庫

在開發 OpenAI 的 Embedding 相關的功能時,勢必會需要使用到向量資料庫來儲存向量資料,常見的教學會使用 Pinecone 這個 SaaS 的向量資料庫,不過在企業內的環境,使用 Redis 搭配 RediSearch 模組來建構解決方法,是一個不錯的選擇,這篇來實作這個解決方案。

使用 ML.NET 將文字轉成向量

現在越來越多場景需要藉助向量分析,最常見的情境莫過於將文字向量化之後,用於搜尋、聚類分析、建議等等,這篇要介紹如何使用 ML.NET 將文字轉成向量。

在 Visual Studio 中使用 HTTP 檔案呼叫 Web API

在開發 Web API 的應用程式時,經常會需要測試 API 的呼叫,這時候可以使用功能齊全的 Postman 來協助我們測試。如果你是使用 Visual Studio 來開發的時候,在 2022 的版本中,內建了 HTTP 檔案功能,我們可以在 Visual Studio 中直接執行這個檔案來測試 Web API 的呼叫。

使用 C# 來計算發送 OpenAI GPT 請求會使用到的 Token 數量

不管你是直接使用 OpenAI 的 API 還是使用 Azure OpenAI 的 API,在呼叫 AI 模型的時候,都是按照請求的 Token 數量來計算費用的,雖然在呼叫之後所回應的內容會告訴你這次請求使用了多少 Token,不過一般來說,我們還是會希望在發送請求之前,先計算這次請求會用到多少 Token,一方面控制使用量,二方面可以確保所發出的請求不會超過該模型能接受的上線。