seed.rs

 1use super::*;
 2use crate::{Config, Result};
 3use queries::providers::ModelParams;
 4
 5pub async fn seed_database(_config: &Config, db: &mut LlmDatabase, _force: bool) -> Result<()> {
 6    db.insert_models(&[
 7        ModelParams {
 8            provider: LanguageModelProvider::Anthropic,
 9            name: "claude-3-5-sonnet".into(),
10            max_requests_per_minute: 5,
11            max_tokens_per_minute: 20_000,
12            max_tokens_per_day: 300_000,
13            price_per_million_input_tokens: 300,   // $3.00/MTok
14            price_per_million_output_tokens: 1500, // $15.00/MTok
15        },
16        ModelParams {
17            provider: LanguageModelProvider::Anthropic,
18            name: "claude-3-opus".into(),
19            max_requests_per_minute: 5,
20            max_tokens_per_minute: 10_000,
21            max_tokens_per_day: 300_000,
22            price_per_million_input_tokens: 1500,  // $15.00/MTok
23            price_per_million_output_tokens: 7500, // $75.00/MTok
24        },
25        ModelParams {
26            provider: LanguageModelProvider::Anthropic,
27            name: "claude-3-sonnet".into(),
28            max_requests_per_minute: 5,
29            max_tokens_per_minute: 20_000,
30            max_tokens_per_day: 300_000,
31            price_per_million_input_tokens: 1500,  // $15.00/MTok
32            price_per_million_output_tokens: 7500, // $75.00/MTok
33        },
34        ModelParams {
35            provider: LanguageModelProvider::Anthropic,
36            name: "claude-3-haiku".into(),
37            max_requests_per_minute: 5,
38            max_tokens_per_minute: 25_000,
39            max_tokens_per_day: 300_000,
40            price_per_million_input_tokens: 25,   // $0.25/MTok
41            price_per_million_output_tokens: 125, // $1.25/MTok
42        },
43    ])
44    .await
45}