使用Python串接Azure OpenAI服務

前言

由於工作需求,我開始使用Azure AI平台。在網路上尋找相關教學時,在打Azure openai的api前所需要填入的參數不知道該往哪裡找。為了方便其他使用者,在這裡記錄一份詳細的指南,說明如何在Azure平台上迅速找到與Azure OpenAI相關的資訊。隨後,我將展示如何將這些資訊正確填入Python程式碼中,並成功執行。


環境介紹

Python 3.11
openai 0.28.1 (自行在IDE上安裝)

須特別留意,Python一定要3.7.1版本以上,先前筆者一直使用3.7版本,即或資訊都填對,程式也都會發生錯誤

Azure AI平台登入取得資訊並Python程式碼參數填寫步驟說明

  1. 到這個網址進行登入 https://azure.microsoft.com/zh-tw/solutions/ai 後,連至主控台
    並點選Azure OpenAI(如沒有出現在主控台,可直接用上方搜尋欄輸入Azure OpenAI送出即可)

  2. 點選之前有創建過的GPT模型名稱

  3. 點選左側「模型部署」

  4. 再點選「管理部署」

  5. 就會連至Azure OpenAIO Studio介面,點選左側選單「聊天」

  6. 確認右側設定是否就是我們先前部署的部署名稱 (就是確認服務的意思),確認沒問題,點選「檢視程式碼」

  7. 就會看到提供的Python範例程式碼

    將全部程式碼複製下來到你的IDE上

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #Note: The openai-python library support for Azure OpenAI is in preview.
    import os
    import openai
    openai.api_type = "azure"
    openai.api_base = "https://gpt-xxx.openai.azure.com/"
    openai.api_version = "2023-07-01-preview"
    openai.api_key = os.getenv("OPENAI_API_KEY")

    response = openai.ChatCompletion.create(
    engine="gpt35-xxx",
    messages = [{"role":"system","content":"You are an AI assistant that helps people find information."}],
    temperature=0.7,
    max_tokens=800,
    top_p=0.95,
    frequency_penalty=0,
    presence_penalty=0,
    stop=None)
  8. 這時候我們會需要API Key,連回至https://portal.azure.com/ ,回到本文1~2步驟,選到你的Azure OpenAI服務,接著點選左側「金鑰與端點」

  9. 點選金鑰1或金鑰2複製都可以,複製下來貼上到第7步驟程式碼的openai.api_key的值

    1
    openai.api_key = "XXXXXXXXXXXXXXXXXXXXXXXX" # 替換成複製下來的Key

    並印出GPT回應內容

    1
    print(response.choices[0].message.content)
  10. 執行程式,如果能成功印出內容就代表串接成功了,像筆者是取得以下回應,每人會不同
    Hello! I am an AI assistant here to help you find information. What can I help you with today?


小結

對於一開始接觸Azure AI的人可能有時候需要的資訊會找不太到,所以紀錄一下,讓未來的自己和新接觸的人可以看到這篇記錄快速完成串接。