在 Azure 上開 Linux VM 架設 AdGuard
最近不小心把之前架設的 AdGuard 玩壞了,由於上次沒有留下筆記,這次把相關的架設筆記留下來,不然未來某天又玩壞了,還要再花點時間找資料。
最近不小心把之前架設的 AdGuard 玩壞了,由於上次沒有留下筆記,這次把相關的架設筆記留下來,不然未來某天又玩壞了,還要再花點時間找資料。
前陣子在在 ASP.NET Web API 使用 IAsyncEnumerable 並串流至 JavaScript分享到使用 IAsyncEnumerable<T>
來處理串流資料,但是當時的範例的回傳值是 JSON 物件,這造成前端在解析資料時,必須處理 IAsyncEnumerable<T>
被 JSON 序列化後的格式,這讓前端不得不做一些額外處理。這篇將重新思考這段處理方式,在針對「模擬聊天情境,即時的一字字依序輸出在網頁上」這個目標下,重新設計 API 的回傳方式,讓前端可以更容易的處理串流資料。
經歷過 ChatGPT 席捲式的熱潮後,許多企業紛紛開始想要打造自己的 AI 對話功能,可能是直接使用 API 的方式開發聊天機器人,或是直接選用廠商提供的解決方案。在 GitHub 上,也有許多開放原始碼專案可以提供我們快速建立相關的應用,例如 BetterChatGPT 就是按造 ChatGPT 的使用介面所打造。在 Microsoft 官方的版本庫中,也有 Chat Copilot 專案,提供了我們參考的樣板。
聲明:此篇文章使用 AI 工具產生,請自行判斷文章內容的正確性。
在玩 ChatGPT 的時候,對於如何將聊天機器人的回應,即時的一字字依序輸出在網頁上,這樣的互動體驗非常有沉浸感,讓人真的有在和 AI 對話的感覺。當我們想要使用 ASP.NET Core WebAPI 以及 JavaScript 來呈現這樣的體驗時,如何讓後端 API 串流的輸出內容,並讓 JavaScript 在呼叫該 API 後能依序接受這樣的資料流,這時候問題就來了,兩者之間要如何串流資料呢?這篇提供一種處理方法。
有些情境下,特別是在比較封閉的企業內部網路,可能無法直接從 Docker Hub 上取得 Container Image,不過如果你有 Azure Container Registry (ACR) 的話,且網路架構可以存取的時候,就可以透過 Azure CLI 來將 Container Image 上傳到 ACR 中,藉此管理企業內會用到的 Container Image。
在開發 OpenAI 的 Embedding 相關的功能時,勢必會需要使用到向量資料庫來儲存向量資料,常見的教學會使用 Pinecone 這個 SaaS 的向量資料庫,不過在企業內的環境,使用 Redis 搭配 RediSearch 模組來建構解決方法,是一個不錯的選擇,這篇來實作這個解決方案。
現在越來越多場景需要藉助向量分析,最常見的情境莫過於將文字向量化之後,用於搜尋、聚類分析、建議等等,這篇要介紹如何使用 ML.NET 將文字轉成向量。
在開發 Web API 的應用程式時,經常會需要測試 API 的呼叫,這時候可以使用功能齊全的 Postman 來協助我們測試。如果你是使用 Visual Studio 來開發的時候,在 2022 的版本中,內建了 HTTP 檔案功能,我們可以在 Visual Studio 中直接執行這個檔案來測試 Web API 的呼叫。
不管你是直接使用 OpenAI 的 API 還是使用 Azure OpenAI 的 API,在呼叫 AI 模型的時候,都是按照請求的 Token 數量來計算費用的,雖然在呼叫之後所回應的內容會告訴你這次請求使用了多少 Token,不過一般來說,我們還是會希望在發送請求之前,先計算這次請求會用到多少 Token,一方面控制使用量,二方面可以確保所發出的請求不會超過該模型能接受的上線。