Do not crash when there is no DRY sampler (#578)
Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
This commit is contained in:
parent
2fb0b26a8f
commit
1db6a073cb
|
|
@ -55,7 +55,7 @@ struct llama_sampling_context * llama_sampling_init(const struct llama_vocab* vo
|
||||||
c_breakers.push_back(str.c_str());
|
c_breakers.push_back(str.c_str());
|
||||||
}
|
}
|
||||||
result->smpl=llama_sampler_init_dry(vocab, params.dry_multiplier, params.dry_base, params.dry_allowed_length, params.dry_penalty_last_n, c_breakers.data(), c_breakers.size());
|
result->smpl=llama_sampler_init_dry(vocab, params.dry_multiplier, params.dry_base, params.dry_allowed_length, params.dry_penalty_last_n, c_breakers.data(), c_breakers.size());
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
@ -502,5 +502,7 @@ void llama_sampling_accept(
|
||||||
if (ctx_sampling->grammar != NULL && apply_grammar) {
|
if (ctx_sampling->grammar != NULL && apply_grammar) {
|
||||||
llama_grammar_accept_token(ctx_sampling->grammar, ctx_main, id);
|
llama_grammar_accept_token(ctx_sampling->grammar, ctx_main, id);
|
||||||
}
|
}
|
||||||
llama_sampler_dry_accept(ctx_sampling->smpl, id);
|
if (ctx_sampling->smpl) {
|
||||||
|
llama_sampler_dry_accept(ctx_sampling->smpl, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23401,6 +23401,9 @@ struct llama_sampler_dry* llama_sampler_dry_clone(struct llama_sampler_dry* smpl
|
||||||
}
|
}
|
||||||
|
|
||||||
void llama_sampler_dry_accept(struct llama_sampler_dry* smpl, llama_token token) {
|
void llama_sampler_dry_accept(struct llama_sampler_dry* smpl, llama_token token) {
|
||||||
|
if (!smpl) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (smpl->dry_multiplier == 0.0f || smpl->dry_base < 1.0f || smpl->dry_penalty_last_n == 0) {
|
if (smpl->dry_multiplier == 0.0f || smpl->dry_base < 1.0f || smpl->dry_penalty_last_n == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue