llama_cpp 0.23.7 → 0.23.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/ext/llama_cpp/llama_cpp.c +84 -2
- data/lib/llama_cpp/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 68f7460b6ab553b85308547847c5883ea0c38c32cdc27cd8e6584ec0e91a8e25
|
|
4
|
+
data.tar.gz: ece3d349b204f06232f8ffdaccb989bf679475526e10e2991ea4b940598e6e67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 66a8a170146f84f50db79c0ae42aa7e808c24dc37ebda1f4132f3a1fc2cf95f333fe8251d43bb43ad80e47b2702dd9f7458838a7ed2173b22340cfa654b3e0af
|
|
7
|
+
data.tar.gz: f9c27b9ea682c4a5cfd70f2bf2e1a522505b405fd87965413abe544cf1124d6648a3705281dd28afe9681849697858731fd350d73e945788fe6bb9de30450189
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
## [[0.23.9](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.8...v0.23.9)] - 2025-12-20
|
|
2
|
+
|
|
3
|
+
- Change supported llama.cpp version to b7470
|
|
4
|
+
- Add `no_alloc` accessor to `LlamaModelParams`.
|
|
5
|
+
- Add `llama_max_tensor_buft_overrides` module function to `LlamaCpp`.
|
|
6
|
+
|
|
7
|
+
## [[0.23.8](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.7...v0.23.8)] - 2025-11-30
|
|
8
|
+
|
|
9
|
+
- Change supported llama.cpp version to b7180
|
|
10
|
+
- Add `llama_model_meta_key_str` module function to `LlamaCpp`.
|
|
11
|
+
- Add constant values for `enum llama_model_meta_key` to `LlamaCpp`.
|
|
12
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE`
|
|
13
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_TOP_K`
|
|
14
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_TOP_P`
|
|
15
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_MIN_P`
|
|
16
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_XTC_PROBABILITY`
|
|
17
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_XTC_THRESHOLD`
|
|
18
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_TEMP`
|
|
19
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_LAST_N`
|
|
20
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_REPEAT`
|
|
21
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT`
|
|
22
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU`
|
|
23
|
+
- `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA`
|
|
24
|
+
- Add `llama_model_meta_count` module function to `LlamaCpp`
|
|
25
|
+
|
|
1
26
|
## [[0.23.7](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.6...v0.23.7)] - 2025-11-22
|
|
2
27
|
|
|
3
28
|
- Fix to use require for compatibility with distributions installing extensions separately.
|
data/ext/llama_cpp/llama_cpp.c
CHANGED
|
@@ -551,6 +551,17 @@ static VALUE llama_model_params_set_no_host(VALUE self, VALUE no_host) {
|
|
|
551
551
|
return no_host;
|
|
552
552
|
}
|
|
553
553
|
|
|
554
|
+
static VALUE llama_model_params_get_no_alloc(VALUE self) {
|
|
555
|
+
struct llama_model_params* data = get_llama_model_params(self);
|
|
556
|
+
return data->no_alloc ? Qtrue : Qfalse;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
static VALUE llama_model_params_set_no_alloc(VALUE self, VALUE no_alloc) {
|
|
560
|
+
struct llama_model_params* data = get_llama_model_params(self);
|
|
561
|
+
data->no_alloc = RTEST(no_alloc) ? true : false;
|
|
562
|
+
return no_alloc;
|
|
563
|
+
}
|
|
564
|
+
|
|
554
565
|
/* struct llama_context_params */
|
|
555
566
|
static void llama_context_params_free(void *ptr) {
|
|
556
567
|
if (ptr) {
|
|
@@ -1363,6 +1374,14 @@ static VALUE rb_llama_max_parallel_sequences(VALUE self) {
|
|
|
1363
1374
|
return SIZET2NUM(llama_max_parallel_sequences());
|
|
1364
1375
|
}
|
|
1365
1376
|
|
|
1377
|
+
/**
|
|
1378
|
+
* @overload llama_max_tensor_buft_overrides
|
|
1379
|
+
* @return [Integer]
|
|
1380
|
+
*/
|
|
1381
|
+
static VALUE rb_llama_max_tensor_buft_overrides(VALUE self) {
|
|
1382
|
+
return SIZET2NUM(llama_max_tensor_buft_overrides());
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1366
1385
|
/**
|
|
1367
1386
|
* @overload llama_supports_mmap?
|
|
1368
1387
|
* @return [Boolean]
|
|
@@ -1708,6 +1727,34 @@ static VALUE rb_llama_vocab_n_tokens(VALUE self, VALUE vocab) {
|
|
|
1708
1727
|
return n_tokens;
|
|
1709
1728
|
}
|
|
1710
1729
|
|
|
1730
|
+
/**
|
|
1731
|
+
* @overload llama_model_meta_count(model)
|
|
1732
|
+
* @param [LlamaModel] model
|
|
1733
|
+
* @return [Integer]
|
|
1734
|
+
*/
|
|
1735
|
+
static VALUE rb_llama_model_meta_count(VALUE self, VALUE model) {
|
|
1736
|
+
if (!rb_obj_is_kind_of(model, rb_cLlamaModel)) {
|
|
1737
|
+
rb_raise(rb_eArgError, "model must be a LlamaModel");
|
|
1738
|
+
return Qnil;
|
|
1739
|
+
}
|
|
1740
|
+
llama_model_wrapper* model_wrapper = get_llama_model_wrapper(model);
|
|
1741
|
+
return INT2NUM(llama_model_meta_count(model_wrapper->model));
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
/**
|
|
1745
|
+
* @overload llama_model_meta_key_str(key)
|
|
1746
|
+
* @param [Integer] key (must be one of Llama::LLAMA_MODEL_META_KEY_* constants)
|
|
1747
|
+
* @return [String]
|
|
1748
|
+
*/
|
|
1749
|
+
static VALUE rb_llama_model_meta_key_str(VALUE self, VALUE key) {
|
|
1750
|
+
if (!RB_INTEGER_TYPE_P(key)) {
|
|
1751
|
+
rb_raise(rb_eArgError, "key must be an Integer");
|
|
1752
|
+
return Qnil;
|
|
1753
|
+
}
|
|
1754
|
+
const char* key_str = llama_model_meta_key_str(NUM2INT(key));
|
|
1755
|
+
return rb_utf8_str_new_cstr(key_str);
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1711
1758
|
/**
|
|
1712
1759
|
* @overload llama_model_desc(model)
|
|
1713
1760
|
* @param [LlamaModel] model
|
|
@@ -4198,13 +4245,28 @@ void Init_llama_cpp(void) {
|
|
|
4198
4245
|
/* TODO: llama_seq_id** seq_id */
|
|
4199
4246
|
/* TODO: int8_t* logits */
|
|
4200
4247
|
|
|
4201
|
-
/* llama_model_kv_override_type */
|
|
4248
|
+
/* enum llama_model_kv_override_type */
|
|
4202
4249
|
/* Document-const: LlamaCpp::LLAMA_KV_OVERRIDE_TYPE_INT */
|
|
4203
4250
|
rb_define_const(rb_mLlamaCpp, "LLAMA_KV_OVERRIDE_TYPE_INT", INT2NUM(LLAMA_KV_OVERRIDE_TYPE_INT));
|
|
4204
4251
|
rb_define_const(rb_mLlamaCpp, "LLAMA_KV_OVERRIDE_TYPE_FLOAT", INT2NUM(LLAMA_KV_OVERRIDE_TYPE_FLOAT));
|
|
4205
4252
|
rb_define_const(rb_mLlamaCpp, "LLAMA_KV_OVERRIDE_TYPE_BOOL", INT2NUM(LLAMA_KV_OVERRIDE_TYPE_BOOL));
|
|
4206
4253
|
rb_define_const(rb_mLlamaCpp, "LLAMA_KV_OVERRIDE_TYPE_STR", INT2NUM(LLAMA_KV_OVERRIDE_TYPE_STR));
|
|
4207
4254
|
|
|
4255
|
+
/* enum llama_model_meta_key */
|
|
4256
|
+
/* Document-const: LlamaCpp::LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE */
|
|
4257
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE));
|
|
4258
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_TOP_K", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_TOP_K));
|
|
4259
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_TOP_P", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_TOP_P));
|
|
4260
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_MIN_P", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_MIN_P));
|
|
4261
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_XTC_PROBABILITY", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_XTC_PROBABILITY));
|
|
4262
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_XTC_THRESHOLD", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_XTC_THRESHOLD));
|
|
4263
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_TEMP", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_TEMP));
|
|
4264
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_LAST_N", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_LAST_N));
|
|
4265
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_REPEAT", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_REPEAT));
|
|
4266
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT));
|
|
4267
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU));
|
|
4268
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA", INT2NUM(LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA));
|
|
4269
|
+
|
|
4208
4270
|
/**
|
|
4209
4271
|
* Document-class: LlamaCpp::LlamaModelKvOverride
|
|
4210
4272
|
* "struct llama_model_kv_override" wrapper class
|
|
@@ -4370,6 +4432,17 @@ void Init_llama_cpp(void) {
|
|
|
4370
4432
|
* @return [Boolean]
|
|
4371
4433
|
*/
|
|
4372
4434
|
rb_define_method(rb_cLlamaModelParams, "no_host=", RUBY_METHOD_FUNC(llama_model_params_set_no_host), 1);
|
|
4435
|
+
/**
|
|
4436
|
+
* Document-method: no_alloc
|
|
4437
|
+
* @return [Boolean]
|
|
4438
|
+
*/
|
|
4439
|
+
rb_define_method(rb_cLlamaModelParams, "no_alloc", RUBY_METHOD_FUNC(llama_model_params_get_no_alloc), 0);
|
|
4440
|
+
/**
|
|
4441
|
+
* Document-method: no_alloc=
|
|
4442
|
+
* @param [Boolean] no_alloc_
|
|
4443
|
+
* @return [Boolean]
|
|
4444
|
+
*/
|
|
4445
|
+
rb_define_method(rb_cLlamaModelParams, "no_alloc=", RUBY_METHOD_FUNC(llama_model_params_set_no_alloc), 1);
|
|
4373
4446
|
|
|
4374
4447
|
/**
|
|
4375
4448
|
* Document-class: LlamaCpp::LlamaContextParams
|
|
@@ -4867,6 +4940,8 @@ void Init_llama_cpp(void) {
|
|
|
4867
4940
|
/* llama_free */
|
|
4868
4941
|
rb_define_module_function(rb_mLlamaCpp, "llama_free", rb_llama_free, 1);
|
|
4869
4942
|
|
|
4943
|
+
/* TODO: llama_params_fit */
|
|
4944
|
+
|
|
4870
4945
|
/* llama_time_us */
|
|
4871
4946
|
rb_define_module_function(rb_mLlamaCpp, "llama_time_us", rb_llama_time_us, 0);
|
|
4872
4947
|
|
|
@@ -4876,6 +4951,9 @@ void Init_llama_cpp(void) {
|
|
|
4876
4951
|
/* llama_max_parallel_sequences */
|
|
4877
4952
|
rb_define_module_function(rb_mLlamaCpp, "llama_max_parallel_sequences", rb_llama_max_parallel_sequences, 0);
|
|
4878
4953
|
|
|
4954
|
+
/* llama_max_tensor_buft_overrides */
|
|
4955
|
+
rb_define_module_function(rb_mLlamaCpp, "llama_max_tensor_buft_overrides", rb_llama_max_tensor_buft_overrides, 0);
|
|
4956
|
+
|
|
4879
4957
|
/* llama_supports_mmap */
|
|
4880
4958
|
rb_define_module_function(rb_mLlamaCpp, "llama_supports_mmap?", rb_llama_supports_mmap, 0);
|
|
4881
4959
|
|
|
@@ -4954,8 +5032,11 @@ void Init_llama_cpp(void) {
|
|
|
4954
5032
|
/* llama_vocab_n_tokens */
|
|
4955
5033
|
rb_define_module_function(rb_mLlamaCpp, "llama_vocab_n_tokens", rb_llama_vocab_n_tokens, 1);
|
|
4956
5034
|
|
|
5035
|
+
/* llama_model_meta_count */
|
|
5036
|
+
rb_define_module_function(rb_mLlamaCpp, "llama_model_meta_count", rb_llama_model_meta_count, 1);
|
|
5037
|
+
/* llama_model_meta_key_str */
|
|
5038
|
+
rb_define_module_function(rb_mLlamaCpp, "llama_model_meta_key_str", rb_llama_model_meta_key_str, 1);
|
|
4957
5039
|
/* TODO: llama_model_meta_val_str */
|
|
4958
|
-
/* TODO: llama_model_meta_count */
|
|
4959
5040
|
/* TODO: llama_model_meta_key_by_index */
|
|
4960
5041
|
/* TODO: llama_model_meta_val_str_by_index */
|
|
4961
5042
|
|
|
@@ -5300,6 +5381,7 @@ void Init_llama_cpp(void) {
|
|
|
5300
5381
|
/* llama_print_system_info */
|
|
5301
5382
|
rb_define_module_function(rb_mLlamaCpp, "llama_print_system_info", rb_llama_print_system_info, 0);
|
|
5302
5383
|
|
|
5384
|
+
/* TODO: llama_log_get */
|
|
5303
5385
|
/* TODO: llama_log_set */
|
|
5304
5386
|
|
|
5305
5387
|
/**
|
data/lib/llama_cpp/version.rb
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
# llama_cpp.rb provides Ruby bindings for the llama.cpp.
|
|
4
4
|
module LlamaCpp
|
|
5
5
|
# The version of llama_cpp.rb you install.
|
|
6
|
-
VERSION = '0.23.
|
|
6
|
+
VERSION = '0.23.9'
|
|
7
7
|
|
|
8
8
|
# The supported version of llama.cpp.
|
|
9
|
-
LLAMA_CPP_VERSION = '
|
|
9
|
+
LLAMA_CPP_VERSION = 'b7470'
|
|
10
10
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: llama_cpp
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.23.
|
|
4
|
+
version: 0.23.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- yoshoku
|
|
@@ -33,7 +33,7 @@ metadata:
|
|
|
33
33
|
homepage_uri: https://github.com/yoshoku/llama_cpp.rb
|
|
34
34
|
source_code_uri: https://github.com/yoshoku/llama_cpp.rb
|
|
35
35
|
changelog_uri: https://github.com/yoshoku/llama_cpp.rb/blob/main/CHANGELOG.md
|
|
36
|
-
documentation_uri: https://gemdocs.org/gems/llama_cpp/0.23.
|
|
36
|
+
documentation_uri: https://gemdocs.org/gems/llama_cpp/0.23.9/
|
|
37
37
|
rubygems_mfa_required: 'true'
|
|
38
38
|
rdoc_options: []
|
|
39
39
|
require_paths:
|