Module: Rllama::Cpp
- Extended by:
- FFI::Library
- Defined in:
- lib/rllama/cpp.rb
Defined Under Namespace
Classes: LlamaBatch, LlamaChatMessage, LlamaContextParams, LlamaLogitBias, LlamaModelKvOverride, LlamaModelKvOverrideValue, LlamaModelParams, LlamaModelQuantizeParams, LlamaModelTensorBuftOverride, LlamaOptParams, LlamaPerfContextData, LlamaPerfSamplerData, LlamaSampler, LlamaSamplerChainParams, LlamaSamplerI, LlamaTokenData, LlamaTokenDataArray
Constant Summary collapse
- LIB_NAME =
'llama'- PLATFORM =
case FFI::Platform::OS when 'darwin' FFI::Platform::ARCH == 'aarch64' ? 'arm64-darwin' : 'x86_64-darwin' when 'windows', 'mingw32' 'x64-mingw32' else FFI::Platform::ARCH == 'aarch64' ? 'aarch64-linux' : 'x86_64-linux' end
- PLATFORM_DIR =
File.join(__dir__, PLATFORM)
- GGML_TYPE_F32 =
from ggml.h (ggml_type)
0- GGML_TYPE_F16 =
1- GGML_TYPE_Q4_0 =
2- GGML_TYPE_Q4_1 =
3- GGML_TYPE_Q5_0 =
6- GGML_TYPE_Q5_1 =
7- GGML_TYPE_Q8_0 =
8- GGML_TYPE_Q8_1 =
9- GGML_TYPE_Q2_K =
10- GGML_TYPE_Q3_K =
11- GGML_TYPE_Q4_K =
12- GGML_TYPE_Q5_K =
13- GGML_TYPE_Q6_K =
14- GGML_TYPE_Q8_K =
15- GGML_TYPE_IQ2_XXS =
16- GGML_TYPE_IQ2_XS =
17- GGML_TYPE_IQ3_XXS =
18- GGML_TYPE_IQ1_S =
19- GGML_TYPE_IQ4_NL =
20- GGML_TYPE_IQ3_S =
21- GGML_TYPE_IQ2_S =
22- GGML_TYPE_IQ4_XS =
23- GGML_TYPE_I8 =
24- GGML_TYPE_I16 =
25- GGML_TYPE_I32 =
26- GGML_TYPE_I64 =
27- GGML_TYPE_F64 =
28- GGML_TYPE_IQ1_M =
29- GGML_TYPE_COUNT =
30- LLAMA_MAX_DEVICES =
llama_max_devices- LLAMA_DEFAULT_SEED =
0xFFFFFFFF
- LLAMA_TOKEN_NULL =
-1- LLAMA_FILE_MAGIC_GGLA =
0x67676C61
- LLAMA_FILE_MAGIC_GGSN =
0x6767736E
- LLAMA_FILE_MAGIC_GGSQ =
0x67677371- LLAMA_SESSION_MAGIC =
LLAMA_FILE_MAGIC_GGSN- LLAMA_SESSION_VERSION =
9- LLAMA_STATE_SEQ_MAGIC =
LLAMA_FILE_MAGIC_GGSQ- LLAMA_STATE_SEQ_VERSION =
2- LLAMA_STATE_SEQ_FLAGS_SWA_ONLY =
1- LLAMA_VOCAB_TYPE_NONE =
enum llama_vocab_type
0- LLAMA_VOCAB_TYPE_SPM =
1- LLAMA_VOCAB_TYPE_BPE =
2- LLAMA_VOCAB_TYPE_WPM =
3- LLAMA_VOCAB_TYPE_UGM =
4- LLAMA_VOCAB_TYPE_RWKV =
5- LLAMA_VOCAB_TYPE_PLAMO2 =
6- GGML_ROPE_TYPE_NEOX =
enum llama_rope_type
2- GGML_ROPE_TYPE_MROPE =
8- GGML_ROPE_TYPE_VISION =
24- LLAMA_ROPE_TYPE_NONE =
-1- LLAMA_ROPE_TYPE_NORM =
0- LLAMA_ROPE_TYPE_NEOX =
GGML_ROPE_TYPE_NEOX- LLAMA_ROPE_TYPE_MROPE =
GGML_ROPE_TYPE_MROPE- LLAMA_ROPE_TYPE_VISION =
GGML_ROPE_TYPE_VISION- LLAMA_TOKEN_TYPE_UNDEFINED =
enum llama_token_type
0- LLAMA_TOKEN_TYPE_NORMAL =
1- LLAMA_TOKEN_TYPE_UNKNOWN =
2- LLAMA_TOKEN_TYPE_CONTROL =
3- LLAMA_TOKEN_TYPE_USER_DEFINED =
4- LLAMA_TOKEN_TYPE_UNUSED =
5- LLAMA_TOKEN_TYPE_BYTE =
6- LLAMA_TOKEN_ATTR_UNDEFINED =
enum llama_token_attr
0- LLAMA_TOKEN_ATTR_UNKNOWN =
1 << 0
- LLAMA_TOKEN_ATTR_UNUSED =
1 << 1
- LLAMA_TOKEN_ATTR_NORMAL =
1 << 2
- LLAMA_TOKEN_ATTR_CONTROL =
1 << 3
- LLAMA_TOKEN_ATTR_USER_DEFINED =
1 << 4
- LLAMA_TOKEN_ATTR_BYTE =
1 << 5
- LLAMA_TOKEN_ATTR_NORMALIZED =
1 << 6
- LLAMA_TOKEN_ATTR_LSTRIP =
1 << 7
- LLAMA_TOKEN_ATTR_RSTRIP =
1 << 8
- LLAMA_TOKEN_ATTR_SINGLE_WORD =
1 << 9
- LLAMA_FTYPE_ALL_F32 =
enum llama_ftype
0- LLAMA_FTYPE_MOSTLY_F16 =
1- LLAMA_FTYPE_MOSTLY_Q4_0 =
2- LLAMA_FTYPE_MOSTLY_Q4_1 =
3- LLAMA_FTYPE_MOSTLY_Q8_0 =
7- LLAMA_FTYPE_MOSTLY_Q5_0 =
8- LLAMA_FTYPE_MOSTLY_Q5_1 =
9- LLAMA_FTYPE_MOSTLY_Q2_K =
10- LLAMA_FTYPE_MOSTLY_Q3_K_S =
11- LLAMA_FTYPE_MOSTLY_Q3_K_M =
12- LLAMA_FTYPE_MOSTLY_Q3_K_L =
13- LLAMA_FTYPE_MOSTLY_Q4_K_S =
14- LLAMA_FTYPE_MOSTLY_Q4_K_M =
15- LLAMA_FTYPE_MOSTLY_Q5_K_S =
16- LLAMA_FTYPE_MOSTLY_Q5_K_M =
17- LLAMA_FTYPE_MOSTLY_Q6_K =
18- LLAMA_FTYPE_MOSTLY_IQ2_XXS =
19- LLAMA_FTYPE_MOSTLY_IQ2_XS =
20- LLAMA_FTYPE_MOSTLY_Q2_K_S =
21- LLAMA_FTYPE_MOSTLY_IQ3_XS =
22- LLAMA_FTYPE_MOSTLY_IQ3_XXS =
23- LLAMA_FTYPE_MOSTLY_IQ1_S =
24- LLAMA_FTYPE_MOSTLY_IQ4_NL =
25- LLAMA_FTYPE_MOSTLY_IQ3_S =
26- LLAMA_FTYPE_MOSTLY_IQ3_M =
27- LLAMA_FTYPE_MOSTLY_IQ2_S =
28- LLAMA_FTYPE_MOSTLY_IQ2_M =
29- LLAMA_FTYPE_MOSTLY_IQ4_XS =
30- LLAMA_FTYPE_MOSTLY_IQ1_M =
31- LLAMA_FTYPE_MOSTLY_BF16 =
32- LLAMA_FTYPE_MOSTLY_TQ1_0 =
36- LLAMA_FTYPE_MOSTLY_TQ2_0 =
37- LLAMA_FTYPE_MOSTLY_MXFP4_MOE =
38- LLAMA_FTYPE_GUESSED =
1024- LLAMA_ROPE_SCALING_TYPE_UNSPECIFIED =
enum llama_rope_scaling_type
-1- LLAMA_ROPE_SCALING_TYPE_NONE =
0- LLAMA_ROPE_SCALING_TYPE_LINEAR =
1- LLAMA_ROPE_SCALING_TYPE_YARN =
2- LLAMA_ROPE_SCALING_TYPE_LONGROPE =
3- LLAMA_ROPE_SCALING_TYPE_MAX_VALUE =
LLAMA_ROPE_SCALING_TYPE_LONGROPE- LLAMA_POOLING_TYPE_UNSPECIFIED =
enum llama_pooling_type
-1- LLAMA_POOLING_TYPE_NONE =
0- LLAMA_POOLING_TYPE_MEAN =
1- LLAMA_POOLING_TYPE_CLS =
2- LLAMA_POOLING_TYPE_LAST =
3- LLAMA_POOLING_TYPE_RANK =
4- LLAMA_ATTENTION_TYPE_UNSPECIFIED =
enum llama_attention_type
-1- LLAMA_ATTENTION_TYPE_CAUSAL =
0- LLAMA_ATTENTION_TYPE_NON_CAUSAL =
1- LLAMA_FLASH_ATTN_TYPE_AUTO =
enum llama_flash_attn_type
-1- LLAMA_FLASH_ATTN_TYPE_DISABLED =
0- LLAMA_FLASH_ATTN_TYPE_ENABLED =
1- LLAMA_SPLIT_MODE_NONE =
enum llama_split_mode
0- LLAMA_SPLIT_MODE_LAYER =
1- LLAMA_SPLIT_MODE_ROW =
2- LLAMA_KV_OVERRIDE_TYPE_INT =
enum llama_model_kv_override_type
0- LLAMA_KV_OVERRIDE_TYPE_FLOAT =
1- LLAMA_KV_OVERRIDE_TYPE_BOOL =
2- LLAMA_KV_OVERRIDE_TYPE_STR =
3- GGML_NUMA_STRATEGY_DISABLED =
enum ggml_numa_strategy
0- GGML_NUMA_STRATEGY_DISTRIBUTE =
1- GGML_NUMA_STRATEGY_ISOLATE =
2- GGML_NUMA_STRATEGY_NUMACTL =
3- GGML_NUMA_STRATEGY_MIRROR =
4- GGML_NUMA_STRATEGY_COUNT =
5- SILENCE_LOG_CALLBACK =
FFI::Function.new(:void, i[int string pointer], proc {})
Class Method Summary collapse
Class Method Details
.set_log(io = $stdout) ⇒ Object
695 696 697 698 699 |
# File 'lib/rllama/cpp.rb', line 695 def set_log(io = $stdout) @log_callback = FFI::Function.new(:void, i[int string pointer]) { |_level, msg, _ud| io << msg } llama_log_set(@log_callback, nil) end |
.silence_log! ⇒ Object
691 692 693 |
# File 'lib/rllama/cpp.rb', line 691 def silence_log! llama_log_set(SILENCE_LOG_CALLBACK, nil) end |