距離上篇在 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) 是個類似於 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 push 或 docker pull 使用,不用再另外 docker login 了。 另外,如果 Docker 主機沒辦法安裝 Azure CLI,可以先在其他機器上使用以下指令取得暫時的帳號密碼: 暫時的帳號密碼會如下輸出: 接著再回到 Docker 主機上執行: 這邊帳號都固定是使用 00000000-0000-0000-0000-000000000000 來登入喔! Docker Push 首先任意下載一個測試用的 image ,這邊選擇使用 nginx,...