headless_lms_server/programs/seed/
seed_application_task_llms.rs1use 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}