Azure OpenAI Serviceの調査と利用申請してデプロイ(配備)

ChatGPTをPHPから利用する方法を調査しているときの覚書。調査編。


1.ChatGPT EnterpriseとAzure OpenAI Service

2023年8月28日に企業向けChatGPTがアナウンスされた。
参考: Introducing ChatGPT Enterprise

ChatGPT Enterpriseは企業向けに制限緩和やレスポンス速度が改善されている。

ChatGPTのAPIは平均37秒
Azure OpenAIは平均12秒
参考: ChatGPT API の速度をシュッと比較してみる|bbz

Azure OpenAIは企業向けにセキュリティなどカスタマイズ性が高い
参考: What is Azure OpenAI Service? - Azure AI services | Microsoft Learn

まずはAzure OpenAIで試すことにした。


2.料金/費用

トークン数というテキスト構成単位で課金される。

文字数に近い。日本語だと文字数よりトークン数が大きくなる。
例えば「おはようございます。」は文字数10、トークン数14。

公式サイトのツールでトークン数が分かる。
参考: Tokenizer | OpenAI Platform

GPT-4はGPT-3.5の価格の20倍。
参考: Azure OpenAI Service - 価格 | Microsoft Azure


GPT-3.5で1000文字入力して、1000文字の答えが返ってきたらおおよそ1円掛かるイメージ。


3.Azure OpenAI Serviceの利用申請してデプロイ(配備)

現在Azure OpenAI Serviceは利用申請する必要がある。
使える言語モデルはGPT-3.5。
GPT-4を利用するには別途Azure OpenAI GPT-4 Waitlistで申請する必要がある。

手順メモ

  1. Azure ポータルにアクセス
  2. Azure AI services multi-service accountを選択
  3. 「Azure の無料試用版から開始する」から従量制を契約サインアップする。
    テクニカルサポートはなし
    「お探しのページが見つかりません」になった。
  4. Azure ポータルへ移動
  5. Azure AI services multi-service accountを選択
  6. 左にAzure OpenAIが表示されていたので選択
  7. 「Azure OpenAIの作成」ボタンをクリック
  8. 下の「Azure OpenAI サービスへのアクセスを要求するには、ここをクリックしてください。」をクリック
  9. 利用申請フォーム(英語)に必要事項を入力して送信。

利用申請してから16時間後に承認メールが来た。

公式サイトを参考にデプロイ(配備)する。
参考: 操作方法: Azure OpenAI Service リソースを作成してデプロイする - Azure OpenAI | Microsoft Learn

  1. もう一度Azureポータルにアクセス
  2. Azure OpenAI → Azure OpenAIの作成
  3. リソースグループはリソースを保持するコンテナ。
    リソースグループ: test-jp
    リージョン: Japan East
    名前: test-jp01
    価格レベル: Standard S0
  4. 作成

名前はAPIを叩くときのエンドポイント(URL)のサブドメイン部分になる。

Azure OpenAI Studioを開く

  1. Completions playgroundを選択
  2. Create new deployment
    Select a model: gpt-35-turbo
    Deployment Name: gpt35

gpt-35-turboはトークン数が最大4096。日本語だと最大3000文字ぐらいだと思う。
gpt-35-turbo-16kはトークン数が多いけど金額が約2倍になる。
参考: Azure OpenAI Service モデル - Azure OpenAI | Microsoft Learn

Presetsを選択してGenerateしてみるとエラー。

Completions call failed: OperationNotSupported
The completion operation does not work with the specified model, gpt-35-turbo. Please choose different model and try again. You can learn more about which models can be used with each operation here: https://go.microsoft.com/fwlink/?linkid=2197993. | Apim-request-id: xxxx-xxx-xxxx

リージョンをJapan Eastにしているのが原因だった。

gpt-35-turbo(0613)はChatしかサポートしていない。
Completionsもサポートしているgpt-35-turbo(0301)を使えるのはEast USとかにしないといけない。
参考: Azure OpenAI Service models - Azure OpenAI | Microsoft Learn

ただしgpt-35-turbo(0301)は2024年7月5日で廃止となる。


Azureポータルに戻ってリソースグループをEast USで作成。

Completions playgroundまで進めるとDeploymentsを選択できて生成できた。
日本語で聞けば、日本語で答えてくれる。


4.いろいろ試す

Chatの「System message」で役割を定義すれば、Completionsとほぼ同じことが出来ることが分かった。

Completionsは使用できる言語モデルが2024年7月で廃止になるので、リージョンはJapan Eastに戻して利用することにした。



【関連記事】