Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor the sampling class #199

Merged
merged 23 commits into from
Oct 27, 2024

Conversation

SecretiveShell
Copy link
Contributor

This PR aims to refactor parts of the sampling to be much more compact.

@SecretiveShell SecretiveShell marked this pull request as ready for review September 22, 2024 23:23
SecretiveShell and others added 19 commits September 26, 2024 12:12
Chat completion and completion need to have prompt split out before
pushing to the backend.

Signed-off-by: kingbri <bdashore3@proton.me>
Some OAI implementations use -1 as disabled instead of 0. Therefore,
add a coalesce case.

Signed-off-by: kingbri <bdashore3@proton.me>
Make the code more readable.

Signed-off-by: kingbri <bdashore3@proton.me>
Field items are nested in data within a Pydantic FieldInfo

Signed-off-by: kingbri <bdashore3@proton.me>
Signed-off-by: kingbri <bdashore3@proton.me>
If the provided string has whitespace, trim it before splitting.

Signed-off-by: kingbri <bdashore3@proton.me>
Let the user know if the sequence errors out.

Signed-off-by: kingbri <bdashore3@proton.me>
Validators need to be applied in order from top to bottom, this is why
the after validator was not being applied properly.

Set the model to validate default params for sampler override purposes.
This can be turned off if there are unclear errors.

Signed-off-by: kingbri <bdashore3@proton.me>
Cleanup and semantically fix field validators

Signed-off-by: kingbri <bdashore3@proton.me>
Validators on parent fields cannot see child fields. Therefore,
validate using the child fields instead and alter the parent field
data from there.

Also fix badwordsids casting.

Signed-off-by: kingbri <bdashore3@proton.me>
If a user sets an override to a non-default value, that's their
own fault.

Run validator on the actual mirostat_mode parameter rather than
the alternate mirostat parameter.

Signed-off-by: kingbri <bdashore3@proton.me>
Currently, this serves to ban the EOS token. All other functionality
was legacy, so remove it.

Signed-off-by: kingbri <bdashore3@proton.me>
This was only necessary for badwordsids. All other fields are handled
by exl2. Keep the class as a stub if it's needed again.

Signed-off-by: kingbri <bdashore3@proton.me>
TabbyAPI supports XTC now.

Signed-off-by: kingbri <bdashore3@proton.me>
Reduces the probability for errors and makes the class consistent.

Signed-off-by: kingbri <bdashore3@proton.me>
Instead of adding a model_validator, use greater than or equal to
constraints provided by Pydantic.

Signed-off-by: kingbri <bdashore3@proton.me>
Signed-off-by: kingbri <bdashore3@proton.me>
@bdashore3 bdashore3 merged commit 7d18d2e into theroyallab:main Oct 27, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants