From 9c4a0e650f6c7499f559c4624bea228e325caf7c Mon Sep 17 00:00:00 2001 From: kingbri Date: Sat, 7 Sep 2024 21:32:46 -0400 Subject: [PATCH] Sampling: Fix override for DRY sequence breakers The common type should be an array of strings. Signed-off-by: kingbri --- common/sampling.py | 4 ++-- sampler_overrides/sample_preset.yml | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common/sampling.py b/common/sampling.py index 67b8925..c8366b3 100644 --- a/common/sampling.py +++ b/common/sampling.py @@ -159,7 +159,7 @@ class BaseSamplerRequest(BaseModel): description=("Aliases: dry_penalty_last_n"), ) - dry_sequence_breakers: Optional[str] = Field( + dry_sequence_breakers: Optional[Union[str, List[str]]] = Field( default_factory=lambda: get_default_sampler_value("dry_sequence_breakers", []) ) @@ -330,7 +330,7 @@ class BaseSamplerRequest(BaseModel): # Convert sequence breakers into an array of strings # NOTE: This sampler sucks to parse. - if self.dry_sequence_breakers: + if self.dry_sequence_breakers and isinstance(self.dry_sequence_breakers, str): if not self.dry_sequence_breakers.startswith("["): self.dry_sequence_breakers = f"[{self.dry_sequence_breakers}]" diff --git a/sampler_overrides/sample_preset.yml b/sampler_overrides/sample_preset.yml index ed2edba..e01c2b7 100644 --- a/sampler_overrides/sample_preset.yml +++ b/sampler_overrides/sample_preset.yml @@ -110,6 +110,10 @@ dry_allowed_length: dry_range: override: 0 force: false +dry_sequence_breakers: + override: [] + force: false + additive: false # MARK: Mirostat mirostat_mode: