Slide 18
Slide 18 text
見える化
let pricing = datatable(model_name:string, input_per_1m:real, cached_input_per_1m:real,
output_per_1m:real)
[
‘gpt-5-mini’, 39.10, 3.91, 312.80 //KQL実行時に動的に料金を入れる
];
customEvents
| where name == 'usage_telemetry'
| extend department_id = tostring(customDimensions.department_id) //部署名
| extend model_name = tostring(customDimensions.model_name) //モデル名
| extend prompt_tokens = tolong(customMeasurements.prompt_tokens) //入力トークン
| extend cached_tokens = tolong(customMeasurements.cached_tokens) //キャッシュ利用されたトークン
| extend completion_tokens = tolong(customMeasurements.completion_tokens) //出力トークン
| join kind=leftouter pricing on model_name
| extend normal_prompt_tokens = prompt_tokens - cached_tokens
| extend input_cost = normal_prompt_tokens / 1000000.0 * input_per_1m
| extend cached_input_cost = cached_tokens / 1000000.0 * cached_input_per_1m
| extend output_cost = completion_tokens / 1000000.0 * output_per_1m
| extend total_cost_jpy = round(input_cost + cached_input_cost + output_cost, 2)
| summarize total_cost_jpy = round(sum(total_cost_jpy), 2) by timestamp = bin(timestamp, 1h),
department_id
| order by timestamp asc