Skip to main content

headless_lms_server/programs/seed/
seed_application_task_llms.rs

1use headless_lms_models::{
2    application_task_default_language_models::{
3        self, ApplicationTask, ApplicationTaskDefaultLanguageModel,
4    },
5    chatbot_configurations_models::{self, ModelType, NewChatbotConfigurationModel},
6};
7
8use crate::prelude::*;
9
10pub struct SeedApplicationLLMsResult {
11    pub llm_default_model_id: Uuid,
12    pub llm_default_model_type: ModelType,
13}
14
15pub async fn seed_application_task_llms(
16    db_pool: PgPool,
17) -> anyhow::Result<SeedApplicationLLMsResult> {
18    let mut conn = db_pool.acquire().await?;
19
20    let llm = chatbot_configurations_models::insert(
21        &mut conn,
22        NewChatbotConfigurationModel {
23            id: Uuid::parse_str("f14d70bd-c228-4447-bddd-4f6f66705356")?,
24            model: "mock-gpt".to_string(),
25            default_model: true,
26            model_type: ModelType::GPTNonThinking,
27            context_size: 10000,
28        },
29    )
30    .await?;
31
32    application_task_default_language_models::insert(
33        &mut conn,
34        ApplicationTaskDefaultLanguageModel {
35            model_id: llm.id,
36            task: ApplicationTask::ContentCleaning,
37            context_utilization: 0.75,
38            ..Default::default()
39        },
40    )
41    .await?;
42
43    application_task_default_language_models::insert(
44        &mut conn,
45        ApplicationTaskDefaultLanguageModel {
46            model_id: llm.id,
47            task: ApplicationTask::MessageSuggestion,
48            context_utilization: 0.75,
49            ..Default::default()
50        },
51    )
52    .await?;
53
54    application_task_default_language_models::insert(
55        &mut conn,
56        ApplicationTaskDefaultLanguageModel {
57            model_id: llm.id,
58            task: ApplicationTask::CmsParagraphSuggestion,
59            context_utilization: 0.75,
60            ..Default::default()
61        },
62    )
63    .await?;
64
65    Ok(SeedApplicationLLMsResult {
66        llm_default_model_id: llm.id,
67        llm_default_model_type: llm.model_type,
68    })
69}