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で申請する必要がある。
手順メモ
- Azure ポータルにアクセス
- Azure AI services multi-service accountを選択
- 「Azure の無料試用版から開始する」から従量制を契約サインアップする。
テクニカルサポートはなし
「お探しのページが見つかりません」になった。 - Azure ポータルへ移動
- Azure AI services multi-service accountを選択
- 左にAzure OpenAIが表示されていたので選択
- 「Azure OpenAIの作成」ボタンをクリック
- 下の「Azure OpenAI サービスへのアクセスを要求するには、ここをクリックしてください。」をクリック
- 利用申請フォーム(英語)に必要事項を入力して送信。
利用申請してから16時間後に承認メールが来た。
公式サイトを参考にデプロイ(配備)する。
参考: 操作方法: Azure OpenAI Service リソースを作成してデプロイする - Azure OpenAI | Microsoft Learn
- もう一度Azureポータルにアクセス
- Azure OpenAI → Azure OpenAIの作成
- リソースグループはリソースを保持するコンテナ。
リソースグループ: test-jp
リージョン: Japan East
名前: test-jp01
価格レベル: Standard S0 - 作成
名前はAPIを叩くときのエンドポイント(URL)のサブドメイン部分になる。
Azure OpenAI Studioを開く
- Completions playgroundを選択
- 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: OperationNotSupportedThe 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に戻して利用することにした。