diff --git a/config.toml b/config.toml index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7bbf4bef306f1e4db181c4f7805daf8cce51bf38 100644 --- a/config.toml +++ b/config.toml @@ -0,0 +1,3 @@ +auth = "12345" +term_frequency_threshold = 2 +max_predict_count = 5 \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index ed9091c72f12379e0338386d5a0be98d73ec6b1f..cd28d0e686bc6b83015fb2738fef9da4eb0bfa05 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,7 +27,7 @@ fn main() -> Result<(), io::Error> { .unwrap_or(build_markov_chain("data.csv") .unwrap_or_default()); let filtered_markov_chain = filter_markov_chain(&markov_chain,2); - + // Print the Markov Chain for verification for (key, values) in &markov_chain { //println!("{}: {:?}", key, values); @@ -55,7 +55,11 @@ fn main() -> Result<(), io::Error> { //println!("got query:{}", query.clone().unwrap()); match query { Ok(query) => { - let prediction = predictn(&filtered_markov_chain, &query,5); + let predict_count = match config.get("max_predict_count") { + Some(toml::Value::Integer(n)) if *n >= 0 => *n as usize, + _ => 5 + }; + let prediction = predictn(&filtered_markov_chain, &query, predict_count); //println!("Query: {}, Prediction:{}", query, prediction); let response = Response::from_string(prediction); request.respond(response);