跳到主要內容

【Azure OpenAI】o1 模型與 2024-09-01-preview API

距離上篇在 Early Access Playground 試用 o1 模型後又過了兩週,今天終於等到 API 開放使用啦!本篇將紀錄如何使用 Python SDK 存取 o1 模型。 系列文章 【Azure OpenAI】快速試用 o1 模型 模型佈署 在先前開放的 Early Access Playground 中使用 o1 是不需要另外佈署模型的,不過回到使用 API 來存取 o1 模型,就需要像之前的模型一樣先進行佈署才能使用,相信大家都很熟悉了。 使用 Python SDK 一樣使用熟悉的 openai 套件: 2024-09-01-preview 初始化的方式與先前模型都一樣,需要注意的是 o1 模型目前只能使用最新的 API 版本 2024-09-01-preview 來訪問。 Chat Completions 將 model 填入 o1-preview ,或是你的模型佈署名稱, messages 也一樣是歷史對話堆疊的 List。 回應如下: 查看 Token 使用量 內建 Chain of Thought 的 o1 比起過往的模型會消耗較多的 Token,因此我們特別把 Token 使用量拉出來看。 回應如下: 其中 prompt_tokens 、 completion_tokens 、 total_tokens 在先前的 API 就已經存在了,分別代表Token 的 Input、Output 與總使用量,而在新的 completion_tokens_details 中可以看到  reasoning_tokens 使用了 320 個 Tokens,居然佔了總輸出 Token 的 80% 以上! 控制 Token 成本 已往我們可以使用  max_tokens 參數來控制 Token 的用量,但在 o1 模型中棄用了 max_tokens ,取而代之的是使用  max_completion_tokens 參數,來看看這段程式碼: 回應如下: 沒東西?那再看一次 Token 量。 回應如下: Token 居然是有被使用的! 這表示 max_completion_tokens 並不像過往使用  max_tokens 這麼簡單,先前在回應遇到...

【Azure Data Factory】當 ZIP 上傳到 Blob Storage 時自動執行解壓縮(上)

在一些自動化場景中,對 Blob 中的 .zip 檔解壓縮是很常見的需求,而一般的做法會自行搭 AP 來處理,使用 SDK 編寫「下載、解壓縮、上傳」的類 ETL 流程,進階一點還可以使用 Azure Function 與 Event Grid 做事件觸發的自動解壓縮。

本篇介紹使用 Azure Data Factory 來實現 Blob 中的 .zip 檔解壓縮,搭配 Data Factory 中的 Trigger 來偵測 .zip 檔到 Blob 的上傳事件,自動觸發解壓縮 Pipeline,而最重要的是整個搭建過程不用寫一行 Code,全部都能在 Portal 上滑鼠點擊設定完成!

建立 Blob Storage 與 Container

首先當然是建立用來上傳 .zip 檔的 Blob Storage ,建立時沒有太多的限制,基本上可以直接使用 Portal 的預設值來建立  Blob Storage,不過這次選擇使用 Gen 2 來做範例。

這邊有沒有使用 Gen 2 都可以做到 .zip 檔解壓縮,只是後續在 Data Factory 中的設定會略有不同,可以自行評估需求來選擇是否啟用。

建立啟用階層命名空間的 Data Lake Gen2

Storage 建立完成後就切換到容器頁面,接著隨意建立一個測試用的容器,

在 Storage 中建立容器

建立 Azure Data Factory

還是先抱怨一下這個中文翻譯,每次心裡想著要建 Data Factory 但都會搜尋不到..

開始建立 Data Factory

這邊一樣沒有特別需要注意的設定,可以直接預設值一路下一步到底。

設定 Azure Data Factory 權限

因為接下來會透過 Data Factory 對 Blob 中的資料做處理,代表 Data Factory 在 Blob 中需要有相應的執行權限,這邊使用 Managed Identity 做授權是最方便快速的。

首先切換到 Storage 的 IAM 頁面,選擇新增角色指派,

賦予 ADF 在 Blob 中的權限

在建立 Data Factory 時會順帶拉起 Managed Identity,所以直接搜尋 Data Factory 建立時的名稱就能找到了,而權限的部份這邊先給「儲存體 Blob 資料參與者」。

在 Azure Data Factory 中新增連結服務

接著我們需要先打通 Data Factory 與 Blob Storage 之間的連接,在 Data Factory 中這稱為「連結服務」,首先由 Portal 進入 Azure Data Factory Studio,

點擊啟動工作室

左邊選擇「管理」→「連接」→「連結服務」,因為我們剛剛建立的是 Gen2 的 Storage,所以在右邊的彈跳介面中找到「Azure Data Lake Storage Gen2」,

新增 Gen2 類型的連結服務

驗證類型就如剛剛提到的,選擇「系統指派的受控識別」,接著再選到要建立連接的 Storage,最後可以給這個連結服務一個喜歡的名稱,而其他則保持預設值就好,

設定連結服務

設定完成可以點擊右下角的測試連接」來進行測試,如果剛剛權限有設定正確的話,這邊就會顯示連線成功囉!

連線 Storage 成功

總結

到此我們各自建出了 Blob Storage 與 Data Factory 兩個服務,透過 Data Factory 的 Managed Identity 在 Blob Storage 中賦予權限,最後在 Data Factory Studio 完成兩項服務的連線測試。

下一篇會繼續在 Data Factory Studio 中完成解壓縮 Pipeline 的設定,請繼續收看!

系列文章

留言