summaryrefslogtreecommitdiff
path: root/llama.h
diff options
context:
space:
mode:
authorMarcus Dunn <51931484+MarcusDunn@users.noreply.github.com>2024-01-02 06:15:16 -0800
committerGitHub <noreply@github.com>2024-01-02 16:15:16 +0200
commit0040d42eeb237197054cc7790df5776eacfa608e (patch)
tree96ede6509b2d8a989894a0ef53b1686e759b0b33 /llama.h
parent83e633c27efdf0eb0ba54249e784b0ea760b1007 (diff)
llama : replace all API facing `int`'s with `int32_t` (#4577)
* replaced all API facing `int`'s with `int32_t` * formatting and missed `int` in `llama_token_to_piece`
Diffstat (limited to 'llama.h')
-rw-r--r--llama.h63
1 files changed, 31 insertions, 32 deletions
diff --git a/llama.h b/llama.h
index af76bae2..461d4604 100644
--- a/llama.h
+++ b/llama.h
@@ -226,7 +226,7 @@ extern "C" {
// model quantization parameters
typedef struct llama_model_quantize_params {
- int nthread; // number of threads to use for quantizing, if <=0 will use std::thread::hardware_concurrency()
+ int32_t nthread; // number of threads to use for quantizing, if <=0 will use std::thread::hardware_concurrency()
enum llama_ftype ftype; // quantize to this llama_ftype
bool allow_requantize; // allow quantizing non-f32/f16 tensors
bool quantize_output_tensor; // quantize output.weight
@@ -310,21 +310,20 @@ extern "C" {
LLAMA_API int64_t llama_time_us(void);
- LLAMA_API int llama_max_devices (void);
+ LLAMA_API int32_t llama_max_devices(void);
LLAMA_API bool llama_mmap_supported (void);
LLAMA_API bool llama_mlock_supported(void);
LLAMA_API const struct llama_model * llama_get_model(const struct llama_context * ctx);
- // TODO: become more consistent with returned int types across the API
LLAMA_API uint32_t llama_n_ctx (const struct llama_context * ctx);
LLAMA_API uint32_t llama_n_batch (const struct llama_context * ctx);
LLAMA_API enum llama_vocab_type llama_vocab_type(const struct llama_model * model);
- LLAMA_API int llama_n_vocab (const struct llama_model * model);
- LLAMA_API int llama_n_ctx_train(const struct llama_model * model);
- LLAMA_API int llama_n_embd (const struct llama_model * model);
+ LLAMA_API int32_t llama_n_vocab (const struct llama_model * model);
+ LLAMA_API int32_t llama_n_ctx_train(const struct llama_model * model);
+ LLAMA_API int32_t llama_n_embd (const struct llama_model * model);
// Get the model's RoPE frequency scaling factor
LLAMA_API float llama_rope_freq_scale_train(const struct llama_model * model);
@@ -335,19 +334,19 @@ extern "C" {
// - GGUF array values are not supported by these functions
// Get metadata value as a string by key name
- LLAMA_API int llama_model_meta_val_str(const struct llama_model * model, const char * key, char * buf, size_t buf_size);
+ LLAMA_API int32_t llama_model_meta_val_str(const struct llama_model * model, const char * key, char * buf, size_t buf_size);
// Get the number of metadata key/value pairs
- LLAMA_API int llama_model_meta_count(const struct llama_model * model);
+ LLAMA_API int32_t llama_model_meta_count(const struct llama_model * model);
// Get metadata key name by index
- LLAMA_API int llama_model_meta_key_by_index(const struct llama_model * model, int i, char * buf, size_t buf_size);
+ LLAMA_API int32_t llama_model_meta_key_by_index(const struct llama_model * model, int32_t i, char * buf, size_t buf_size);
// Get metadata value as a string by index
- LLAMA_API int llama_model_meta_val_str_by_index(const struct llama_model * model, int i, char * buf, size_t buf_size);
+ LLAMA_API int32_t llama_model_meta_val_str_by_index(const struct llama_model * model, int32_t i, char * buf, size_t buf_size);
// Get a string describing the model type
- LLAMA_API int llama_model_desc(const struct llama_model * model, char * buf, size_t buf_size);
+ LLAMA_API int32_t llama_model_desc(const struct llama_model * model, char * buf, size_t buf_size);
// Returns the total size of all the tensors in the model in bytes
LLAMA_API uint64_t llama_model_size(const struct llama_model * model);
@@ -359,7 +358,7 @@ extern "C" {
LLAMA_API struct ggml_tensor * llama_get_model_tensor(struct llama_model * model, const char * name);
// Returns 0 on success
- LLAMA_API int llama_model_quantize(
+ LLAMA_API uint32_t llama_model_quantize(
const char * fname_inp,
const char * fname_out,
const llama_model_quantize_params * params);
@@ -370,20 +369,20 @@ extern "C" {
// The model needs to be reloaded before applying a new adapter, otherwise the adapter
// will be applied on top of the previous one
// Returns 0 on success
- LLAMA_API DEPRECATED(int llama_apply_lora_from_file(
+ LLAMA_API DEPRECATED(int32_t llama_apply_lora_from_file(
struct llama_context * ctx,
const char * path_lora,
float scale,
const char * path_base_model,
- int n_threads),
+ int32_t n_threads),
"use llama_model_apply_lora_from_file instead");
- LLAMA_API int llama_model_apply_lora_from_file(
+ LLAMA_API int32_t llama_model_apply_lora_from_file(
const struct llama_model * model,
const char * path_lora,
float scale,
const char * path_base_model,
- int n_threads);
+ int32_t n_threads);
//
// KV cache
@@ -439,10 +438,10 @@ extern "C" {
// Returns the number of tokens in the KV cache (slow, use only for debug)
// If a KV cell has multiple sequences assigned to it, it will be counted multiple times
- LLAMA_API int llama_get_kv_cache_token_count(const struct llama_context * ctx);
+ LLAMA_API int32_t llama_get_kv_cache_token_count(const struct llama_context * ctx);
// Returns the number of used KV cells (i.e. have at least one sequence assigned to them)
- LLAMA_API int llama_get_kv_cache_used_cells(const struct llama_context * ctx);
+ LLAMA_API int32_t llama_get_kv_cache_used_cells(const struct llama_context * ctx);
// Clear the KV cache
LLAMA_API void llama_kv_cache_clear(
@@ -533,7 +532,7 @@ extern "C" {
struct llama_context * ctx,
llama_token * tokens,
int32_t n_tokens,
- int n_past),
+ int32_t n_past),
"use llama_decode() instead");
// Same as llama_eval, but use float matrix input directly.
@@ -542,7 +541,7 @@ extern "C" {
struct llama_context * ctx,
float * embd,
int32_t n_tokens,
- int n_past),
+ int32_t n_past),
"use llama_decode() instead");
// Return batch for single sequence of tokens starting at pos_0
@@ -574,7 +573,7 @@ extern "C" {
// 0 - success
// 1 - could not find a KV slot for the batch (try reducing the size of the batch or increase the context)
// < 0 - error
- LLAMA_API int llama_decode(
+ LLAMA_API int32_t llama_decode(
struct llama_context * ctx,
struct llama_batch batch);
@@ -614,10 +613,10 @@ extern "C" {
LLAMA_API llama_token llama_token_nl (const struct llama_model * model); // next-line
// Returns -1 if unknown, 1 for true or 0 for false.
- LLAMA_API int llama_add_bos_token(const struct llama_model * model);
+ LLAMA_API int32_t llama_add_bos_token(const struct llama_model * model);
// Returns -1 if unknown, 1 for true or 0 for false.
- LLAMA_API int llama_add_eos_token(const struct llama_model * model);
+ LLAMA_API int32_t llama_add_eos_token(const struct llama_model * model);
// codellama infill tokens
LLAMA_API llama_token llama_token_prefix(const struct llama_model * model); // Beginning of infill prefix
@@ -635,12 +634,12 @@ extern "C" {
/// @return Returns a negative number on failure - the number of tokens that would have been returned
/// @param special Allow tokenizing special and/or control tokens which otherwise are not exposed and treated as plaintext.
/// Does not insert a leading space.
- LLAMA_API int llama_tokenize(
+ LLAMA_API int32_t llama_tokenize(
const struct llama_model * model,
const char * text,
- int text_len,
+ int32_t text_len,
llama_token * tokens,
- int n_max_tokens,
+ int32_t n_max_tokens,
bool add_bos,
bool special);
@@ -648,11 +647,11 @@ extern "C" {
// Uses the vocabulary in the provided context.
// Does not write null terminator to the buffer.
// User code is responsible to remove the leading whitespace of the first non-BOS token when decoding multiple tokens.
- LLAMA_API int llama_token_to_piece(
+ LLAMA_API int32_t llama_token_to_piece(
const struct llama_model * model,
llama_token token,
char * buf,
- int length);
+ int32_t length);
//
// Grammar
@@ -704,7 +703,7 @@ extern "C" {
LLAMA_API void llama_sample_top_k(
struct llama_context * ctx,
llama_token_data_array * candidates,
- int k,
+ int32_t k,
size_t min_keep);
/// @details Nucleus sampling described in academic paper "The Curious Case of Neural Text Degeneration" https://arxiv.org/abs/1904.09751
@@ -763,7 +762,7 @@ extern "C" {
llama_token_data_array * candidates,
float tau,
float eta,
- int m,
+ int32_t m,
float * mu);
/// @details Mirostat 2.0 algorithm described in the paper https://arxiv.org/abs/2007.14966. Uses tokens instead of words.
@@ -836,8 +835,8 @@ extern "C" {
llama_beam_search_callback_fn_t callback,
void * callback_data,
size_t n_beams,
- int n_past,
- int n_predict);
+ int32_t n_past,
+ int32_t n_predict);
// Performance information
LLAMA_API struct llama_timings llama_get_timings(struct llama_context * ctx);