はじめに
Azure OpenAIは、マイクロソフトが提供するクラウドベースのAI言語モデルサービスです。このサービスでは、GPT-4oをはじめとする最先端の言語モデルを利用することができます。GPT-4oは、従来のGPT-3.5モデルよりも高度な言語理解と生成能力を持っており、様々なタスクに活用できます。
このコードの目的は、Azure OpenAI APIを使ってGPT-4oモデルを活用し、対話形式のレスポンスを生成することを示すことです。具体的には、ユーザーからの質問に対して、GPT-4oモデルが適切な回答を生成する様子を確認することができます。これにより、Azure OpenAIサービスの活用方法の一例を理解することができます。
開発環境
- Azure OpenAI
- Python 3.11
- Azure OpenAI APIとの通信に使用します。
- python-dotenv 環境変数の管理に便利です。
- IDE
- 今回はcursorを使用しています。
導入
Azureにログインします。
Azure Open AIサービスを開きます。
新しいリソースグループを作成します。
今回[GPT-4o]を使いたいため地域を[East US]にしておきます。
リソースグループ名は任意で入力します。
インスタンスNameを一意にする必要があります。
次の「Network」と「Tag」はそのまま。
ここでCREATEを押したらリソースグループの作成は完了します。それを作成したらリソースグループのリストから先程作ったリソースグループを選択し、リソース管理の方からのKEYとEndpointを取得します。KEYはどれか1つでだいじょうぶです。これは後程利用します。
次に、左のリストからOverviewを選択し、次の画面で
Azure OpenAi Studioに入いります。
左側のメニューからデプロイを選択します。
そこで新しいモデルをデプロイを作成します。
今回はモデルを「GPT-4o」にしています。デプロイ名も同じものにして作成します。
コードの作成
先ほど取得した「KEY」と「Endpoint」を利用して「.env」ファイルを作成します。
AZURE_OPENAI_ENDPOINT=<YOUR_ENDPOINT>
AZURE_OPENAI_API_KEY=<YOUR_APIKEY>
次にプログラムを作成します。ここで「load_dotenv()」関数を利用して先ほど作成した「.env」ファイルから機密情報を取得しています。modelのところを先ほど作成したデプロイ名にします。
import os
from openai import AzureOpenAI
from dotenv import load_dotenv
load_dotenv()
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01"
)
response = client.chat.completions.create(
model="gpt-4o", # 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)
実行結果
お疲れ様でした。