-
Notifications
You must be signed in to change notification settings - Fork 6
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
Sampler variants #64
base: main
Are you sure you want to change the base?
Sampler variants #64
Conversation
I wrote some low-effort macros. I think it's not too bad. I also implemented all of the llama.cpp samplers available. The only one I didn't add was "Infill". I don't really understand it, and it seems like there aren't rust bindings for it. |
It would be nice to group the "penalty" parameters together in some way. |
I am getting this error after changing to this branch. The only model that i have found that it works with is i have tried the following models:
Note: this is after upgrading the plugin in an existing repository. I will try to replicate in a new Godot project as well. |
Alright i tested two more models which works, so it looks like its only llama models that doesn't work... The error persist on a clean project. |
I also tested the different parameters on the greedy sampler:
|
this error appears on the main branch as well as this branch, for the llama2 model mentioned. I think the issue is that old gguf files don't have all the same metadata fields that newer llama.cpp expects. either way, this has nothing to do with the current MR. |
My best guess is that you get weird results because you used weird values. Have a look at the llama.cpp docs for a bit more explanation: https://github.com/ggerganov/llama.cpp/blob/master/examples/main/README.md It might be worthwhile to set explicit ranges for the sampler config values, to give people an idea of what values are sane |
This MR lets us implement different sampling methods with mututally-exclusive configuration options, without showing irrelevant options in the UI.
It's currently very boilerplate-y. I'm tempted to try and write a proc macro to generate the repetitive code.
This will be a breaking change, since it overhauls the sampling API in a backwards-incompatible manner.