summaryrefslogtreecommitdiff
path: root/llama.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llama.cpp')
-rw-r--r--llama.cpp47
1 files changed, 24 insertions, 23 deletions
diff --git a/llama.cpp b/llama.cpp
index c63e6251..61f30c39 100644
--- a/llama.cpp
+++ b/llama.cpp
@@ -7493,7 +7493,7 @@ void llama_sample_grammar(struct llama_context * ctx, llama_token_data_array * c
}
}
- const llama_token eos = llama_token_eos(ctx);
+ const llama_token eos = llama_token_eos(&ctx->model);
std::vector<std::pair<std::vector<uint32_t>, llama_partial_utf8>> candidates_decoded;
std::vector<llama_grammar_candidate> candidates_grammar;
@@ -7703,7 +7703,7 @@ llama_token llama_sample_token(struct llama_context * ctx, llama_token_data_arra
void llama_grammar_accept_token(struct llama_context * ctx, struct llama_grammar * grammar, llama_token token) {
const int64_t t_start_sample_us = ggml_time_us();
- if (token == llama_token_eos(ctx)) {
+ if (token == llama_token_eos(&ctx->model)) {
for (const auto & stack : grammar->stacks) {
if (stack.empty()) {
return;
@@ -8912,7 +8912,7 @@ struct llama_context * llama_new_context_with_model(
// build worst-case graph
int n_tokens = (int)std::min(cparams.n_ctx, cparams.n_batch);
int n_past = cparams.n_ctx - n_tokens;
- llama_token token = llama_token_bos(ctx); // not actually used by llama_build_graph, but required to choose between token and embedding inputs graph
+ llama_token token = llama_token_bos(&ctx->model); // not actually used by llama_build_graph, but required to choose between token and embedding inputs graph
ggml_cgraph * gf = llama_build_graph(*ctx, llama_batch_get_one(&token, n_tokens, n_past, 0));
#ifdef GGML_USE_METAL
@@ -9673,43 +9673,44 @@ float * llama_get_embeddings(struct llama_context * ctx) {
return ctx->embedding.data();
}
-const char * llama_token_get_text(const struct llama_context * ctx, llama_token token) {
- return ctx->model.vocab.id_to_token[token].text.c_str();
+const char * llama_token_get_text(const struct llama_model * model, llama_token token) {
+ return model->vocab.id_to_token[token].text.c_str();
}
-float llama_token_get_score(const struct llama_context * ctx, llama_token token) {
- return ctx->model.vocab.id_to_token[token].score;
+float llama_token_get_score(const struct llama_model * model, llama_token token) {
+ return model->vocab.id_to_token[token].score;
}
-llama_token_type llama_token_get_type(const struct llama_context * ctx, llama_token token) {
- return ctx->model.vocab.id_to_token[token].type;
+llama_token_type llama_token_get_type(const struct llama_model * model, llama_token token) {
+ return model->vocab.id_to_token[token].type;
}
-llama_token llama_token_bos(const struct llama_context * ctx) {
- return ctx->model.vocab.special_bos_id;
+llama_token llama_token_bos(const struct llama_model * model) {
+ return model->vocab.special_bos_id;
}
-llama_token llama_token_eos(const struct llama_context * ctx) {
- return ctx->model.vocab.special_eos_id;
+llama_token llama_token_eos(const struct llama_model * model) {
+ return model->vocab.special_eos_id;
}
-llama_token llama_token_nl(const struct llama_context * ctx) {
- return ctx->model.vocab.linefeed_id;
+llama_token llama_token_nl(const struct llama_model * model) {
+ return model->vocab.linefeed_id;
}
-llama_token llama_token_prefix(const struct llama_context * ctx) {
- return ctx->model.vocab.special_prefix_id;
+
+llama_token llama_token_prefix(const struct llama_model * model) {
+ return model->vocab.special_prefix_id;
}
-llama_token llama_token_middle(const struct llama_context * ctx) {
- return ctx->model.vocab.special_middle_id;
+llama_token llama_token_middle(const struct llama_model * model) {
+ return model->vocab.special_middle_id;
}
-llama_token llama_token_suffix(const struct llama_context * ctx) {
- return ctx->model.vocab.special_suffix_id;
+llama_token llama_token_suffix(const struct llama_model * model) {
+ return model->vocab.special_suffix_id;
}
-llama_token llama_token_eot(const struct llama_context * ctx) {
- return ctx->model.vocab.special_eot_id;
+llama_token llama_token_eot(const struct llama_model * model) {
+ return model->vocab.special_eot_id;
}
int llama_tokenize(