mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-11-11 21:39:52 +00:00
llama : fix empty ring buffer push (#9358)
This commit is contained in:
parent
faf69d4237
commit
f12295b8a9
@ -145,7 +145,7 @@ struct gpt_sampler * gpt_sampler_init(const struct llama_model * model, const st
|
|||||||
/* .params = */ params,
|
/* .params = */ params,
|
||||||
/* .grmr = */ llama_sampler_init_grammar(model, params.grammar.c_str(), "root"),
|
/* .grmr = */ llama_sampler_init_grammar(model, params.grammar.c_str(), "root"),
|
||||||
/* .chain = */ llama_sampler_chain_init(lparams),
|
/* .chain = */ llama_sampler_chain_init(lparams),
|
||||||
/* .prev = */ ring_buffer<llama_token>(params.n_prev),
|
/* .prev = */ ring_buffer<llama_token>(std::max(32, params.n_prev)),
|
||||||
/* .cur = */ {},
|
/* .cur = */ {},
|
||||||
/* .cur_p = */ {},
|
/* .cur_p = */ {},
|
||||||
};
|
};
|
||||||
|
@ -1226,7 +1226,9 @@ static struct llama_sampler_i llama_sampler_penalties_i = {
|
|||||||
/* .name = */ [](const struct llama_sampler * /*smpl*/) { return "penalties"; },
|
/* .name = */ [](const struct llama_sampler * /*smpl*/) { return "penalties"; },
|
||||||
/* .accept = */ [](struct llama_sampler * smpl, llama_token token) {
|
/* .accept = */ [](struct llama_sampler * smpl, llama_token token) {
|
||||||
auto * ctx = (llama_sampler_penalties *) smpl->ctx;
|
auto * ctx = (llama_sampler_penalties *) smpl->ctx;
|
||||||
ctx->prev.push_back(token);
|
if (ctx->prev.size()) {
|
||||||
|
ctx->prev.push_back(token);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/* .apply = */ [](struct llama_sampler * smpl, llama_token_data_array * cur_p) {
|
/* .apply = */ [](struct llama_sampler * smpl, llama_token_data_array * cur_p) {
|
||||||
auto * ctx = (llama_sampler_penalties *) smpl->ctx;
|
auto * ctx = (llama_sampler_penalties *) smpl->ctx;
|
||||||
|
Loading…
Reference in New Issue
Block a user