如何用Postman來呼叫 Azure OpenAI 的 API — Step-by-Step-Tutorial

圖片2


嗨大家好,今天的文章要介紹的是如何用Postman來呼叫 Azure OpenAI 的 API。

文章大致上會分為幾個階段:

  1. 介紹API與Postman

  2. 創建Azure OpenAI Service,獲取該服務的Key和Endpoint

  3. 在Postman上建立新的Collection並連接Azure OpenAI

  4. 加強資安措施,將Key和Endpoint寫進環境變數中

  5. 結論

在進入正式步驟前,先來介紹一下 API 的概念以及 Postman 這個好用的 API 互動工具吧!

介紹API與Postman

甚麼是 API ?

應用程序介面(API) 的全名是「Application Programming Interface」,我們可以使用它來創建軟體或與外部系統互動,有點像是我們的程式與外界的橋樑,API 有許多形式,可以是一個指令、功能、協議或是一個對象。

舉例來說,如果我們去餐廳,想點一份Pizza來吃,這時候餐廳裡的分別扮演的角色就像是:

  • 我們(User)

  • 櫃台人員(API)

  • 廚師(應用程式)

獲取API的方式就像我們不需要自己進廚房去作出一份Pizza:我們(User)進到餐廳,向櫃檯人員(API)點餐(下指令),並將我們的需求(request)送到廚師(應用程式),廚師明白需求後做出香噴噴的食物(response)送到我們手中。

( 想了解更多可以參考這個影片:What is an API? )

有了簡單的 API 概念後,接下來我們來認識 Postman是甚麼。

甚麼是Postman ?

Postman 是目前最被廣泛使用的API互動工具之一,每個月有超過五百萬的使用者,它提供了一個友善的界面來發送請求到 API 並從 API 接收回應,使用Postman 讓 API 開發變得容易和簡單,因為它能進行各種類型的 HTTP 請求(GET、POST、PUT、PATCH),也能保留環境以供後續使用,還可以將 API 轉換為各種程式語言(如 JavaScript、Python)。

想像一下我們現在有個充滿玩具的大箱子(應用程式),但是箱子被鎖住了,需要一把特殊的鑰匙(API)來打開它。而Postman是我們的好朋友,他很擅長於使用這把特殊的鑰匙。我們只要告訴Postman想要從箱子裡拿出什麼玩具,或者想放什麼新玩具進去就可以,它就會幫我們達成。「App」如其名,Postman就像一個幫助我們與電腦書信往來的友好「郵差」。

(透過這個連結來下載 Postman )

接下來就進入這次的主體, Azure OpenAI 與 Postman 的整合之旅,讓我們開始吧!

創建Azure OpenAI Service,獲取該服務的Key和Endpoint

  1. 來到Azure Portal

  2. 搜尋「OpenAI」並建立服務

    2

  3. 進到建立好的服務,從「Resource Management」中進到「Keys and Endpoint」並取得KEY值,留著稍後使用

    3

  4. 接下來點選「Go to Azure OpenAI Studio」

    4

  5. 到「Deployments」部屬模型並進到「Playground」的Chat

    4.5

  6. 確定模型可以使用後點選「View code」,設定改成「json」,並複製程式碼,接著複製服務的端點(Endpoint),留著稍後使用

    5

    6

Azure部分到這邊告一段落,記得將上面所複製的資料留存好,以便待會使用

在Postman上建立新的Collection並連接Azure OpenAI

  1. 第一次使用Postman需先建立一個新的「Workspaces」,並選取「New」建立新的「Collection」,建好後選取「Add a request」

    7

  2. 調整剛建好的Request,將GET改成「POST」,選取「Body」的「raw」,並將「Text」改成「JSON」格式

    8

  3. 貼上剛才複製的「Endpoint」和程式碼並試著發送「POST」Request

    9

  4. 不過這時候會發現 HTTP 狀態碼回傳「401 Permission Denied」,因為我們還沒提供該服務的Key值

    註: 想了解 HTTP 狀態碼的讀者可以參考這個網站

          10

5.  選取「Params」,並加入參數「api-key」,在Value的部分貼上剛才複製的key,再發送一次「POST」request,看到HTTP狀態碼顯示 「200 OK」,可以發現有成功收到content的內容代表我們成功呼叫 Azure OpenAI 的 API 囉!

           11

成功地呼叫了API很開心,但是露出私密的金鑰還是會覺得怪怪的,畢竟資安風險是我們都要謹慎的議題,一不小心外流出去可能造成機密公開或是成本的重大損失。

接下來我們就來看如何加強資安方面的措施,讓我們能更安心地使用Postman。

加強資安措施,將Key和Endpoint寫進環境變數中

將Key 值和Endpoint寫進環境變數中,是很棒的防護措施,而採取這種方法能帶來許多好處,因為它不僅提升了安全性,也使程式更容易維護。

  1. 點選一旁的「Environment」,添加Key 值和Endpoint,並將 Type 設成「secret」

    (部屬的模型以及API版本也可寫進環境變數中,不過這兩個值比較不像Key 值和Endpoint是敏感資訊,可以視情況決定。 )

    12

  2. 將要傳送「POST」request的網址改成下列的格式,並發送請求,如果有得到content代表請求成功囉!

{{OPENAI_API_BASE}}/openai/deployments/{{CHATCOMPLETION_MODEL}}/chat/completions?api-version={{OPENAI_API_VERSION}}&api-key={{OPENAI_API_KEY}}

    13

使用環境變數,我們可以避免將敏感信息直接寫入程式中,保護金鑰不被未經授權的人員使用或泄露。

再來,如果今天需要刪除原有的Azure OpenAI Service,並建立一個新的服務,我們只需更改環境中的變數,而無需修改任何程式碼,大大降低了維護的複雜性並提高了效率。

現在就將你的金鑰儲存到環境變數中,為你的程式增添更多保護吧!

結論

透過這篇文章,我們一步步走過了如何使用Postman來呼叫Azure OpenAI的API,從基本的API和Postman介紹,到透過Postman的友善界面,我們能夠輕鬆地與Azure OpenAI進行互動的實際操作和資安加固的步驟,將金鑰和Endpoint儲存至環境變數中,不僅讓我們的程式更安全,也使得維護工作更為便利。

Postman是一個非常有用的工具,未來無論要進行API測試或是與不同的服務進行串接,在閱讀完後,應該會對這整個流程有更清晰的理解。

希望透過這篇教學,你有獲得一些實用的知識,並應用在未來程式開發的旅程中。


You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。