diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/common.cpp | 6 | ||||
-rw-r--r-- | common/common.h | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/common/common.cpp b/common/common.cpp index 6a711420..e119317d 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1072,6 +1072,12 @@ std::string llama_detokenize_bpe(llama_context * ctx, const std::vector<llama_to return result; } +bool llama_should_add_bos_token(const llama_model * model) { + const int add_bos = llama_add_bos_token(model); + + return add_bos != -1 ? bool(add_bos) : (llama_vocab_type(model) == LLAMA_VOCAB_TYPE_SPM); +} + // // YAML utils // diff --git a/common/common.h b/common/common.h index dd6b002e..cc048daa 100644 --- a/common/common.h +++ b/common/common.h @@ -200,6 +200,10 @@ std::string llama_detokenize_bpe( llama_context * ctx, const std::vector<llama_token> & tokens); +// Uses the value from the model metadata if possible, otherwise +// defaults to true when model type is SPM, otherwise false. +bool llama_should_add_bos_token(const llama_model * model); + // // YAML utils // |