|
@@ -2328,12 +2328,12 @@ std::vector<llama_token> llama_tokenize(
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-std::string llama_token_to_piece(const struct llama_context * ctx, llama_token token) {
|
|
|
|
|
|
|
+std::string llama_token_to_piece(const struct llama_context * ctx, llama_token token, bool special) {
|
|
|
std::vector<char> result(8, 0);
|
|
std::vector<char> result(8, 0);
|
|
|
- const int n_tokens = llama_token_to_piece(llama_get_model(ctx), token, result.data(), result.size(), true);
|
|
|
|
|
|
|
+ const int n_tokens = llama_token_to_piece(llama_get_model(ctx), token, result.data(), result.size(), special);
|
|
|
if (n_tokens < 0) {
|
|
if (n_tokens < 0) {
|
|
|
result.resize(-n_tokens);
|
|
result.resize(-n_tokens);
|
|
|
- int check = llama_token_to_piece(llama_get_model(ctx), token, result.data(), result.size(), true);
|
|
|
|
|
|
|
+ int check = llama_token_to_piece(llama_get_model(ctx), token, result.data(), result.size(), special);
|
|
|
GGML_ASSERT(check == -n_tokens);
|
|
GGML_ASSERT(check == -n_tokens);
|
|
|
} else {
|
|
} else {
|
|
|
result.resize(n_tokens);
|
|
result.resize(n_tokens);
|