| #pragma once |
|
|
| |
|
|
| #include "llama-grammar.h" |
|
|
| struct llama_vocab; |
| struct llama_grammar; |
|
|
| |
|
|
| struct llama_sampler_chain { |
| llama_sampler_chain_params params; |
|
|
| std::vector<struct llama_sampler *> samplers; |
|
|
| |
|
|
| mutable int64_t t_sample_us; |
|
|
| mutable int32_t n_sample; |
| }; |
|
|
| struct llama_sampler * llama_sampler_init_grammar_impl( |
| const struct llama_vocab & vocab, |
| const char * grammar_str, |
| const char * grammar_root); |
|
|
| struct llama_sampler * llama_sampler_init_infill_impl( |
| const struct llama_vocab & vocab); |
|
|
| struct llama_sampler * llama_sampler_init_dry_impl( |
| const struct llama_vocab & vocab, |
| int32_t context_size, |
| float dry_multiplier, |
| float dry_base, |
| int32_t dry_allowed_length, |
| int32_t dry_penalty_last_n, |
| const char ** seq_breakers, |
| size_t num_breakers); |
|
|
| 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); |
|
|