Azure OpenAI Service 06 - Open AI 費用說明和計算

OpenAI 可以讓我們很方便快速的串接跟做出一些相關的應用,用使用的很開心之餘,還是要面對一下費用,不然一不小心可能就讓費用超出預算太多了,比如前陣子一個熱門的專案 Auto-GPT 只需要給它初始的目標,它就會自動的對話然後產生出結果,因為它會自動的一直呼叫 API 來產生最後的結果,所以可能一次的結果就呼叫了很多次的 API 導致產生的費用超出想像,所以還是瞭解一下計算方式以及費用,就比較容易在成本和預算的考量下挑選出最適合的模型。

...繼續閱讀 »

Azure OpenAI Service 05 - 透過 Azure OpenAI client library for .NET 實做串接 OpenAI Api

雖然微軟或 OpenAI 都有提供 PlayGround 可以方便我們測試 OpenAI ,但是最後還是得串接 API 來客制化或整合 OpenAI 到現有程式或產品中,一開始在常識的過程都只能直接呼叫 REST API 或是只有 Python 套件,身為懶惰的開發人員當然不想自己包套件去呼叫 REST Api,最近在找資料過程發現微軟也終於推出 prerelease 版的 SDK 套件 Azure OpenAI client library for .NET,雖然還在 Preview 階段,但是還是記錄一下使用的經驗

...繼續閱讀 »

Azure OpenAI Service 04 - 使用 Azure OpenAI Studio 來測試模型部署

前面介紹了如何申請和建立服務以及建立模型的部署,都完成之後,我們就可以正式的來使用 OpenAI 了,本文將會透過 Azure OpenAI Studio 來測試我們建立的模型部署,Azure OpenAI Studio 是微軟針對 OpenAI 提供的 GUI 介面,讓我們可以方便快速的測試和使用 OpenAI,在測試完成之後後續可以再透過 API 來整合或是開發相關的應用,就可以加快驗證想法的可行性和調整 Prompt 的內容。

...繼續閱讀 »

Azure DevOps 在 Pipeline 使用外部套件來源

  • 300
  • 0

前言

現在開發上越來越依賴使用 NuGet 來管理套件,專案和團隊變大之後就會開始把一些共用的函示庫抽離並打包成 NuGet 套件,而這些套件屬於公司內部使用,所以就會需要有私有的 NuGet,這時候可以有兩種方案,一個是使用一個共用的資料夾或是 Azure DevOps 上的 Artifacts 來管理套件,這時候如果有設定 Azure DevOps 的 CI/CD 的話,就需要多一點設定才可以連接到這些非官方 NuGet 的外部套件來源,本文就來介紹如何設定以及需要注意的點。

...繼續閱讀 »

使用 Azure DevOps 部署到 App Service WebJob

前言

在 Azure 上面執行排程程式除了 Azure Function、Logic App 等服務以外,最方便的方式還是使用 App Service 裡面的 WebJob,它可以執行很多種類型的程式,所以我們可以簡單的開發一個 Console 程式去執行我們的排程程式,而當然也要讓它可以自動化部署,在設定上會有一些細節需要注意,所以特別針對一些設定和參數來記錄一下部署的流程。

...繼續閱讀 »

使用 Azure DevOps 部署到 Azure Kubernetes Services

前言

本系列的第三篇文章,這次要部署的服務就是 Azure Kubernetes Services,現在很多服務架構上都會使用上 K8S,而在 Azure 上面也提供一個受控的 K8S 服務,就是 Azure Kubernetes Services,它可以減少我們管理 K8S 的一些成本,需要更新 K8S 版本的時候也可以一鍵點選就可以升級節點的 K8S 版本,需要增加節點的時候也可以很方便的透過手動或是設定自動調整,如此一來我們就可以專注在程式的部署上就好,不用太擔心整個 K8S 叢集的維護和管理。

...繼續閱讀 »

使用 Azure DevOps 部署到 App Service 預備環境 (Slot) 並進行切換

前言

App Service 有一個很實用的功能就是預備環境 (Slot),他可以方便我們在部署程式的時候可以先佈到預備環境,測試完成之後可以直接和正式環境進行切換 (Swap),也可以在發現有沒測試到的嚴重問題的時候可以再切換一次,就可以快速的退到前一版的環境,那要結合 Azure Devops 的話就可以達到自動化的部署和切換,而且可以加上審核的關卡,測試完成之後審核完成就自動的進行切換,本文就來針對這樣得情境進行介紹如何完成這樣的自動化流程。

