Skip to main content

llm/testing/
usage.rs

1use crate::{LlmCallPurpose, LlmModel, ModelIdentity, SessionUsageEvent, SessionUsageTotals, TokenUsage, UsageSource};
2
3pub fn session_usage_event(sequence: u64, tokens: TokenUsage) -> SessionUsageEvent {
4    let mut totals = SessionUsageTotals::default();
5    totals.add(tokens, None);
6    SessionUsageEvent {
7        sequence,
8        source: UsageSource::new("root"),
9        purpose: LlmCallPurpose::Chat,
10        model: ModelIdentity::default(),
11        tokens,
12        estimated_cost: None,
13        totals,
14    }
15}
16
17pub fn priced_model() -> LlmModel {
18    LlmModel::all().iter().find(|model| model.pricing().is_some()).cloned().expect("catalog has a priced model")
19}