diff --git a/common/common.cpp b/common/common.cpp index 26250abb6c..0b8047c480 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1195,6 +1195,9 @@ llama_context * common_init_result::context() { } common_sampler * common_init_result::sampler(llama_seq_id seq_id) { + if (pimpl->samplers.size() <= (size_t) seq_id) { + return nullptr; + } return pimpl->samplers[seq_id].get(); } diff --git a/tools/completion/completion.cpp b/tools/completion/completion.cpp index f368a2f4c6..d9ac94babb 100644 --- a/tools/completion/completion.cpp +++ b/tools/completion/completion.cpp @@ -144,6 +144,10 @@ int main(int argc, char ** argv) { ctx = llama_init->context(); model = llama_init->model(); smpl = llama_init->sampler(0); + if (smpl == NULL) { + LOG_ERR("%s: error: unable to create sampler\n", __func__); + return 1; + } if (ctx == NULL) { LOG_ERR("%s: error: unable to create context\n", __func__);