2023/07/21 追記 現在この手法は利用できません。
APIキーでの認証は不可となったようです。 StatusCode:403、session key が必要というメッセージが返却されます。
Your request to GET /dashboard/billing/usage must be made with a session key (that is, it can only be made from the browser). You made it with the following key type: secret.
Usage Dashboard から model 別の利用状況をグラフ化します。
前置き
前回 "OpenAI Usage を取得する" で合計料金を取得した方法で、 グラフを細分化します。
標準のダッシュボードでは Daily usage では合計量のみしか出力されません。
データとしてモデル別の cost を持っているのでそれを利用してモデル別の利用量を出力します。
Daily usage breakdown では日付、ユーザを選択するとタイムラインが表示されます。 目的の日付、ユーザが決まっているのであればこの形でも問題ないですが、その日誰が一番利用したかなどの把握が為難いのでユーザ別の利用量を可視化します。
取得方法
Daily usage は前回に続き Usage Dashboard から取得します。
https://api.openai.com/dashboard/billing/usage?end_date=2023-06-01&start_date=2023-05-01
ユーザのリストと、Daily usage breakdown は API で取得します。 API Reference にはいずれも記載が無いようです。見つけられませんでした。 管理系のドキュメントは用意されていないのかもしれません。
https://api.openai.com/v1/organizations/org-XXXXX/users https://api.openai.com/v1/usage?date=2023-05-01
利用例
htnosm/openai-usage-details: Visualize the details of OpenAI usage.
html ファイルをブラウザで開き、 Organization ID と API Key を入力して、期間のボタンを押下します。
usage-summary.html
指定月の合計料金、モデル別の使用量割合、日毎と累積利用量を出力します。UTCです。
usage-per-user.html
ユーザ単位の利用量を出力します。
APIキー毎に集計できるとプログラムや処理毎に分けられるので良いのですが、現状はキーの情報はデータとして持っていません。
データを持っては来ているので、Usage Dashboard 標準でもう少し詳細を入れてくれると嬉しいです。