add llama_get_vocab to get the vocabulary as output parameters
This commit is contained in:
parent
89475fb320
commit
bf4d9b3b81
2 changed files with 21 additions and 0 deletions
13
llama.cpp
13
llama.cpp
|
@ -2852,6 +2852,19 @@ int llama_n_embd(const struct llama_context * ctx) {
|
||||||
return ctx->model.hparams.n_embd;
|
return ctx->model.hparams.n_embd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int llama_get_vocab(
|
||||||
|
const struct llama_context * ctx,
|
||||||
|
const char * * strings,
|
||||||
|
float * scores,
|
||||||
|
int capacity) {
|
||||||
|
int n = std::min(capacity, (int) ctx->vocab.id_to_token.size());
|
||||||
|
for (int i = 0; i<n; ++i) {
|
||||||
|
strings[i] = ctx->vocab.id_to_token[i].tok.c_str();
|
||||||
|
scores[i] = ctx->vocab.id_to_token[i].score;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
float * llama_get_logits(struct llama_context * ctx) {
|
float * llama_get_logits(struct llama_context * ctx) {
|
||||||
return ctx->logits.data();
|
return ctx->logits.data();
|
||||||
}
|
}
|
||||||
|
|
8
llama.h
8
llama.h
|
@ -172,6 +172,14 @@ extern "C" {
|
||||||
LLAMA_API int llama_n_ctx (const struct llama_context * ctx);
|
LLAMA_API int llama_n_ctx (const struct llama_context * ctx);
|
||||||
LLAMA_API int llama_n_embd (const struct llama_context * ctx);
|
LLAMA_API int llama_n_embd (const struct llama_context * ctx);
|
||||||
|
|
||||||
|
// Get the vocabulary as output parameters.
|
||||||
|
// Returns number of results.
|
||||||
|
LLAMA_API int llama_get_vocab(
|
||||||
|
const struct llama_context * ctx,
|
||||||
|
const char * * strings,
|
||||||
|
float * scores,
|
||||||
|
int capacity);
|
||||||
|
|
||||||
// Token logits obtained from the last call to llama_eval()
|
// Token logits obtained from the last call to llama_eval()
|
||||||
// The logits for the last token are stored in the last row
|
// The logits for the last token are stored in the last row
|
||||||
// Can be mutated in order to change the probabilities of the next token
|
// Can be mutated in order to change the probabilities of the next token
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue