生成AIアプリのプロンプト検証にstreamlitを使った簡単なチャットアプリを使っています。
検証していて、いまどれくらい使っているのか?とか、モデルの利用頻度はどういった傾向なのかなとか気になってきます。
そこでアプリ画面からそういった情報を見せられたら便利だなとは思っていました。
ただ、情報を取得して集計して、表示してとか、ちょっと面倒だなと手を付けていなかったのですが、NewRelicのチャートをそのまま画像貼り付けする方法があったので、やってみました。
指定したNRQLのチャートを画像として持ってこられるapiになります。
graphqlのapiに下記のようなクエリを実行すると、対応したグラフ画像のURLを取得できます。
実際には{QUERY}の部分にグラフとして表示させたいnrqlを記載します。
chartType: BARと記載している部分は チャートの種類を指定できます。chartType: LINE とすると折れ線になったりします。
{
actor {
account(id: {NR_ACCOUNT_ID}) {
nrql(
query: {QUERY}
){
staticChartUrl(chartType: BAR, format: PNG, height: 320, width: 380)}
}
}
}
これをリロードする都度とっていたら負荷も気になるので、ローカルに画像はキャッシュしておいて1時間経過してたら再度APIを実行するようにしています。
実際にチャートを表示させた画像がこちらになります。
アプリのTopページに直近のモデル別Token数累計とリクエスト数を並べてみました。
これならNewrelicのアカウントを持っていなくても、アプリ利用者のだれでも状況が把握できます。
使用するモデルが増えてきたら、モデルごとのレスポンス比較とかも出したら面白いかなと思っています。
NewRelicにはすでに収集されているデータで、この指標はみんなに見てもらいたい!といったものがある時には、お手軽に情報が表示できて便利かなと。
