genai_types/models.rs
1use serde::{Deserialize, Serialize};
2
3/// Information about a model
4#[derive(Serialize, Deserialize, Debug, Clone)]
5pub struct ModelInfo {
6 /// Model ID
7 pub id: String,
8
9 /// Display name
10 pub display_name: String,
11
12 /// Maximum context window size
13 pub max_tokens: u32,
14
15 /// Provider name
16 pub provider: String,
17
18 /// Optional pricing information
19 pub pricing: Option<ModelPricing>,
20}
21
22/// Pricing information for a model
23#[derive(Serialize, Deserialize, Debug, Clone)]
24pub struct ModelPricing {
25 /// Cost per million input tokens
26 pub input_cost_per_million_tokens: f64,
27
28 /// Cost per million output tokens
29 pub output_cost_per_million_tokens: f64,
30}