separated sampling reset and sampling reset grammer only
This commit is contained in:
parent
70074f6f10
commit
d33f030896
2 changed files with 9 additions and 2 deletions
|
@ -37,10 +37,10 @@ void llama_sampling_free(struct llama_sampling_context * ctx) {
|
|||
delete ctx;
|
||||
}
|
||||
|
||||
void llama_sampling_reset(llama_sampling_context * ctx) {
|
||||
void llama_sampling_reset_grammar(struct llama_sampling_context * ctx) {
|
||||
if (ctx->grammar != NULL) {
|
||||
llama_grammar_free(ctx->grammar);
|
||||
ctx->grammar = NULL;
|
||||
ctx->grammar = nullptr;
|
||||
}
|
||||
|
||||
if (!ctx->parsed_grammar.rules.empty()) {
|
||||
|
@ -50,6 +50,10 @@ void llama_sampling_reset(llama_sampling_context * ctx) {
|
|||
grammar_rules.data(),
|
||||
grammar_rules.size(), ctx->parsed_grammar.symbol_ids.at("root"));
|
||||
}
|
||||
}
|
||||
|
||||
void llama_sampling_reset(llama_sampling_context * ctx) {
|
||||
llama_sampling_reset_grammar(ctx);
|
||||
|
||||
std::fill(ctx->prev.begin(), ctx->prev.end(), 0);
|
||||
ctx->cur.clear();
|
||||
|
|
|
@ -69,6 +69,9 @@ struct llama_sampling_context * llama_sampling_init(const struct llama_sampling_
|
|||
|
||||
void llama_sampling_free(struct llama_sampling_context * ctx);
|
||||
|
||||
// Reset the sampler grammar without resetting the context
|
||||
void llama_sampling_reset_grammar(struct llama_sampling_context * ctx);
|
||||
|
||||
// Reset the sampler context
|
||||
// - clear prev tokens
|
||||
// - reset grammar
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue