aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Klinkhamer <git@grencez.dev>2023-05-01 00:24:20 -0700
committerGitHub <noreply@github.com>2023-05-01 10:24:20 +0300
commit90b19bd6eee943832584f9cac0b6f9ea29cc42a4 (patch)
tree2d65dc33a8fecd03dd2876777255deb3b46fbbab
parent7ff0dcd32091c703a12adb0c57c32c565ce17664 (diff)
llama : let context be const when accessing const data (#1261)
-rw-r--r--llama.cpp12
-rw-r--r--llama.h12
2 files changed, 12 insertions, 12 deletions
diff --git a/llama.cpp b/llama.cpp
index f8b4c8e..3d82113 100644
--- a/llama.cpp
+++ b/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;
}
@@ -2387,7 +2387,7 @@ void llama_set_rng_seed(struct llama_context * ctx, int seed) {
}
// 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.
// for reference, std::mt19937(1337) serializes to 6701 bytes.
const size_t s_rng_size = sizeof(size_t);
@@ -2605,15 +2605,15 @@ int llama_tokenize(
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();
}
-int llama_n_ctx(struct llama_context * ctx) {
+int llama_n_ctx(const struct llama_context * 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;
}
@@ -2625,7 +2625,7 @@ float * llama_get_embeddings(struct llama_context * ctx) {
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)) {
return nullptr;
}
diff --git a/llama.h b/llama.h
index 34a8f5b..9fbba76 100644
--- a/llama.h
+++ b/llama.h
@@ -120,13 +120,13 @@ extern "C" {
int n_threads);
// 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.
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)
- 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.
// Destination needs to have allocated enough memory.
@@ -164,9 +164,9 @@ extern "C" {
int n_max_tokens,
bool add_bos);
- LLAMA_API int llama_n_vocab(struct llama_context * ctx);
- LLAMA_API int llama_n_ctx (struct llama_context * ctx);
- LLAMA_API int llama_n_embd (struct llama_context * ctx);
+ LLAMA_API int llama_n_vocab(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);
// Token logits obtained from the last call to llama_eval()
// 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);
// 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
LLAMA_API llama_token llama_token_bos();