GPT-4-VisionをAOAIのPlayGroundで試す

この記事は2024年4月16日(火)に執筆してストックしていたものです
## １．はじめに
OpenAIの画像が認識できるAIモデルのGPT-4-Turbo-VisionがAzure OpenAIのWest USリージョンで利用できたので早速、Azure OpenAIのPlayGroundで利用してみました。

## ２．リージョン
Azure OpenAIサービスでは、GPT-4-Turbo-128K-Visionを「vision-preview」と表記していることが多いですが、これがGPT-4-Turbo-128K-Visionのモデルです。
東日本リージョンでも利用できますが、既に東日本リージョンのクォータは全て割り当て済みでクォータの分割が面倒なため、今回は米国西部リージョンを使用しました。

![AOAI_model.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/c39491a5-a1e1-74fe-be85-22ba364457ce.png)
※「Azure OpenAI Service モデル」ページから引用

※「[Azure OpenAI Service モデル](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/concepts/models#gpt-4-and-gpt-4-turbo-preview)」ページから引用

GPT-4-Turbo-128K-Visionがデプロイできるリージョンは2024年4月16日(火)現在のものです。

| No | Region | リージョン(日本語表記) | 備考 |
| --- | --- | --- | --- |
| 1 | australiaeast | オーストラリア東部 |  |
| 2 | japaneast | 東日本 |  |
| 3 | swedencentral | スウェーデン中部 |  |
| 4 | switzerlandnorth | スイス北部 |  |
| 5 | westus | 米国西部 | 今回は米国西部を選びました。 |

## ３．デプロイ

### 3.1 GPT-4-Turbo-128k-Visionのデプロイ

モデルのデプロイは米国西部リージョンでAzure Open Serviceをデプロイし、デプロイしたサービスの「モデルデプロイ」メニューから「展開の管理」（恐らく言いたいことはデプロイの管理」を開きAzure AI Studioでデプロイをしていきます。

ここではAzure AI StudioのことをStudioと書いてますし、Azureはもう少しタームを統一すべきですよね。www

![展開の管理.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/329ce7f8-fee3-1223-1c53-301d3fc04f50.png)

モデルのデプロイ時に少し悩むのは、先ほどまでvision-previewと表記していたベースモデルが選択肢にないことです。

![DeploymentOfModel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/9003a190-c7ca-9d68-e510-234b6b54fbbd.png)

プルダウンが分かりにくいので2024年4月16日時点で選択できるベースモデル、モデルバージョンとその仕様を以下の表に整理しておきます。
コンテキストと入出力の価格は「[Azure OpenAI Service - 価格 | Microsoft Azure](https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/openai-service/)」ページに記載がありましたのでマージしました。

[Azure OpenAI Service - 価格 | Microsoft Azure](https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/openai-service/)

| No | ベースモデル | モデル区分 | モデルバージョン | コンテキスト | 入力 (1,000トークン当たり) | 出力 (1,000トークン当たり) | 備考 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | gpt-35-turbo | 現行 | 0125 | 16K | $0.0005 | $0.0015 | 1106よりコストがさらに安くなっているのでRAGなどではこちらを使った方がコスパはよさそうです。 |
| 2 |  | レガシ | 1106 | 16K | $0.001 | $0.002 |  |
| 3 | gpt-4 | 現行 | 0125-Preview | 8K | $0.03 | $0.06 |  |
| 4 |  | レガシ | 1106-Preview | 8K | 同上 | 同上 |  |
| 5 |  | レガシ | 0613(規定) | 8K | 同上 | 同上 |  |
| 6 |  | 現行 | vision-preview | 128K | $0.01 | $0.03 | GPT4では一番コスパが良い 但しgpt-35-turbo-0125の入出力共に20倍のコスト 1000トークンの往復で$0.04(6.28円:157円換算) |
| 7 | gpt-4-32k | 現行 | 0613(規定) | 32K | $0.06 | $0.12 | GPT4では一番コスパが悪い gpt-4-8K系はgpt-35-turbo-0125の入出力共に入力120倍、出力80倍のコスト |

※新しいモデルのコストパフォーマンスが向上していることが表からわかります。そのため、定期的に価格表を確認し、モデルを更新することをお勧めします。
※最もコストパフォーマンスが悪いgpt-4-32kでRAGを使用すると、大量のお金がかかる可能性があります。
　しかし、「Preview」のスペルで大文字小文字くらいは統一してほしいものです

### 3.2 Computer Visionのデプロイ
Microsoftが提供するComputer VisionはクラウドベースのAIサービスで、画像やビデオの解析を行い、その中に含まれる情報を抽出します。
このサービスは、画像内の物体や人物の識別、テキストの読み取り、特定の属性（例えば色やテクスチャ）の抽出などを行います。
また、機械学習の手法を用いて、画像から情報を抽出し、その内容を理解する能力も持っています。
従って、Computer Visionは画像の内容を理解し、それを用いて様々なアプリケーション（例えば、自動運転車や監視カメラなど）で活用することが可能です。
画像を解説させるだけの場合Computer Visionは不要ですが、せっかくなのでこちらもデプロイして試してみます。

## ４．GPT-4-Turbo-128k-Visionで解説
写真はなんでもよかったのですが、先週、横浜のバーで飲んだサウザというテキーラの写真を解説してもらうことにしました。

ボトルとグラスは冷凍庫から出したばかりで表面の結露が凍っている状態のものです。（サウザは強いお酒ですが、飲みやすいし次の日残らないのでお勧めです）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/afe8eb3a-66fc-64f2-208f-a3d17a5f0bef.png)
※画像サイズがQiitaの制限を超えていたため、サイズを小さくしています。

## ５．PlayGroundで試す

Azure OpenAIやOpenAI APIのGPTモデル（ChatGPT Plusなど）は、主にAPIサービスとして提供されます。
通常はモデルをデプロイした後は、APIを利用するプログラムを作成して実行します。
Azure OpenAIサービスには、Azure AI Studioというパブリックプレビュー機能があります。
これには、デプロイしたモデルをすぐに試すことができる"PlayGround"という試用版のチャットボットが含まれています。
最近では、OpenAI APIサービスでもPlayGroundが利用可能になりました。
画像のアップロードやプロンプトを渡すプロセスをプログラムで実装するのは手間がかかるため、今回はこのPlayGroundを使用して実験してみました。

![Upload_on_PlayGround.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/2e6cfc83-87e7-c888-2eef-b233c1ae45cc.png)

PlayGroundの試用版チャットボットでは「クリップマーク」のプルダウンから画像を上記のようにプロンプト中にアップロードできます。

![PlayGround.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/681f7e6d-2d77-e84b-0ef3-41b37a26dbe1.png)

リージョン：West US

LLM:gpt-4 vision-preview

リソース：OpenAI Service、Computer Vision(画像をAIで解析)

AzureのComputer Visionは、Microsoftが提供するクラウドベースのAIサービスで、画像やビデオを解析し、その中の情報を抽出する機能を提供しています。このサービスは、画像内の物体や人物の識別、テキストの読み取り、特定の属性（例えば色やテクスチャ）の抽出といったタスクを行うことができます。また、Computer Visionは、機械学習の手法を用いて、画像から情報を抽出し、その内容を理解する能力を持っています。

## 5.1. Playgroundで動かしてみた

以下の画像ファイル（3024x4032、4.58MB)をWindowsのペイントツールで縮小(1920x1440、2.23MB)してAzure OpenAI StudioのPlaygroundで動かしてみました。

### 英語のプロンプト

```
As an AI assistant, provide a clear, detailed sentence describing the content depicted in this image.![Japanese_Prompt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/0015839c-62ca-d1a9-3581-f7e489c0aca4.png)

```

![Sauza_small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/e95f71b4-838b-1c3a-c7da-34593a7e0f22.png)

```
**The image shows a close-up of a frosty bottle of Sauza Hacienda Tequila Silver in
 the foreground, with a small shot glass beside it.
In the background, there are more bottles, including one labeled "Stolichnaya," and
 a glimpse of a display that reads "LD'S No.1 B."
The setting appears to be a bar with a vibrant atmosphere, as indicated by 
the illuminated sign and the reflections on the surfaces.**
```

```
日本語に訳してください。
”””
The image shows a close-up of a frosty bottle of Sauza Hacienda Tequila Silver in the foreground, with a small shot glass beside it. In the background, there are more bottles, including one labeled "Stolichnaya," and a glimpse of a display that reads "LD'S No.1 B." The setting appears to be a bar with a vibrant atmosphere, as indicated by the illuminated sign and the reflections on the surfaces.
```

