Azure OpenAI Service で GPT-4 Turbo（gpt-4-1106-preview）のモデルをデプロイする（※ 現状は特定のリージョンのみ）【Microsoft Azure】

> 後付けで、[Microsoft Azure Advent Calendar 2023](https://qiita.com/advent-calendar/2023/azure) の 14日目に登録してみました

2023/11/17 のタイムスタンプで出ていた以下の記事に書いてある、「Azure OpenAI Service で GPT-4 Turbo（gpt-4-1106-preview）が使えるようになった話」に関する記事です。

●Azure OpenAI Service Launches GPT-4 Turbo and GPT-3.5-Turbo-1106 Models - Microsoft Community Hub
https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/azure-openai-service-launches-gpt-4-turbo-and-gpt-3-5-turbo-1106/ba-p/3985962
![Azure OpenAI Service Launches GPT-4 Turbo and GPT-3.5-Turbo-1106 Models - Microsoft Community Hub](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/244d94e5-9c9d-7896-ce9f-3ab5352d3cff.png)

上記の情報を見て、とりあえずモデルのデプロイを試してみたのですが、その過程で調べたことなどをメモとして記事にしてみます。

https://twitter.com/youtoy/status/1725686017632723206
![Xのポスト](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/55968f9b-1f43-3ad5-2aaf-da04af13a0ec.png)

## Azure での GPT-4 Turbo（gpt-4-1106-preview） のモデルデプロイについて
### 何ができるようになるのか？
GPT-4 Turbo（gpt-4-1106-preview） のモデルで何ができるか、冒頭で紹介した記事で見てみます。
![GPT-4 Turbo（gpt-4-1106-preview） のモデルで](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/1085d506-4ad9-f8ef-30b4-836b29c70f03.png)

上の画像で掲載した内容のとおりで、リストで書くと以下のとおりです（基本的に、[OpenAI DevDay](https://devday.openai.com/) で発表されていた内容が、Azure で使えるようになった感じかと思います）。

- Function Calling の改善
   - 性能改善に加えて、 複数の関数を呼びだせるように
- JSON Mode が利用可能に
- 出力を再現できるようにするパラメータ（seed）が利用できるように

なお、今のバージョンはプレビュー版です。このプレビュー版の gpt-4-1106-preview　をデプロイしたものは、今後 GA版がリリースされた際には、GA版に自動的にアップデートされるようです。

### 記事執筆時点での制約（リージョンに関する制約）
冒頭で紹介した記事にも書いてあるのですが、 Azure OpenAI Service で GPT-4 Turbo（gpt-4-1106-preview）のモデルをデプロイできるリージョンは、記事執筆時点では限定されています。

具体的には、以下のとおりです。
![デプロイが可能なリージョン](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/a7b1988a-c2de-9845-fea7-fea0dadf53d2.png)

GPT-4 Turbo（gpt-4-1106-preview）が利用可能なリージョンのリストをテキストで書きだしてみます。

- Australia East
- Canada East
- East US 2
- France Central
- Norway East
- South India
- Sweden Central
- UK South
- West US

上記のリージョンでないと、この後の手順が進められないのでご注意ください。

### 料金
今回の GPT-4 Turbo（gpt-4-1106-preview）の料金も、冒頭で紹介した記事の中で以下のように書かれていました。
![料金](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/e343d817-196f-4926-0506-1c71fd2b25c2.png)

### モデルをデプロイしてみる
それでは、モデルをデプロイを試す準備をします。
#### リソースの作成とモデルのデプロイ
リソースを作成していきます。過去に作成したリソースはあったのですが、以下のように GPT-4 Turbo（gpt-4-1106-preview）に対応したものがありませんでした。
![作成済みのリソース](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/19133f3f-75c9-4018-608d-a775438d73f0.png)

そこで、 West US など GPT-4 Turbo（gpt-4-1106-preview）をデプロイできるリージョンのリソースを作成します（※ リソースの作成手順は省略）。リソースを作成した後に、Azure OpenAI Studio で「デプロイ」 ＞ 「新しいデプロイの作成」と進めます。
![Azure OpenAI Studio](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/243f3053-6b47-d682-154b-709ecdccb6ca.png)

そして、モデルは「gpt-4」を選択し、「モデル バージョン」のプルダウンメニューを開きます（※ 以下の緑矢印の部分）。
そうすると、「1106-Preview」が選択できるので、これを選びます（※ 以下の赤矢印の部分）。
![「gpt-4」のデプロイ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/e3f994ea-2f61-c09e-2449-f980a609e744.png)

少し表示は見きれてますが、GPT-4 Turbo（gpt-4-1106-preview）をデプロイすることができました。
![GPT-4 Turbo（gpt-4-1106-preview）のデプロイ後](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/f3c06bf1-ca01-2e3a-2b65-feb41710c57e.png)

なお、GPT-4 Turbo（gpt-4-1106-preview）がデプロイできないリージョンでの例も掲載してみます。
以下のように、モデルで「gpt-4」を選択していても、「モデル バージョン」のプルダウンメニューに「1106-Preview」の選択肢がでてきません。
![対応していないリージョンでの例](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/b40379d9-210c-043b-c1aa-5249c164c4a9.png)

#### Azure AI Studio  でもモデルをデプロイしてみる
上で書いた手順は、Azure OpenAI Studio を使ったものでした。
新しくプレビュー版として使えるようになった「Azure AI Studio」でも同様のことができるか、軽く試してみました。

詳細は省略しますが、以下のように Azure AI Studio でも、特定のリージョンを選べば GPT-4 Turbo（gpt-4-1106-preview）をデプロイできるのを確認できました。
![Azure AI Studioでのモデルのデプロイ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/66a52205-4dd2-e6a9-e25a-805b5ef40af7.png)

## おわりに
あとは、デプロイしたモデルを実際に使ってみたりしようと思います。

### curl でのお試し
とりあえず、サクッと試せそうな　curl　を使ったやり方は試してみました。

`"response_format": {"type": "json_object"}` をコマンドに追加したり、JSON を返すように指示を出す形にしたりして、以下のとおり JSON のみのレスポンスを得ることができました。

![curl](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/dbd29e64-f2cb-1f08-fc0b-71f938eb552d.png)

### 【追記】 Azure での DALL-E 3 の利用も試して記事化
同じく、つい最近 Azure で使えるようになった DALL-E 3 による画像生成も、試してみて記事にしました。

●Azure OpenAI Service で DALL-E 3 を使った画像生成を手軽に試す（※ 現状は特定のリージョンでのみ利用可能） #Azure - Qiita
　https://qiita.com/youtoy/items/6ccde7bfd1673b44fcf9