...繼續閱讀 »

實做壓縮儲存體並下載功能

  • 278
  • 0

前言

工作上剛好遇到需要將儲存體打包並下載的功能,所以整理了一下程式碼並寫成簡單範例。包含了列出儲存體容器內的檔案和打包下載的功能,壓縮的部分則是使用 SharpZipLib 套件來完成。

...繼續閱讀 »

使用 Azure Load Testing 和 Apache JMeter 腳本來進行負載測試

  • 621
  • 0

前言

在微軟公告停止 Azure DevOps 上的負載測試服務之後,在 Azure 上要進行負載測試就得透過第三方服務或是自行架設 VM 來進行測試,終於微軟推出專用的服務 Azure Load Testing,可以讓我們透過定義好的 JMeter 腳本來進行負載測試,本文就來介紹要如何進行設定和測試,以及服務的費用說明。

...繼續閱讀 »

透過 Azure DevOps 自動部署程式到 Private Link 後的 App Service

  • 530
  • 0

微軟在 Azure 上面提供了 Private Link 這一個服務,可以將 Azure 上的 Pass 變成私有的服務,僅能透過 Private Link 才可以連線到,從外部網路是無法直接連線到,如此對於資安有較大要求的情境,就可以設計出僅在特定網路下才可以連線的架構,但是在這樣的架構下也會產生額外的需求,比如說 App Service 的部署,在這個情境下就不能像之前文章「使用 Visual Studio 部署網站到 App Service」的方式直接部署上去,因為這時候是無法從外部網路直接連線到 App Service 的,而解決的辦法最簡單的方式就是建立一台跳板機 VM,設定和 Private Link 同一個虛擬網路,再透過這一台機器進行部署,但是這樣的方式就得在每次要部署時候在連到跳板機器再去部署,還是不夠方便,因此我們可以透過 Azure DevOps 自動化部署,後面文章就來說明實做設定的流程了。

...繼續閱讀 »

Azure DevOps 自動打包和發佈 NuGet 套件到 Artifacts

  • 495
  • 0

身為使用微軟解決方案的開發者,一定都會使用到 NuGet 套件,不管是官方或是非官方的,一定多少都會使用到。然後在實務上一定會有需求會要建立私人的 NuGet 提供庫,比如說公司內部共用的類別庫,這些很多都牽扯到商業邏輯,不可能直接發佈到官方公開的 NuGet 上,這時候就可以使用 Azure DevOps 內的 Artifacts 來管理和提供套件,既然都已經使用到 Azure DevOps 了,那當然也希望可以自動打包並部署到 Artifacts,不然得在每次 commit 之後還得自己執行指令來打包和推送套件上去,這樣太花時間了,本文就針對 .NET Core 來說明如何設定自動化和使用 Artifacts 取得套件。

...繼續閱讀 »

[筆記] 解決 Azure DevOps 專案成員無法新增 Tag 問題

  • 206
  • 0

在使用 Azure DevOps 的 Boards 的時候,我們新增工作項目時候會很常使用到 Tag 功能來針對項目作標記,方便後續呈現和篩選時候使用,按照預設值應該專案成員都會有新增(定義) Tag 的功能,但是針對新進成員設定權限時候,卻發現成員無法新增 Tag,但是可以選擇已有新增的 Tag,本文記錄解決這個問題的筆記,怕之後遇到會再忘記了XD

...繼續閱讀 »

還原誤刪除的 App Service

  • 207
  • 0

實務上偶爾會發生管理資源的時候一不小心就刪除錯資源的慘劇,部分 Azure 服務是可以自助還原的,不需要再開 Ticket 請微軟 Support 協助,比如說儲存體帳戶,針對 Blob 有虛刪除功能,針對儲存體帳戶層級也有還原刪除的儲存體帳戶的功能,而針對今天要討論的主角 App Service,雖然在 Azure Portal 上面並沒有 UI 可以方便視覺化的操作,但是還是可以透過 PowerShell 指令來還原。 

...繼續閱讀 »