diff options
Diffstat (limited to 'llama.cpp/src/llama-sampler.h')
| -rw-r--r-- | llama.cpp/src/llama-sampler.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/llama.cpp/src/llama-sampler.h b/llama.cpp/src/llama-sampler.h new file mode 100644 index 0000000..b9bfc20 --- /dev/null +++ b/llama.cpp/src/llama-sampler.h @@ -0,0 +1,42 @@ +#pragma once + +#include "llama.h" + +#include <vector> + +struct llama_vocab; +struct llama_grammar; + +// sampler chain + +struct llama_sampler_chain { + llama_sampler_chain_params params; + + // has .backend_init() been called? + bool is_init = false; + + struct info { + bool is_backend; + + llama_sampler * ptr; + }; + + std::vector<info> samplers; + + // pre-allocated buffer for llama_sampler_sample to avoid repeated allocations + std::vector<llama_token_data> cur; + + // timing + + mutable int64_t t_sample_us; + + mutable int32_t n_sample; +}; + +struct llama_sampler * llama_sampler_init_dry_testing( + int32_t context_size, + float dry_multiplier, + float dry_base, + int32_t dry_allowed_length, + int32_t dry_penalty_last_n, + const std::vector<std::vector<llama_token>> & seq_breakers); |
