はじめに
gptをなどといったOpenAIAPIのログを取得する際の一例として、AzureAPIManagementService(以下APIM)を活用する方法が、Azure OpenAI Serviceリファレンスアーキテクチャ(6章)に
て紹介されたので、実際の実装例をご紹介いたします。既存のアプリに変更を加えることなく会話履歴のロギングが可能となるため、こちらの方法が最も手軽ではないかと思います。
対象者
この記事は下記のような人を対象にしています。
- OpenAIAPIの会話履歴を収集したい人
- DB構築など面倒なことはなるべく避けて手軽に実装したいたい人
- Azureを使用している人
構成イメージ
APIMの大まかなイメージは、あるAPIと代理で通信するAPIをAzure上に作成し、対象とするAPIを管理するようなイメージです。
OpenAIとの通信をAPIMで中継して、会話履歴をLogAnalyticsに出力していきます。AzureopenAIAPIの仕様を一切変えずに実装できるため、アプリで指定しているホストをOpenAIのものからAPIMのものに置き換えるだけでログの収集が可能となります。
手順
-
1,APIの作成
AzurePortalからAPIMのリソースを作成後、画面左のブレードより①APIを選択→②AddAPI と進みAPIを作成していきます。
-
2,operationの追加
APIMのエンドポイントを作成します。今回は特段問題ないためワイルドカードを設定しています。
これでAPIMのホストに対するPOST要求はパスに関係なく扱えるようになります。適宜その他のメソッドも登録しましょう。
- 3,Backendの作成
次にBackendを入力していいきます。🖋のマークをクリックします。
以下の画像のように設定します。ServiceURLには使用するAzureOpenAIのホスト名を入力します。(https://{your_openAI_resource_name}.openai.azure.com/)
以上でAPI作成に関する設定はほぼ完了となります。以降は製品の追加から作成したAPIを追加し、公開することで呼び出し可能となります。
おわりに
AzureAPIMを利用したログ収集について、前段階となるAPIの作成部分についてまとめました。実際にログを収集するためには、LogAnalyticsの設定も必要となります。時間を見つけてそちらに関しても追記予定です。