correct thinking modes for each model
This commit is contained in:
+14
-8
@@ -196,6 +196,7 @@ impl PreferenceDraft {
|
||||
}
|
||||
|
||||
fn select_generation(&mut self, model: ModelChoice, mode: ReasoningMode) -> Result<(), String> {
|
||||
model.validate_reasoning_mode(mode)?;
|
||||
self.store_generation()?;
|
||||
self.load_generation(model, mode);
|
||||
Ok(())
|
||||
@@ -245,14 +246,18 @@ impl PreferenceDraft {
|
||||
let profile = self
|
||||
.model_profiles
|
||||
.entry(self.acceleration_model)
|
||||
.or_default();
|
||||
.or_insert_with(|| ModelPreferences::defaults_for(self.acceleration_model));
|
||||
profile.speculative = speculative;
|
||||
profile.ssd = ssd;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn load_acceleration(&mut self, model: ModelChoice) {
|
||||
let profile = self.model_profiles.get(&model).cloned().unwrap_or_default();
|
||||
let profile = self
|
||||
.model_profiles
|
||||
.get(&model)
|
||||
.cloned()
|
||||
.unwrap_or_else(|| ModelPreferences::defaults_for(model));
|
||||
let speculative = profile.speculative;
|
||||
let ssd = profile.ssd;
|
||||
self.acceleration_model = model;
|
||||
@@ -301,9 +306,10 @@ impl PreferenceDraft {
|
||||
}
|
||||
|
||||
pub(super) fn reasoning_mode_for(&self, model: ModelChoice) -> ReasoningMode {
|
||||
self.model_profiles
|
||||
.get(&model)
|
||||
.map_or(ReasoningMode::default(), |profile| profile.reasoning_mode)
|
||||
self.model_profiles.get(&model).map_or_else(
|
||||
|| model.default_reasoning_mode(),
|
||||
|profile| profile.reasoning_mode,
|
||||
)
|
||||
}
|
||||
|
||||
pub(super) fn runtime(&self) -> Result<RuntimePreferences, String> {
|
||||
@@ -518,7 +524,7 @@ impl App {
|
||||
self.preference_draft
|
||||
.model_profiles
|
||||
.entry(self.preference_draft.model)
|
||||
.or_default()
|
||||
.or_insert_with(|| ModelPreferences::defaults_for(self.preference_draft.model))
|
||||
.reasoning_mode = self.preference_draft.default_reasoning_mode;
|
||||
let config = Config {
|
||||
model: self.preference_draft.model,
|
||||
@@ -684,7 +690,7 @@ impl App {
|
||||
self.preference_draft
|
||||
.model_profiles
|
||||
.entry(self.preference_draft.model)
|
||||
.or_default()
|
||||
.or_insert_with(|| ModelPreferences::defaults_for(self.preference_draft.model))
|
||||
.reasoning_mode = mode;
|
||||
self.preference_error = None;
|
||||
}
|
||||
@@ -1016,7 +1022,7 @@ mod tests {
|
||||
assert_eq!(draft.context_tokens, "32768");
|
||||
draft.context_tokens = "456".into();
|
||||
draft
|
||||
.select_generation(ModelChoice::DeepSeekV4Flash0731, ReasoningMode::High)
|
||||
.select_generation(ModelChoice::DeepSeekV4Flash0731, ReasoningMode::Low)
|
||||
.unwrap();
|
||||
assert_eq!(draft.context_tokens, "123");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user