通過 Azure OpenAI 服務使用 GPT-35-Turbo and GPT-4
環(huán)境準備
- Azure 訂閱 - 免費創(chuàng)建訂閱
- 已在所需的 Azure 訂閱中授予對 Azure OpenAI 服務的訪問權限。 目前,僅應用程序授予對此服務的訪問權限。 可以填寫 https://aka.ms/oai/access 處的表單來申請對 Azure OpenAI 服務的訪問權限。
- Python 3.7.1 或更高版本。
- 以下 Python 庫:os。
- 部署了
gpt-35-turbo
或gpt-4
模型的 Azure OpenAI 服務資源。
設置
使用以下項安裝 OpenAI Python 客戶端庫:
- [OpenAI Python 0.28.1]
- [OpenAI Python 1.x]
pip install openai==0.28.1
pip install openai
檢索密鑰和終結(jié)點
若要成功對 Azure OpenAI 發(fā)出調(diào)用,需要一個終結(jié)點和一個密鑰。
變量名稱 | 值 |
---|---|
ENDPOINT |
從 Azure 門戶檢查資源時,可在“密鑰和終結(jié)點”部分中找到此值。 也可在“Azure AI Studio”>“操場”>“代碼視圖”中找到該值。 示例終結(jié)點為:https://docs-test-001.openai.azure.com/ 。 |
API-KEY |
從 Azure 門戶檢查資源時,可在“密鑰和終結(jié)點”部分中找到此值。 可以使用 KEY1 或 KEY2 。 |
在 Azure 門戶中轉(zhuǎn)到你的資源。 可以在“資源管理”部分找到“終結(jié)點和密鑰”。 復制終結(jié)點和訪問密鑰,因為在對 API 調(diào)用進行身份驗證時需要這兩項。 可以使用 KEY1
或 KEY2
。 始終準備好兩個密鑰可以安全地輪換和重新生成密鑰,而不會導致服務中斷。
環(huán)境變量
為密鑰和終結(jié)點創(chuàng)建和分配持久環(huán)境變量。
- [命令行]
- [PowerShell]
- [Bash]
setx AZURE_OPENAI_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
[System.Environment]::SetEnvironmentVariable('AZURE_OPENAI_KEY', 'REPLACE_WITH_YOUR_KEY_VALUE_HERE', 'User')
[System.Environment]::SetEnvironmentVariable('AZURE_OPENAI_ENDPOINT', 'REPLACE_WITH_YOUR_ENDPOINT_HERE', 'User')
echo export AZURE_OPENAI_KEY="REPLACE_WITH_YOUR_KEY_VALUE_HERE" >> /etc/environment && source /etc/environment
echo export AZURE_OPENAI_ENDPOINT="REPLACE_WITH_YOUR_ENDPOINT_HERE" >> /etc/environment && source /etc/environment
創(chuàng)建新的 Python 應用程序
-
創(chuàng)建名為 quickstart.py 的新 Python 文件。 然后在你偏好的編輯器或 IDE 中打開該文件。
-
將 quickstart.py 的內(nèi)容替換為以下代碼。
- [OpenAI Python 0.28.1]
- [OpenAI Python 1.x]
需要將變量 engine
設置為部署 GPT-3.5-Turbo 或 GPT-4 模型時選擇的部署名稱。 輸入模型名稱將導致錯誤,除非選擇的部署名稱與基礎模型名稱相同。
import os
import openai
openai.api_type = "azure"
openai.api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
openai.api_key = os.getenv("AZURE_OPENAI_KEY")
openai.api_version = "2023-05-15"
response = openai.ChatCompletion.create(
engine="gpt-35-turbo", # engine = "deployment_name".
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure AI services support this too?"}
]
)
print(response)
print(response['choices'][0]['message']['content'])
需要將變量 model
設置為部署 GPT-3.5-Turbo 或 GPT-4 模型時選擇的部署名稱。 輸入模型名稱將導致錯誤,除非選擇的部署名稱與基礎模型名稱相同。
import os
from openai import AzureOpenAI
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_KEY"),
api_version="2023-05-15"
)
response = client.chat.completions.create(
model="gpt-35-turbo", # model = "deployment_name".
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure AI services support this too?"}
]
)
print(response.choices[0].message.content)
-
使用快速入門文件中的
python
命令運行應用程序:文章來源:http://www.zghlxwxcb.cn/news/detail-753527.htmlpython quickstart.py
輸出
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "Yes, most of the Azure AI services support customer managed keys. However, not all services support it. You can check the documentation of each service to confirm if customer managed keys are supported.",
"role": "assistant"
}
}
],
"created": 1679001781,
"id": "chatcmpl-6upLpNYYOx2AhoOYxl9UgJvF4aPpR",
"model": "gpt-3.5-turbo-0301",
"object": "chat.completion",
"usage": {
"completion_tokens": 39,
"prompt_tokens": 58,
"total_tokens": 97
}
}
Yes, most of the Azure AI services support customer managed keys. However, not all services support it. You can check the documentation of each service to confirm if customer managed keys are supported.
了解消息結(jié)構(gòu)
GPT-35-Turbo 和 GPT-4 模型經(jīng)過優(yōu)化,可以處理格式化為對話的輸入。 變量 messages
傳遞一組字典,這些字典在由系統(tǒng)、用戶和助手劃定的對話中具有不同角色。 系統(tǒng)消息可用于通過包含有關模型應如何響應的上下文或說明來啟動模型。文章來源地址http://www.zghlxwxcb.cn/news/detail-753527.html
到了這里,關于Azure Machine Learning - Azure OpenAI 服務使用 GPT-35-Turbo and GPT-4的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!