どうも、フリーランスエンジニアのMakotoです。
今回は、Azure OpenAIをデプロイする手順をハンズオン形式でご紹介します。
それではいってみましょう!
Azure OpenAIのリソースを作成するには 専用フォーム からあらかじめ申請する必要があります。
申請不要でAzure OpenAIのリソースを作成できるようになりました。ただし、不正利用監視、コンテンツフィルターといった「限定アクセス」機能を利用する場合は専用フォームから申請が必要です。
Azure OpenAIの作成
Azureポータルにサインインしている状態から始めます。
まず、画面上部の検索窓で「Azure OpenAI」を検索してメニューを開きます。

「作成」ボタンから新規作成していきましょう。

基本
基本タブではリソースのリージョンや名前、価格レベルなどを選択します。
- サブスクリプション
- サブスクリプションを選択
- 契約がひとつだけであればあまり意識しなくてもOK
- 複数ある場合はプルダウンから選択
- リソースグループ
- リソースグループを選択
- まだ作成していない場合は「新規作成」から入力
- リージョン
- データセンターの場所を選択
- リージョンによって使用できるモデルが異なるためココの選択は重要
参考:モデルの概要テーブルとリージョンの可用性
- 名前
- Azure OpenAIのリソースの名前
- 使用できるのは英数字とハイフンのみ。64文字以内
- 価格レベル
- 現時点では Standard S0 一択
参考:Azure OpenAI Service の価格
- 現時点では Standard S0 一択
コンテンツレビューポリシーでは、Azure OpenAI Serviceでデータがどのように処理されるか、プライバシーやセキュリティの取り組み、行動規範などに関するリンクが示されています。
まず、押さえておくべき内容は、「顧客データがモデルの改善(学習)に使用されることはない」というところでしょうか。企業にとってここは安心ですね。
ちなみに、OpenAI社の「ChatGPT Plus」は、モデルの学習に使用しないよう申請(オプトアウト)しないと学習に利用されます。
ネットワーク
続いてネットワークのタブです。デフォルトのパブリックアクセスのままで進めますが、他のPaaSサービスと同様、特定のネットワークからのみアクセスできるように構成することもできます。

レビューおよび送信
タグはスキップ。最後に入力内容を確認し、問題なければ「作成」ボタンを押して進めましょう。
デプロイは1分くらいで完了します。「リソースに移動」を押して概要メニューへ移動しましょう。

モデルのデプロイ
Azure OpenAIのリソースを作成することで、命令を送るためのエンドポイント(URI)やキーが払い出されますが、テキスト生成などのリクエストを処理し応答をもらうには「どのAIモデルを使うか?」をあらかじめ指定しておく必要があります。
ですので、続いてモデルをデプロイしていきます。
Azure OpenAI Studioを起動
Azure OpenAIには、モデルを管理したりチャットなどの機能を試すためのプライグラウンドを備えた「Azure OpenAI Studio」というWeb画面(開発環境)が用意されています。
概要メニューの「Azure OpenAI Studio に移動する」から開くか、もしくは、oai.azure.com に直接アクセスして利用することができます。

デプロイの作成
Azure OpenAI Studioを起動したら「新しいデプロイの作成」を押します。
なお、左側メニューの「デプロイ」からでも作成画面に遷移できます。

「新しいデプロイの作成」からモデルをデプロイしましょう。

使用するモデルの名前やバージョンなどを入力して「作成」ボタンをクリックします。
- デプロイ名
- 任意の名前
- REST APIなどプログラムでモデルを呼び出す時に使用
- モデル
- gpt-35-turbo / gpt-4 / gpt-4o などのモデルの種類を選択
- モデルバージョン
- バージョンを指定
- デプロイの種類
- 標準
- APIの呼び出しごとに課金される
- トークンレートの上限が低い
- 選択したリージョンのインスタンスで処理される
- グローバル標準
- APIの呼び出しごとに課金される
- トークンレートの上限が高い
- 選択したリージョン以外のインスタンスにも分散して処理される
- Provisioned-Managed
- モデルの処理能力(スループット)を事前に購入して割り当て
- 選択したリージョンのインスタンスで処理される
- 標準
- 詳細設定オプション
- レート制限やコンテンツフィルターなどを指定(詳細は省略)

モデルをデプロイすると一覧画面に表示されます。「プレイグラウンドで開く」からチャットを試してみましょう。

さきほどデプロイしたモデルを使用してチャットの会話を試すことができます。今回は簡単な例ですが、システムプロンプトを設定して役割や振る舞いを定義したり、パラメータを調整してチャットをテストすることもできます。

まとめ
今回は、Azure OpenAIを作成してモデルをデプロイする手順をご紹介しました。
入力する項目が多くないのでデプロイの操作自体はとても簡単で、プレイグラウンドでサクッと試せる点も非常に便利だなと感じました。他のAzureサービスと組み合わせた構築パターンも色々と試してみたいですね!
それでは、また!