Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

Azure OpenAI Service のはじめ方

こんにちは、igaです。
先日からポケモンSleepを始めたのですが、寝ている間にポケモンが集まってくるのが面白いですね。


今回は、Azure OpenAI Service(以下、Azure OpenAIと記載します)を利用してみようと思います。
2023年1月から利用できるようになった、Azure OpenAIですが現状では申請が必要になります。
2023年7月には、Japan Eastリージョンで利用することが可能になりました。
learn.microsoft.com

今回、申請から、利用を開始するまで、どのような手順が必要になるかを説明していきたいと思います。

Azure OpenAI Serviceの利用申請

Azure Portal にサインインして、「Azure OpenAI」から「作成」を始めて選択すると、次のように「価格レベル」のドロップダウンに「使用できる項目がありません。」と表示されてAzure OpenAIを利用することができません。

「Azure OpenAI サービスへのアクセスを要求するには、ここをクリックしてください。」と書いてあるところがリンクになっているように、このリンクをクリックすることで利用申請のフォーム画面に遷移します。

申請内容のポイント

申請は25項目(記事執筆時点)ありますが、特にポイントになるのは「申請に使用するメールアドレスは会社メールアドレスである」必要があります。
申請項目に書いてありますが、個人のメールアドレスは申請で拒否されます。
また、申請については会社としての申請が必要となります。

申請フォームの入力内容

申請内容について、ポイントに絞って説明していきます。

4: サブスクリプション IDを入力します。
サブスクリプションIDをどうやって確認するか、スクリーンショットが貼られています。
※No3で選択したサブスクリプション数に応じて、複数のサブスクリプションIDの入力が求められます。

5: メールアドレスを入力します。
→ポイントにも書いたように、会社メールアドレスを入力する必要があります。

21: 利用する可能性のあるリージョンを選択します。
→ここではJapan Eastリージョンは選択できませんが、Azure OpenAIのデプロイする際にJapan Eastを選択することができます。
22: Azure OpenAIで利用したい機能を選択します。
→利用したい機能を選択すると、それぞれをどのような用途に使用するのか、確認する項目が表示されます。

Azure OpenAI Serviceの利用

利用申請に対して承認が通ると、Azure OpenAIのデプロイが可能になります。
申請完了時の画面には、「10営業日以内に審査を行う」ということが書いてありましたが、今回は2日で審査OKの返答が来ました。

Azure Portalの「すべてのサービス」から、「Azure OpenAI」を選択して「作成」を選択すると、Azure OpenAIのデプロイができるようになります。

インスタンスの詳細」から、「リージョン」でJapan Eastを選択することができるようになっています。

Azure OpenAIのデプロイが完了したら、「Azure OpenAI Studio」に移動することで、Azure OpenAIに対する様々な機能を利用することができます。

モデルをデプロイする

最初に、Azure OpenAIを利用するためにモデルのデプロイを行います。
ここで、利用するモデルを選択します。リージョンによって、利用できるモデルが異なるので詳細は公式サイトで確認してください。
Azure OpenAI Service モデル - Azure OpenAI | Microsoft Learn

今回は、Japan Eastリージョンで利用できるGPT-3.5のモデル「gpt-35-turbo-16k」を利用しました。

モデルを利用する

Azure OpenAI Studioから、デプロイしたモデルを使用して様々な用途が利用できるようになっています。
Azure OpenAI Studioは、Azure OpenAIに対する操作を行える環境です。
今回は、「Chat playground」を選択して、Azure OpenAIとチャットを試してみます。

「User message」欄に質問を入力して送信すると、Azure OpenAIから答えが返ってきます。


PythonコードからAzure OpenAI Serviceを利用する

「チャットセッション」から「コードの表示」を押すと、Azure OpenAIを利用するためのソースコードを取得することができます。
取得したソースコードは次のようになっています。

#Note: The openai-python library support for Azure OpenAI is in preview.
import os
import pprint
import openai
openai.api_type = "azure"
openai.api_base = "https://xxxxxx.openai.azure.com/"
openai.api_version = "2023-03-15-preview"
openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.ChatCompletion.create(
  engine="ChatTest",
  messages = [
    {"role":"system","content":"You are an AI assistant that helps people find information."},
    {"role":"user","content":"あなたは何ができますか?"}
  ],
  temperature=0.7,
  max_tokens=800,
  top_p=0.95,
  frequency_penalty=0,
  presence_penalty=0,
  stop=None)

pp = pprint.PrettyPrinter(indent=4)
pp.pprint(response)

生成されたコードには、responseにチャットの結果を格納するだけだったので、最後に出力する処理を追加しました。
このPythonコードを実行した結果のJSONは次のようになりました。

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "私はさまざまなことができます。以下は私の主な機能です:1. 情報検索:ウェブ上の情報を検索し、ニュース、定義、商品情報、レストランのレビューなどを提供します。(以下省略)",
        "role": "assistant"
      }
    }
  ],
  "created": 1690977529,
  "id": "xxxxxxx",
  "model": "gpt-35-turbo-16k",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 327,
    "prompt_tokens": 33,
    "total_tokens": 360
  }
}

Azure OpenAI Serviceの料金

Azure OpenAIの料金は、利用するモデルによって異なります。

  • GPT-3.5
    • gpt-3.5-turbo のモデルでは、1000トークンあたり$0.002
  • GPT-4
    • 8kコンテキスト のモデルでは、1000トークンあたり$0.03
    • 16kコンテキスト のモデルでは、1000トークンあたり$0.06
  • 画像モデル
    • Dall-E のモデルでは、100画像あたり$2

詳細については、公式サイトで確認してください。
Azure OpenAI Service - 価格 | Microsoft Azure

まとめ

Azure OpenAIを利用するためには、現状では会社としての申請が必要です。
申請が通ると、Azure OpenAIのサービスを作成することができるようになります。

Azure OpenAI Studioを利用すると、AIを利用したサービスを簡単にお試しできるので、AIサービスの検証にちょうど良いと思います。


「小企業が実践したノウハウを展開!中小企業でChatGPTどう活かすのか?」 近日開催します!

20230726204731