はじめに
Azure OpenAI ServiceのChat機能をRESTで利用するために確認すべき項目をまとめる。
前提条件
- Azure OpenAI Serviceのアクセス申請が承認されていること
- Azure OpenAIのリソースが作成されていること
AzureのWebコンソールで確認すべきポイント
Azure Portal | Overview
StatusがAcitveであることを確認します。また、Locationによって、サポートされているModelに違いがある場合があるため、あわせて確認して下さい。
Azure Portal | Keys and Endpoint
API KeyとLanguage APIのURLエンドポイントを確認します。
Azure Portal | Networking
ネットワークの設定はアクセス可否の設定と直結しており重要なポイントとなります。Selected Networks and Private Endpointsを指定する場合は、Azure AI サービスの仮想ネットワークを構成するもご参照の上、アクセス可能なネットワークをご確認下さい。
- All networks: インターネットを含む全てのネットワークからのアクセスを許可
- Selected Networks and Private Endpoints: 指定するネットワークからのアクセスのみを許可
- Disabled: アクセスを無効化
Azure Portal | Model deployments
Model deploymentsは、Azure Web ConsoleからAzure OpenAI Studio
に移動する必要があるようです。
Azure OpenAI Studio | Deployments
上記ページから移動した先は下記ページになります。Deploymentsは、URLエンドポイントに含む必要があるため、確認しておく必要があります。
Azure OpenAI Studio | Models
こちらは、利用可能なModelを確認するページとなります。今はGPT-4を利用申請を行なっていない状態です。モデルの詳細はAzure OpenAI Serviceモデルをご参照下さい。
サンプルスクリプト
AzureのドキュメントページやAzure OpenAI Stduioでは様々なサンプルコードが見つかりますが、動く場合と動かない場合があるため、動作が確認できたcurlコマンドを案内します。macOSのTerminalでは、zsh no matches found:
エラーが出力されます。下記はURLをダブルクオートで囲っているのでMacosでもLinuxでもコマンドが通ることを確認しています。
URLエンドポイント
、設定したdeployment名
、指定のKEY
は上記の各ページにてご確認の上、入れ替えてご利用下さい。
curl "https://{URLエンドポイント}/openai/deployments/{設定したdeployment名}/chat/completions?api-version=2023-05-15" \
-H "Content-Type: application/json" \
-H "api-key: {指定のKEY}" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'