mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-25 02:44:36 +00:00
llama : let context be const when accessing const data (#1261)
This commit is contained in:
parent
7ff0dcd320
commit
90b19bd6ee
12
llama.cpp
12
llama.cpp
@ -2373,7 +2373,7 @@ int llama_apply_lora_from_file(struct llama_context * ctx, const char * path_lor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int llama_get_kv_cache_token_count(struct llama_context * ctx) {
|
int llama_get_kv_cache_token_count(const struct llama_context * ctx) {
|
||||||
return ctx->model.kv_self.n;
|
return ctx->model.kv_self.n;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2387,7 +2387,7 @@ void llama_set_rng_seed(struct llama_context * ctx, int seed) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Returns the size of the state
|
// Returns the size of the state
|
||||||
size_t llama_get_state_size(struct llama_context * ctx) {
|
size_t llama_get_state_size(const struct llama_context * ctx) {
|
||||||
// we don't know size of rng until we actually serialize it. so reserve more than enough memory for its serialized state.
|
// we don't know size of rng until we actually serialize it. so reserve more than enough memory for its serialized state.
|
||||||
// for reference, std::mt19937(1337) serializes to 6701 bytes.
|
// for reference, std::mt19937(1337) serializes to 6701 bytes.
|
||||||
const size_t s_rng_size = sizeof(size_t);
|
const size_t s_rng_size = sizeof(size_t);
|
||||||
@ -2605,15 +2605,15 @@ int llama_tokenize(
|
|||||||
return res.size();
|
return res.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
int llama_n_vocab(struct llama_context * ctx) {
|
int llama_n_vocab(const struct llama_context * ctx) {
|
||||||
return ctx->vocab.id_to_token.size();
|
return ctx->vocab.id_to_token.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
int llama_n_ctx(struct llama_context * ctx) {
|
int llama_n_ctx(const struct llama_context * ctx) {
|
||||||
return ctx->model.hparams.n_ctx;
|
return ctx->model.hparams.n_ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
int llama_n_embd(struct llama_context * ctx) {
|
int llama_n_embd(const struct llama_context * ctx) {
|
||||||
return ctx->model.hparams.n_embd;
|
return ctx->model.hparams.n_embd;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2625,7 +2625,7 @@ float * llama_get_embeddings(struct llama_context * ctx) {
|
|||||||
return ctx->embedding.data();
|
return ctx->embedding.data();
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * llama_token_to_str(struct llama_context * ctx, llama_token token) {
|
const char * llama_token_to_str(const struct llama_context * ctx, llama_token token) {
|
||||||
if (token >= llama_n_vocab(ctx)) {
|
if (token >= llama_n_vocab(ctx)) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
12
llama.h
12
llama.h
@ -120,13 +120,13 @@ extern "C" {
|
|||||||
int n_threads);
|
int n_threads);
|
||||||
|
|
||||||
// Returns the number of tokens in the KV cache
|
// Returns the number of tokens in the KV cache
|
||||||
LLAMA_API int llama_get_kv_cache_token_count(struct llama_context * ctx);
|
LLAMA_API int llama_get_kv_cache_token_count(const struct llama_context * ctx);
|
||||||
|
|
||||||
// Sets the current rng seed.
|
// Sets the current rng seed.
|
||||||
LLAMA_API void llama_set_rng_seed(struct llama_context * ctx, int seed);
|
LLAMA_API void llama_set_rng_seed(struct llama_context * ctx, int seed);
|
||||||
|
|
||||||
// Returns the size in bytes of the state (rng, logits, embedding and kv_cache)
|
// Returns the size in bytes of the state (rng, logits, embedding and kv_cache)
|
||||||
LLAMA_API size_t llama_get_state_size(struct llama_context * ctx);
|
LLAMA_API size_t llama_get_state_size(const struct llama_context * ctx);
|
||||||
|
|
||||||
// Copies the state to the specified destination address.
|
// Copies the state to the specified destination address.
|
||||||
// Destination needs to have allocated enough memory.
|
// Destination needs to have allocated enough memory.
|
||||||
@ -164,9 +164,9 @@ extern "C" {
|
|||||||
int n_max_tokens,
|
int n_max_tokens,
|
||||||
bool add_bos);
|
bool add_bos);
|
||||||
|
|
||||||
LLAMA_API int llama_n_vocab(struct llama_context * ctx);
|
LLAMA_API int llama_n_vocab(const struct llama_context * ctx);
|
||||||
LLAMA_API int llama_n_ctx (struct llama_context * ctx);
|
LLAMA_API int llama_n_ctx (const struct llama_context * ctx);
|
||||||
LLAMA_API int llama_n_embd (struct llama_context * ctx);
|
LLAMA_API int llama_n_embd (const struct llama_context * ctx);
|
||||||
|
|
||||||
// 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
|
||||||
@ -180,7 +180,7 @@ extern "C" {
|
|||||||
LLAMA_API float * llama_get_embeddings(struct llama_context * ctx);
|
LLAMA_API float * llama_get_embeddings(struct llama_context * ctx);
|
||||||
|
|
||||||
// Token Id -> String. Uses the vocabulary in the provided context
|
// Token Id -> String. Uses the vocabulary in the provided context
|
||||||
LLAMA_API const char * llama_token_to_str(struct llama_context * ctx, llama_token token);
|
LLAMA_API const char * llama_token_to_str(const struct llama_context * ctx, llama_token token);
|
||||||
|
|
||||||
// Special tokens
|
// Special tokens
|
||||||
LLAMA_API llama_token llama_token_bos();
|
LLAMA_API llama_token llama_token_bos();
|
||||||
|
Loading…
Reference in New Issue
Block a user