Sampling: Add additive param to overrides
Additive is used to add collections together. Currently, it's used for lists, but it can be used for dictionaries in the future. Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
parent
05b5700334
commit
d716527b92
2 changed files with 15 additions and 3 deletions
|
|
@ -325,6 +325,16 @@ def apply_forced_sampler_overrides(params: BaseSamplerRequest):
|
|||
|
||||
for var, value in overrides.items():
|
||||
override = value.get("override")
|
||||
force = unwrap(value.get("force"), False)
|
||||
if force and override:
|
||||
setattr(params, var, override)
|
||||
original_value = getattr(params, var, None)
|
||||
|
||||
# Force takes precedence over additive
|
||||
# Additive only works on lists and doesn't remove duplicates
|
||||
if override:
|
||||
if unwrap(value.get("force"), False):
|
||||
setattr(params, var, override)
|
||||
elif (
|
||||
unwrap(value.get("additive"), False)
|
||||
and isinstance(override, list)
|
||||
and isinstance(original_value, list)
|
||||
):
|
||||
setattr(params, var, override + original_value)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ max_tokens:
|
|||
stop:
|
||||
override: []
|
||||
force: false
|
||||
additive: false
|
||||
token_healing:
|
||||
override: false
|
||||
force: false
|
||||
|
|
@ -104,6 +105,7 @@ ban_eos_token:
|
|||
logit_bias:
|
||||
override:
|
||||
force: false
|
||||
additive: false
|
||||
|
||||
# MARK: CFG scale
|
||||
cfg_scale:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue