この記事のポイント
- Azure OpenAI APIキーの取得及び利用方法について説明しています。
- Azure OpenAI Serviceを活用するためには、APIキーの取得が必要です。
- APIキー取得から利用方法までの手順を詳しく解説し、特にビジネスや研究での利用を想定しています。
- API利用におけるセキュリティ面の考慮点、さまざまな利用シナリオと絡めての導入のポイントも解説しています。
- 安全かつ効果的にAzure OpenAI Serviceを活用するための知識を提供しています。
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
AIとクラウドの技術進化に伴い、ビジネスや研究の現場での最適化が急速に進んでいます。中でもMicrosoft Azureが提供する「Azure OpenAI Service」は、その一環として注目されるサービスです。
しかし、このサービスを利用するにはAPIキーの取得が必要なため、どのようにして取得・利用すればよいのか、具体的なステップが気になる方も多いでしょう。
本記事は、Azure OpenAI ServiceのAPIキー取得から利用方法までを網羅的に解説し、最先端のAI技術を活用したいビジネスパーソンや研究者にとって、実践的なガイドとなることを目指しています。 APIを利用する上で重要なセキュリティの考慮点や、様々な利用シナリオに応じた導入のコツなども詳しく説明します。
Azureの基本知識や料金体系、利用方法についてはこちらの記事で詳しく解説しています。
➡️Microsoft Azureとは?できることや各種サービスを徹底解説
目次
Azure OpenAI Serviceとは
Azure OpenAI Serviceは、Microsoft Azureが提供するサービスの一つで、開発者が簡単にアクセスできる強力なAIツールキットをクラウド上で提供します。
このサービスの特徴として、OpenAIの最先端の人工知能技術をベースに構築された、GPT-3などの言語モデルにクラウド上でアクセスすることができます。
Azure OpenAI Serviceで利用可能なAIモデルには、モデルのFine-Tuningやフィルタリング機能、システムメッセージによる役割や回答例を設定する機能が備えられています。
この機能でモデルをカスタマイズすることで、ユーザが必要とするより特定の役割を、モデルに持たせることが可能です。
加えて、Azure OpenAI Serviceは、Microsoftによって提供されるデータの暗号化、アクセス管理、ネットワークセキュリティといった複数のセキュリティ層を有しており、企業が自信を持ってAIを適用できるためのサポートが充実しています。
【関連記事】
Azure OpenAI Serviceとは?その機能や料金、活用方法を解説 | AI総合研究所
Azure OpenAI Serviceの利用方法、主な機能、ガバナンスについての概要をわかりやすく解説しています。AI技術導入の手引きとなる内容になっているのでぜひご一読ください。
https://www.ai-souken.com/article/azure-openai-service-overview
Azure OpenAI APIの概要
Azure OpenAI APIは、Azure OpenAI Serviceで利用可能なAIモデルを外部ソフトウェアに統合にするためのツールです。
このAPIを通じてGPT-3やDALL-Eといった生成系AIモデルを。Pythonなどの言語を用いたプログラムに組み込み、利用することが可能になります。
利用シナリオ
Azure OpenAIのAPIを活用することで、最先端AIモデルを、様々な利用シナリオに適用することができます。実際のアプリケーションへの応用は次のようなものが考えられます。
- 顧客サポートを自動化するチャットボットの開発
- 画像からのテキスト抽出や解析
ここでのAPI利用の利点は、特定の役割に特化するようカスタマイズされたAIモデルを、外部アプリケーションに組み込むことができることです。
これはChatGPTやDALL-EをWebサービスとして利用する際には得ることのできない恩恵です。
【関連記事】
➡️Azure ChatGPTとは?その強みや料金、ChatGPTとの違いを解説
Azure openAI APIキーの料金
Azure OpenAI Serviceは、従量課金制(PAYG)とプロビジョニング済みスループットユニット(PTU) の2つの料金体系を提供しています。
これにより、使用量に応じてコストを最適化することが可能です。
【関連記事】
➡️Azureの料金体系を解説!サービスごとの料金例や確認方法も紹介
Azure OpenAI Service の価格 (参考:Microsoft)
また、具体的な料金の計算方法については、こちらの記事で詳しく解説しています。
➡️Azureの料金計算ツールの利用方法!基本機能や円表示の手順を解説
Azure OpenAIのAPI認証方法
Azure OpenAIのAPIでは「APIキー認証」と「Microsoft Entra認証」の二つのステップが用意されています。
- APIキー認証
Azure OpenAI Service内から取得できるAPIキーを用いてAPI認証を行う方式です。
この方式の利点は、APIキーを用いることでAPI認証を手軽に実装できる点です。
一方でAPIキーが流出した場合、外部から簡単にアクセスできてしまうという点から、セキュリティの安全性が低いという問題があります。
- Microsoft Entra認証
AzureのクラウドベースID管理サービスのMicrosoft Entra IDを利用して、API認証を行う方式です。
この方式ではAPIキーを使わずAPI認証を行えるため、APIキーの外部流出の問題がありません。
この記事では、APIキー認証によるAPI認証の方法を詳しく説明します。
Microsoft Entra認証に関しては次のMicrooft Learnのページを参考にしてください。
参考:マネージド ID を使用して Azure OpenAI Service を構成する方法
Azure OpenAI APIキーの取得方法
APIキー認証ではAPIキーに加え、エンドポイントが必要になります。
これらの取得には、Azure OpenAI Studio上でリソースの作成とモデルのデプロイが完了している必要があります。
モデルのデプロイ後、APIキーとエンドポイントは次のどちらかのページで取得できます。
-
Azure OpenAI Studioのプレイグラウンドのコードの表示の画面
コードを表示を選択
赤枠がAPIキー
-
Microsoft Azureポータルのリソース管理のキーとエンドポイント
APIの呼び出し方法
先ほど取得したAPIキーとサンプルコードを用いて、実際にAPIを呼び出す方法を解説します。
ここではチャットプレイグラウンドのコードの取得で得られるPythonコードを使い、ChatCompletion APIを呼び出します。
APIの呼び出しはPython のほかcurl、c#、jsonなどのフォーマットでも可能です。
Pythonの開発環境としては、クラウド上で簡単に利用できるGoogle ColaboratoryのPython 3.10.12を利用します。
- 必要なライブラリのインストールとインポート
次のようなコードを書き、ライブラリをインポートします。
!pip install openai==0.28.1
import os
import openai
- APIキーの設定
APIキーをOSの環境変数に登録します。Pythonでは次のようなコードで、先ほど取得したAPIキーを'OPENAI_API_KEY'という名前の環境変数として登録します。
os.environ['OPENAI_API_KEY'] = 'ここに取得したAPIキーを入力'
- サンプルコードの取得
チャットプレイグラウンドで適当なプロンプトを入力し、応答を確認したのち、コードを表示からサンプルコードをコピーします。
取得したコードは以下です。
openai.api_type = "azure"
openai.api_base = "https://aisouken.openai.azure.com/"
openai.api_version = "2023-07-01-preview"
openai.api_key = os.getenv("OPENAI_API_KEY")
message_text = [{"role":"system","content":"You are an AI assistant that helps people find information."},
{"role":"user","content":"あなたは芸能事務所のプロデューサーです。この度、清純派の新人アイドル売り出すことになりましたので、そのキャッチコピーを考えてください。"},
{"role":"assistant","content":"「純粋な輝き、新たな夢」"},
{"role":"user","content":"さらにそこに若さという特徴があるとどうなりますか?"},
{"role":"assistant","content":"「純粋な輝きと若さが交差する、新たな夢の扉」"}]
completion = openai.ChatCompletion.create(
engine="LinkX",
messages = message_text,
temperature=0.7,
max_tokens=800,
top_p=0.95,
frequency_penalty=0,
presence_penalty=0,
stop=None
)
createメソッド引数のtemperature、max_tokens等のパラメータを変更することで、チャットプレイグラウンドと同様、モデルのファインチューニングを行うことができます。
- 対話の実行
Pythonを用いて、GPTとの対話を行います。
まずサンプルコードのmessage_textリストに適当にプロンプトを追加します。
message_text = [{"role":"system","content":"You are an AI assistant that helps people find information."},
{"role":"user","content":"あなたは芸能事務所のプロデューサーです。この度、清純派の新人アイドル売り出すことになりましたので、そのキャッチコピーを考えてください。"},
{"role":"assistant","content":"「純粋な輝き、新たな夢」"},
{"role":"user","content":"さらにそこに若さという特徴があるとどうなりますか?"},
{"role":"assistant","content":"「純粋な輝きと若さが交差する、新たな夢の扉」"},
#新たな命令の追加
{"role":"user","content":"さらにそこに明るさという特徴があるとどうなりますか?"}]
その後再度サンプルコードを実行します。
追加した命令に対する応答は、サンプルコードで呼び出したChatCompletionのcreateメソッドの戻り値として、completion変数にjson形式で格納されています。
completion変数の内容は次のようなコードで参照することができます。
completion["choices"][0]["message"]["content"]
実行結果は次のようになりました。命令に対する応答が適切に出力されていますね。
「純粋な輝きと若さが明るさで煌めく、新たな夢の扉」
まとめ
本記事ではAzure OpenAI Serviceの活用方法の一つである、API利用の方法に関し、APIキー取得からAPIの呼び出し方法まで、全般的な説明を行いました。
またAzure OpenAI ServiceのAPIを呼びだすことで、OpenAIの強力なAIモデルをカスタマイズしつつ、ビジネスアプリケーションやサービスに組み込むことができることを説明しました。
Azure OpenAI Serviceのより詳しい説明や、ほかAI関連の情報が知りたい方はAI総合研究所の関連記事もご覧ください!
リクエストを作成し送信する基本的な方法について、コード例を交えて解説してください。