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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a758c0d22d950187f8512312c4866a37a128e3092ca842d18bf499465957ef62
4
- data.tar.gz: 7dd5c14b42e608ee03af4f436b0c1eee8ba985dabc7a52a893aaef67068b43c4
3
+ metadata.gz: 68f7460b6ab553b85308547847c5883ea0c38c32cdc27cd8e6584ec0e91a8e25
4
+ data.tar.gz: ece3d349b204f06232f8ffdaccb989bf679475526e10e2991ea4b940598e6e67
5
5
  SHA512:
6
- metadata.gz: 4acc2505785d72b668a394a31430f3abbe059d829e91385d318aaf4fc1bbb39983554b6850b36383a44f1e8874eb903b21c18e222f1487b27aee8e3d8f2e20d7
7
- data.tar.gz: d08c7c7626b66ae6d9d9c323c26aa200e8b05bdae9974002e9cacf1ca812530ad2904daed73795e61850a00c2f1240dcea7a8df443698c680d06b207126bf8b0
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.
@@ -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
  /**
@@ -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.7'
6
+ VERSION = '0.23.9'
7
7
 
8
8
  # The supported version of llama.cpp.
9
- LLAMA_CPP_VERSION = 'b7120'
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.7
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.7/
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: