距離上篇在 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 中提供了 Azure VNet Service Endpoint 與 Azure Private Endpoint 兩項服務,用來確保其他 Azure 服務僅能透過 VNet 中的流量訪問,藉此將這些 Azure 服務保護在 VNet 中以提高安全性。 Service Endpoint 與 Private Endpoint 都可以使 VNet 中的私人 IP 到達其他 Azure 服務,而不需要使用到公用 IP,而兩者也存在部分差異,本系列包含以下四篇文章,以最常用的儲存服務 Azure Storage Account 為例,簡單講解這兩項服務。 【Azure VNet】虛擬網路中的服務端點 【Azure VNet】使用服務端點原則篩選流量 【Azure VNet】虛擬網路中的專用端點(本篇) 【Azure VNet】服務端點 vs 專用端點 架構說明 以下 Demo 架構供 VNet 中的 VM 透過 Private Endpoint 訪問 Azure Storage : 對停用外網訪問的 Azure Storage 建立 Private Endpoint 連線。 VNet 中的 VM 使用私人 IP 訪問 Azure Storage。 環境建立 如上述架構圖我們總共需要四項服務,而其中的 VNet、VM 和 Storage 的設定都與前一篇介紹 Service Endpoint 時相同,可以直接參考下列連結喔! 另外一個提醒,架構中 VM 與 Private Endpoint 的 IP 如果沒有額外處理,預設建立時都會是動態分配的,如果想要完全跟著圖中的 10.1.1.4 與 10.1.1.5 設定,那就必須留意建立的順序。 相關連結: 【Azure VNet】虛擬網路中的服務端點 調整儲存體帳戶的網路設定 以上都建立完成後我們先進入 Storage,前篇文章也有提到 Storage 在剛建立起來時,對於公網的預設存取是完全開放的,而在使用 Private Endpoint 時公用網路存取是可以完全停用的。 完全停用公用網路存取 建立 Private Endpoint 接著需要建立 Private Endpoint 來連線已經停用網路存取的 Storage,繼續停留在 Storage 的「網路」頁...