mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-03 09:22:01 +00:00 
			
		
		
		
	llama : add note about context size queries
This commit is contained in:
		@@ -461,6 +461,8 @@ extern "C" {
 | 
			
		||||
    LLAMA_API bool llama_supports_gpu_offload(void);
 | 
			
		||||
    LLAMA_API bool llama_supports_rpc        (void);
 | 
			
		||||
 | 
			
		||||
    // NOTE: After creating a llama_context, it is recommended to query the actual values using these functions
 | 
			
		||||
    //       In some cases the requested values via llama_context_params may differ from the actual values used by the context
 | 
			
		||||
    LLAMA_API uint32_t llama_n_ctx      (const struct llama_context * ctx);
 | 
			
		||||
    LLAMA_API uint32_t llama_n_ctx_seq  (const struct llama_context * ctx);
 | 
			
		||||
    LLAMA_API uint32_t llama_n_batch    (const struct llama_context * ctx);
 | 
			
		||||
@@ -586,7 +588,7 @@ extern "C" {
 | 
			
		||||
    LLAMA_API int32_t llama_adapter_meta_val_str_by_index(const struct llama_adapter_lora * adapter, int32_t i, char * buf, size_t buf_size);
 | 
			
		||||
 | 
			
		||||
    // Manually free a LoRA adapter
 | 
			
		||||
    // Note: loaded adapters will be free when the associated model is deleted
 | 
			
		||||
    // NOTE: loaded adapters will be free when the associated model is deleted
 | 
			
		||||
    LLAMA_API void llama_adapter_lora_free(struct llama_adapter_lora * adapter);
 | 
			
		||||
 | 
			
		||||
    // Get the invocation tokens if the current lora is an alora
 | 
			
		||||
 
 | 
			
		||||
@@ -112,7 +112,11 @@ llama_context::llama_context(
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    cparams.n_ctx_seq = cparams.kv_unified ? cparams.n_ctx : cparams.n_ctx / cparams.n_seq_max;
 | 
			
		||||
    if (cparams.kv_unified) {
 | 
			
		||||
        cparams.n_ctx_seq = cparams.n_ctx;
 | 
			
		||||
    } else {
 | 
			
		||||
        cparams.n_ctx_seq = cparams.n_ctx / cparams.n_seq_max;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (cparams.n_ctx_seq > hparams.n_ctx_train) {
 | 
			
		||||
        LLAMA_LOG_WARN("%s: capping n_ctx_seq (%u) to n_ctx_train (%u)\n", __func__, cparams.n_ctx_seq, hparams.n_ctx_train);
 | 
			
		||||
@@ -120,6 +124,12 @@ llama_context::llama_context(
 | 
			
		||||
        cparams.n_ctx_seq = hparams.n_ctx_train;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (cparams.kv_unified) {
 | 
			
		||||
        cparams.n_ctx = cparams.n_ctx_seq;
 | 
			
		||||
    } else {
 | 
			
		||||
        cparams.n_ctx = cparams.n_ctx_seq * cparams.n_seq_max;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    LLAMA_LOG_INFO("%s: n_seq_max     = %u\n",   __func__, cparams.n_seq_max);
 | 
			
		||||
    LLAMA_LOG_INFO("%s: n_ctx         = %u\n",   __func__, cparams.n_ctx);
 | 
			
		||||
    LLAMA_LOG_INFO("%s: n_ctx_seq     = %u\n",   __func__, cparams.n_ctx_seq);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user