跳到主要內容

【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 Container Registry】ACR 基本操作教學

Azure Container Registry (ACR) 是個類似於 Docker Hub 的服務, 可以用來建立私有的 Docker Hub 以儲存私人 image,滿足企業內網的使用需求,同時也直接整合公司 AD,對於 image 的使用可以很方便的做到權限控管。

因為在工作上,還是遇到很多同仁對於容器化的不熟悉,更別說來操作內部搭建的 ACR,於是此篇簡單紀錄在 ACR 上的登入、推送、拉取等基本操作流程。

建立 ACR

ACR 如果在 Portal 中用中文搜尋的話,記得要輸入「容器登錄」,翻譯成中文後就覺得好怪。

建立時在價格方案選擇最低的「基本」,其他設定保持預設值,直接建立就可以了。

建立容器登錄

ACR 存取金鑰

建立完成後進入 ACR 的畫面,在左側找到「存取金鑰」,

ACR 存取金鑰

預設情況下,「管理使用者」是不會打勾的,這邊勾選後先將「使用者名稱」與「password」複製下來,稍後會使用到。

登入 ACR 

常見的登入方式有以下兩種:

管理員帳戶

剛剛勾選「管理使用者」後取得的資訊即為管理員帳戶,有點像是使用 local 帳號來登入 ACR,使用方式如下:

在跳出的「Username」與「Password」分別輸入Portal 上的資訊即可,這個方式使用上比較直觀且只需要 Docker 指令,畢竟有時候還要另外安裝 Azure CLI 也是挺麻煩的,不過缺點也很明顯,沒辦法做到權限控管,因為每個知道密碼的人都能拿到所有權限。

Entra ID (Azure AD)

使用 Entra ID 就能做到個人權限管理,不過登入上就需要多一些步驟:

執行這個指令後可以繼續接著 docker pushdocker pull 使用,不用再另外 docker login 了。

另外,如果 Docker 主機沒辦法安裝 Azure CLI,可以先在其他機器上使用以下指令取得暫時的帳號密碼:

暫時的帳號密碼會如下輸出:

接著再回到 Docker 主機上執行:

這邊帳號都固定是使用 00000000-0000-0000-0000-000000000000 來登入喔!

Docker Push

首先任意下載一個測試用的 image ,這邊選擇使用 nginx,docker tag 來修改 image 的存放庫至我們剛剛建立的 ACR,最後再 docker push 就可以囉!

切回 ACR 的畫面,點選左側的「存放庫」就能看到我們推上來的 nginx image。

image 推送成功

Docker Pull

docker pull 就跟一般操作差不多,記得前面帶上自己的 ACR 名稱就好。

從 ACR 中移除 image

最後附上一個常用的 Azure CLI 指令,能直接刪除 ACR 中的 image。

執行完再回到 ACR Portal,就看不到 nginx image 囉!

總結

本篇整理了 ACR 搭配 Docker 的基本指令,目標就是希望透過這個簡單的範例了解 ACR 基本一輪的操作流程,下次再有人問我就能直接丟文章了!😎

留言