```
画像には、前景に霜で覆われたサウザ・ハシエンダ・テキーラ・シルバーのボトルがクローズアップで
映っており、その隣には小さなショットグラスが置かれています。
背景には、「ストリチナヤ」とラベル付けされたボトルを含むさらに多くのボトルや、「LD'S No.1 B」と
読めるディスプレイの一部が見えます。
照明看板や表面の反射から判断すると、設定は活気に満ちた雰囲気のバーのようです。
```

### 日本語のプロンプト
```
AIアシスタントとして、この画像に描かれている内容を明確で詳細な文章で説明してください。
```

![Sauza_small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/e95f71b4-838b-1c3a-c7da-34593a7e0f22.png)

![Japanese_Prompt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/776605c4-9fe2-b698-a869-9fce9d5dac9b.png)

![explain_sauza.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/3ce66d67-3dc8-1d25-c037-d463f2e7088e.png)

```
画像には、冷凍された状態の「サウザ ブルーアガベ ハシエンダ テキーラ シルバー」とラベルに記載されたテキーラのボトルが、赤いカウンタートップ上に置かれています。
ボトルの前には、同じく冷えた状態のショットグラスが一つあり、ボトルとグラスの背後には、他のアルコール飲料が棚に置かれているのが見えます。
右側には「HARVEY MILK LIMITED EDITION」と記載されたカラフルなボトルがあり、左側にはさらに別の飲料ボトルが見えます。
また、ショットグラスの下にはダーツの的がデザインされたコースターが敷かれています。
```

### 英語のプロンプトで日本語で回答
```
As an AI assistant, provide a clear, detailed sentence describing the content depicted in this image.
Ask to Japanese
```

![Sauza_small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/e95f71b4-838b-1c3a-c7da-34593a7e0f22.png)

![result_explain_sauza.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/492b6ac9-506a-aa05-bf24-640cd5c52e0d.png)

```
画像は、凍った状態の「サウザ ブルーアガベ ハシエンダ テキーラ シルバー」とラベルに記載されたクリアなテキーラボトルが中心に置かれており、
その前面には同様に冷やされた状態のショットグラスが一つあります。
ボトルの背景には、色とりどりの照明が当たったバーカウンターに、他の様々なアルコール飲料が配置されているのが見えます。
右側には「STOLICHNAYA」とラベルのあるカラフルなボトルがあり、左側には「BELLINI」と記載されたボトルがあります。
ショットグラスの下には、ダーツボードを模したコースターが置かれています。
```

### Computer Visionを有効にして動かしてみた

```
As an AI assistant, provide a clear, detailed sentence describing the content depicted in this image.
Ask to Japanese
```

![Computer Vision.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/976e7a4b-30bb-1ebb-b9a2-721d47c1f58e.png)

```
この画像には、冷やされた「Sauza HACIENDA TEQUILA SILVER」とラベル付けされたテキーラのボトルが中央に置かれており、その前には冷たいショットグラスがあります。
背景には、他のアルコール飲料のボトルが見え、「STOLICHNAYA」のボトルには「HARVEY MILK LIMITED EDITION」というラベルがあります。前景にはダーツボードの一部も写っており、カウンターは赤色です。
```

うぅーん大きな変化を感じませんね

## ６．コスト

4/12に英語のプロンプトで2.23MBのファイルの説明をさせたとき１回分の請求です。
約3,01円でした。

![Cost.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3764962/7aaee454-48fc-b97f-c688-c685ade3367f.png)

## ７．参考サイト
- [Azure OpenAIでGPT-4 Turbo with Visionが利用可能になったので触ってみた #Azure - Qiita](https://qiita.com/kccs_haruki-nukumi/items/16aca479532a53c11034)
- [Quickstart: Use GPT-4 Turbo with Vision on your images and videos with the Azure Open AI Service - Azure OpenAI | Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/openai/gpt-v-quickstart?tabs=image%2Ccommand-line&pivots=programming-language-studio)
- [How to use the GPT-4 Turbo with Vision model - Azure OpenAI Service | Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/gpt-with-vision?tabs=rest%2Csystem-assigned%2Cresource)
- [GPT-4 with Vision API で画像を読もう (forest-dev.com)](https://forest-dev.com/2023/12/gpt-4-with-vision-api-%E3%81%A7%E7%94%BB%E5%83%8F%E3%82%92%E8%AA%AD%E3%82%82%E3%81%86/)