Samplers: Expose skew sampling

Skew is an extra unused sampler in ExllamaV2. Add it in for coverage.

Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
kingbri 2024-05-12 01:41:01 -04:00
parent 6f4012d20d
commit c8ec742be9
3 changed files with 10 additions and 0 deletions

View file

@ -709,6 +709,7 @@ class ExllamaV2Container:
gen_settings.tfs = unwrap(kwargs.get("tfs"), 1.0)
gen_settings.typical = unwrap(kwargs.get("typical"), 1.0)
gen_settings.mirostat = unwrap(kwargs.get("mirostat"), False)
gen_settings.skew = unwrap(kwargs.get("skew"), 0)
# DynaTemp settings
max_temp = unwrap(kwargs.get("max_temp"), 1.0)

View file

@ -75,6 +75,11 @@ class BaseSamplerRequest(BaseModel):
examples=[1.0],
)
skew: Optional[float] = Field(
default_factory=lambda: get_default_sampler_value("skew", 0.0),
examples=[0.0],
)
frequency_penalty: Optional[float] = Field(
default_factory=lambda: get_default_sampler_value("frequency_penalty", 0.0)
)
@ -295,6 +300,7 @@ class BaseSamplerRequest(BaseModel):
"typical": self.typical,
"min_p": self.min_p,
"tfs": self.tfs,
"skew": self.skew,
"frequency_penalty": self.frequency_penalty,
"presence_penalty": self.presence_penalty,
"repetition_penalty": self.repetition_penalty,

View file

@ -73,6 +73,9 @@ tfs:
typical:
override: 1.0
force: false
skew:
override: 0.0
force: false
# MARK: Penalty settings
frequency_penalty: