Support DeepSeek V4 Flash 0731
This commit is contained in:
@@ -45,6 +45,7 @@ pub(super) struct PreferenceDraft {
|
||||
pub(super) glm_mtp_timing: bool,
|
||||
pub(super) dspark_confidence_threshold: String,
|
||||
pub(super) dspark_strict: bool,
|
||||
pub(super) dspark_exact_sampling: bool,
|
||||
pub(super) ssd_streaming: bool,
|
||||
pub(super) ssd_streaming_cold: bool,
|
||||
pub(super) ssd_cache: String,
|
||||
@@ -111,6 +112,7 @@ impl PreferenceDraft {
|
||||
glm_mtp_timing: speculative.glm_mtp_timing,
|
||||
dspark_confidence_threshold: optional_string(speculative.dspark_confidence_threshold),
|
||||
dspark_strict: speculative.dspark_strict,
|
||||
dspark_exact_sampling: speculative.dspark_exact_sampling,
|
||||
ssd_streaming: runtime.ssd.enabled,
|
||||
ssd_streaming_cold: runtime.ssd.cold,
|
||||
ssd_cache: optional_string(runtime.ssd.cache),
|
||||
@@ -226,6 +228,7 @@ impl PreferenceDraft {
|
||||
&self.dspark_confidence_threshold,
|
||||
)?,
|
||||
dspark_strict: self.dspark_strict,
|
||||
dspark_exact_sampling: self.dspark_exact_sampling,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -267,6 +270,7 @@ impl PreferenceDraft {
|
||||
self.glm_mtp_timing = speculative.glm_mtp_timing;
|
||||
self.dspark_confidence_threshold = optional_string(speculative.dspark_confidence_threshold);
|
||||
self.dspark_strict = speculative.dspark_strict;
|
||||
self.dspark_exact_sampling = speculative.dspark_exact_sampling;
|
||||
self.ssd_streaming = ssd.enabled;
|
||||
self.ssd_streaming_cold = ssd.cold;
|
||||
self.ssd_cache = optional_string(ssd.cache);
|
||||
@@ -693,12 +697,16 @@ impl App {
|
||||
self.preference_error = None;
|
||||
}
|
||||
Message::PreferenceLegacyMtpChanged(enabled) => {
|
||||
self.preference_draft.legacy_mtp_enabled =
|
||||
self.preference_draft.acceleration_model.supports_dspark() && enabled;
|
||||
self.preference_draft.legacy_mtp_enabled = self
|
||||
.preference_draft
|
||||
.acceleration_model
|
||||
.supports_legacy_mtp()
|
||||
&& enabled;
|
||||
if self.preference_draft.legacy_mtp_enabled {
|
||||
self.preference_draft.dspark_enabled = false;
|
||||
self.preference_draft.dspark_confidence_threshold.clear();
|
||||
self.preference_draft.dspark_strict = false;
|
||||
self.preference_draft.dspark_exact_sampling = false;
|
||||
}
|
||||
self.preference_error = None;
|
||||
}
|
||||
@@ -708,6 +716,7 @@ impl App {
|
||||
if !self.preference_draft.dspark_enabled {
|
||||
self.preference_draft.dspark_confidence_threshold.clear();
|
||||
self.preference_draft.dspark_strict = false;
|
||||
self.preference_draft.dspark_exact_sampling = false;
|
||||
} else {
|
||||
self.preference_draft.legacy_mtp_enabled = false;
|
||||
}
|
||||
@@ -903,6 +912,15 @@ impl App {
|
||||
}
|
||||
self.preference_error = None;
|
||||
}
|
||||
Message::PreferenceDsparkExactSamplingChanged(value) => {
|
||||
self.preference_draft.dspark_exact_sampling =
|
||||
self.preference_draft.acceleration_model.supports_dspark() && value;
|
||||
if self.preference_draft.dspark_exact_sampling {
|
||||
self.preference_draft.dspark_enabled = true;
|
||||
self.preference_draft.legacy_mtp_enabled = false;
|
||||
}
|
||||
self.preference_error = None;
|
||||
}
|
||||
Message::PreferenceSsdChanged(value) => {
|
||||
self.preference_draft.ssd_streaming = value;
|
||||
self.preference_error = None;
|
||||
@@ -1011,14 +1029,14 @@ mod tests {
|
||||
assert_eq!(draft.context_tokens, "32768");
|
||||
draft.context_tokens = "456".into();
|
||||
draft
|
||||
.select_generation(ModelChoice::DeepSeekV4Flash, ReasoningMode::High)
|
||||
.select_generation(ModelChoice::DeepSeekV4Flash0731, ReasoningMode::High)
|
||||
.unwrap();
|
||||
assert_eq!(draft.context_tokens, "123");
|
||||
|
||||
draft.select_acceleration(ModelChoice::Glm52).unwrap();
|
||||
assert!(!draft.ssd_streaming);
|
||||
draft
|
||||
.select_acceleration(ModelChoice::DeepSeekV4Flash)
|
||||
.select_acceleration(ModelChoice::DeepSeekV4Flash0731)
|
||||
.unwrap();
|
||||
assert!(draft.ssd_streaming);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user