Просмотр исходного кода

llama : let context be const when accessing const data (#1261)

Alex Klinkhamer 2 лет назад
Родитель
Сommit
90b19bd6ee
2 измененных файлов с 12 добавлено и 12 удалено
  1. 6 6
      llama.cpp
  2. 6 6
      llama.h

+ 6 - 6
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;
     }
     }

+ 6 - 6
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_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()
     // 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();