はじめに
こんにちは。NewITソリューション部のエンジニアの石原です。
今や様々な製品でAzure OpenAIのAPIを利用するようになりましたが、API の管理プラットフォームとして提供されているAzure API Managementと組み合わせることで様々な恩恵を受けることが出来ます。
本記事では、Azure API ManagementとAzure OpenAIを組み合わせ、APIエンドポイントとして公開するまでを紹介します。
Azure API Managementとは
Azure API Management は、あらゆる環境にわたる API のためのハイブリッドなマルチクラウド管理プラットフォームで、利用することで以下のような課題に対応できます。
- API コンシューマーのバックエンド アーキテクチャの多様性と複雑さを抽象化する
- API として Azure 内外でホストされるサービスを安全に公開する
- API の保護、高速化、および監視を行う
- 内外のユーザーが API を検出して使用できるようにする
また、Azure OpenAIのAPIと組み合わせる事例は以前より存在しましたが、アップデートにより簡単にAPIを公開できるようになりました。
API ManagementでOpenAIのAPIを公開する
では実際にAPI ManagementでOpenaiのAPIを公開していきます。
Azure OpenAIのリソースは既に作成済みとします。
まずは、API Managementのリソースを作成していきます。
今回はデモ版のため、価格レベルをDeveloperとしていますが、利用するシチュエーションに合わせて適宜選択してください。

その他細かい設定はありますが、今回は基本的な設定のみを行い、リソースを作成します。

デプロイが完了したら、サイドバーのAPIs>APIをクリックします。

この画面が各APIを作成・編集する画面です。
下にスクロールするとAzure OpenAI Serviceを選択するボタンがありますので、こちらをクリックしAPIを作成していきます。


必要な情報を入力し、APIを作成します。
Azure OpenAI インスタンスは作成済みのリソースを選択してください。

作成を押下します。

APIが作成され、管理画面に遷移します。

これで必要な設定がすべて完了したので、通信の確認を行います。
以下の値を設定し、APIをコールします。
- メソッド:POST
- ヘッダー:Content-type: application/json
api-key: サイドバーのAPIs>サブスクリプション画面に記載された主キー

- URI:
https://{API ManagementのゲートウェイURL}/{API名}/deployments/{deployment-id}/chat/completions?api-version={api-version}
- リクエストBody:
{"messages": [{"role": "user", "content": "Say this is a test!"}]}
レスポンスとして200 OKが返却されれば成功です。
まとめ
以上、Azure API ManagementでのAzure OpenAI APIの公開方法を説明しました。
今回は基本的な部分のみの説明となってしまいましたが、API Managementを利用することで、複数のキーを管理したり、使用したトークン数を集計することも可能ですので機会があれば記事にしたいと思います。
弊社ではクラウドやAIを中心としたシステムを提供しております。
ご興味をお持ちいただけましたらお気軽にお問い合わせいただけると幸いです。