1use aprender::format::{self, ModelType, SaveOptions};
6use aprender::metrics::ranking::RankingMetrics;
7use serde::{Deserialize, Serialize};
8use std::collections::HashMap;
9use std::path::Path;
10
11use crate::trie::Trie;
12
13#[derive(Serialize, Deserialize)]
15pub struct MarkovModel {
16 n: usize,
18 ngrams: HashMap<String, HashMap<String, u32>>,
20 command_freq: HashMap<String, u32>,
22 #[serde(skip)]
24 trie: Option<Trie>,
25 total_commands: usize,
27 #[serde(default)]
29 last_trained_pos: usize,
30}
31
32include!("model_markov.rs");
33include!("validation_result.rs");
34include!("model_encrypted_roundtrip.rs");
35include!("model_corpus_path_load.rs");