23 lines
1.0 KiB
Rust
23 lines
1.0 KiB
Rust
//! Per-LLM-request Usage measurement snapshot.
|
|
//!
|
|
//! 1 リクエストの送信時点での「ある history prefix 長で計測した占有量」を
|
|
//! 1 件分にまとめたもの。`UsageEvent` (provider stream イベント) を
|
|
//! 受けて呼び出し側 (typically Pod) が組み立て、永続化層
|
|
//! (session-store) に流したり、token accounting (`token_counter`) で
|
|
//! 履歴として参照したりする。
|
|
|
|
/// LLM リクエスト送信時点での占有量スナップショット。
|
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
|
pub struct UsageRecord {
|
|
/// 送信時の history.len()
|
|
pub history_len: usize,
|
|
/// history[..history_len] の占有量(プロンプト全長、実測)
|
|
pub input_total_tokens: u64,
|
|
/// 上記のうちキャッシュから読み出された分
|
|
pub cache_read_tokens: u64,
|
|
/// 上記のうちこのリクエストでキャッシュに書かれた分
|
|
pub cache_write_tokens: u64,
|
|
/// このリクエストで生成された出力トークン数
|
|
pub output_tokens: u64,
|
|
}
|