From 741a71fb3b184eb23bac6305f95a539a6ef700f8 Mon Sep 17 00:00:00 2001 From: b1ek Date: Sun, 14 Apr 2024 15:46:56 +1000 Subject: [PATCH] respect model specified in config --- src/config.rs | 9 +++++++++ src/main.rs | 8 +++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/config.rs b/src/config.rs index 2c301d6..d656dfc 100644 --- a/src/config.rs +++ b/src/config.rs @@ -11,6 +11,15 @@ pub enum Model { GPT35, } +impl ToString for Model { + fn to_string(&self) -> String { + match self { + Self::Claude12 => String::from("claude-instant-1.2"), + Self::GPT35 => String::from("gpt-3.5-turbo-0125"), + } + } +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Config { pub model: Model, diff --git a/src/main.rs b/src/main.rs index 8c75332..a11b360 100644 --- a/src/main.rs +++ b/src/main.rs @@ -96,15 +96,13 @@ async fn get_vqd(cli: &Client) -> Result> { } } -async fn get_res<'a>(cli: &Client, query: String, vqd: String, cache: &'a mut Cache) { +async fn get_res<'a>(cli: &Client, query: String, vqd: String, cache: &'a mut Cache, config: &Config) { let payload = ChatPayload { - model: "claude-instant-1.2".into(), + model: config.model.to_string(), messages: vec![ ChatMessagePayload { role: "user".into(), content: query } ] }; let payload = serde_json::to_string(&payload).unwrap(); - // println!("{payload}\n\n{:#?}", headers);return; - let req = cli.post("https://duckduckgo.com/duckchat/v1/chat") // .headers(get_headers()) .header("Content-Type", "application/json") @@ -197,6 +195,6 @@ async fn main() { None => get_vqd(&cli).await.unwrap() }; - get_res(&cli, query, vqd, &mut cache).await; + get_res(&cli, query, vqd, &mut cache, &config).await; }