llama_cpp 0.21.1 → 0.21.2

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: 64aab047f44a9002c5c388f6a774448671d7be9618170310d2b7dd1091a99670
4
- data.tar.gz: 63f0d908b99a45865a9b9d81ae595adb0d9a1f258976267da3ce5b5df747ae0d
3
+ metadata.gz: 5f3d80e415240f21df0ba7e314118712f6f2d2d8cb052eef41127e7de7ae7e51
4
+ data.tar.gz: 67fff55bf83ef4d97f24b0c3c450eb493464763c23595fcb5b60c248fd1f551e
5
5
  SHA512:
6
- metadata.gz: 4f5344b36ff0c0bbd812f25f2b7a897893cb8ffb0700e3f8c23dfbd81cc8b1c4ee1893d5198c74df625fbc3c4c925f32e4c868c60b6ed13e7a5412eef3d9b2b6
7
- data.tar.gz: dbc8d279a9284ba62786d3c5d267352445814289cb1f8a2268d2bb2ff72a4bc7a2534cb2c4582f945e13a68a645cec51101085203ff6dac1a2b7df6885412398
6
+ metadata.gz: f6a129952bc812c130a235743beeb0a5ebcafcbe627d7d13d625e8cf5b143e2cb41cd4d78cfacc98c00a1d0857dc68bb8a6b30d486da5f22e8bcbc6a63ac5489
7
+ data.tar.gz: c944f2a37727bd3e295dc83d9d9c5c5748a04d7f867aad86895c312a100fa65b7c3fa9f3973bf08adc47c26c2a0e73586f7aa92b92230bee72c86b10dc4693fc
data/CHANGELOG.md CHANGED
@@ -1,10 +1,17 @@
1
+ ## [[0.21.2](https://github.com/yoshoku/llama_cpp.rb/compare/v0.21.1...v0.21.2)] - 2025-08-09
2
+
3
+ - Change supported llama.cpp version to b6100.
4
+ - Add `LLAMA_FTYPE_MOSTLY_MXFP4_MOE` constant.
5
+ - Add `use_extra_bufts` accessor to `LlamaModelParams`.
6
+ - Add `llama_model_is_diffusion?` module function.
7
+
1
8
  ## [[0.21.1](https://github.com/yoshoku/llama_cpp.rb/compare/v0.21.0...v0.21.1)] - 2025-07-19
2
9
 
3
10
  - Change supported llama.cpp version to b5930.
4
11
  - Add `n_reused` reader to `LlamaPerfContextData`.
5
12
  - Add `llama_vocab_mask` module function.
6
13
  - Add `kv_unified` accessor to `LlamaContextParams`.
7
- - Add `LLAMA_VOCAB_TYPE_PLAMO2` contant.
14
+ - Add `LLAMA_VOCAB_TYPE_PLAMO2` constant.
8
15
 
9
16
  ## [[0.21.0](https://github.com/yoshoku/llama_cpp.rb/compare/v0.20.4...v0.21.0)] - 2025-07-12
10
17
 
@@ -530,6 +530,17 @@ static VALUE llama_model_params_set_check_tensors(VALUE self, VALUE check_tensor
530
530
  return check_tensors;
531
531
  }
532
532
 
533
+ static VALUE llama_model_params_get_use_extra_bufts(VALUE self) {
534
+ struct llama_model_params* data = get_llama_model_params(self);
535
+ return data->use_extra_bufts ? Qtrue : Qfalse;
536
+ }
537
+
538
+ static VALUE llama_model_params_set_use_extra_bufts(VALUE self, VALUE use_extra_bufts) {
539
+ struct llama_model_params* data = get_llama_model_params(self);
540
+ data->use_extra_bufts = RTEST(use_extra_bufts) ? true : false;
541
+ return use_extra_bufts;
542
+ }
543
+
533
544
  /* struct llama_context_params */
534
545
  static void llama_context_params_free(void *ptr) {
535
546
  if (ptr) {
@@ -1774,6 +1785,20 @@ static VALUE rb_llama_model_is_recurrent(VALUE self, VALUE model) {
1774
1785
  return llama_model_is_recurrent(model_wrapper->model) ? Qtrue : Qfalse;
1775
1786
  }
1776
1787
 
1788
+ /**
1789
+ * @overload llama_model_is_diffusion?(model)
1790
+ * @param [LlamaModel] model
1791
+ * @return [Boolean]
1792
+ */
1793
+ static VALUE rb_llama_model_is_diffusion(VALUE self, VALUE model) {
1794
+ if (!rb_obj_is_kind_of(model, rb_cLlamaModel)) {
1795
+ rb_raise(rb_eArgError, "model must be a LlamaModel");
1796
+ return Qnil;
1797
+ }
1798
+ llama_model_wrapper* model_wrapper = get_llama_model_wrapper(model);
1799
+ return llama_model_is_diffusion(model_wrapper->model) ? Qtrue : Qfalse;
1800
+ }
1801
+
1777
1802
  /**
1778
1803
  * @overload llama_model_quantize(fname_inp, fname_out, params)
1779
1804
  * @param [String] fname_inp
@@ -4251,6 +4276,7 @@ void Init_llama_cpp(void) {
4251
4276
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_BF16", INT2NUM(LLAMA_FTYPE_MOSTLY_BF16));
4252
4277
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_TQ1_0", INT2NUM(LLAMA_FTYPE_MOSTLY_TQ1_0));
4253
4278
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_TQ2_0", INT2NUM(LLAMA_FTYPE_MOSTLY_TQ2_0));
4279
+ rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_MXFP4_MOE", INT2NUM(LLAMA_FTYPE_MOSTLY_MXFP4_MOE));
4254
4280
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_GUESSED", INT2NUM(LLAMA_FTYPE_GUESSED));
4255
4281
  /* llama_rope_scaling_type */
4256
4282
  /* Document-const: LlamaCpp::LLAMA_ROPE_SCALING_TYPE_UNSPECIFIED */
@@ -4496,6 +4522,17 @@ void Init_llama_cpp(void) {
4496
4522
  * @return [Boolean]
4497
4523
  */
4498
4524
  rb_define_method(rb_cLlamaModelParams, "check_tensors=", RUBY_METHOD_FUNC(llama_model_params_set_check_tensors), 1);
4525
+ /**
4526
+ * Document-method: use_extra_bufts
4527
+ * @return [Boolean]
4528
+ */
4529
+ rb_define_method(rb_cLlamaModelParams, "use_extra_bufts", RUBY_METHOD_FUNC(llama_model_params_get_use_extra_bufts), 0);
4530
+ /**
4531
+ * Document-method: use_extra_bufts=
4532
+ * @param [Boolean] use_extra_bufts
4533
+ * @return [Boolean]
4534
+ */
4535
+ rb_define_method(rb_cLlamaModelParams, "use_extra_bufts=", RUBY_METHOD_FUNC(llama_model_params_set_use_extra_bufts), 1);
4499
4536
 
4500
4537
  /**
4501
4538
  * Document-class: LlamaCpp::LlamaContextParams
@@ -5106,6 +5143,9 @@ void Init_llama_cpp(void) {
5106
5143
  /* llama_model_is_recurrent */
5107
5144
  rb_define_module_function(rb_mLlamaCpp, "llama_model_is_recurrent?", rb_llama_model_is_recurrent, 1);
5108
5145
 
5146
+ /* llama_model_is_diffusion */
5147
+ rb_define_module_function(rb_mLlamaCpp, "llama_model_is_diffusion?", rb_llama_model_is_diffusion, 1);
5148
+
5109
5149
  /* llama_model_quantize */
5110
5150
  rb_define_module_function(rb_mLlamaCpp, "llama_model_quantize", rb_llama_model_quantize, 3);
5111
5151
 
@@ -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.21.1'
6
+ VERSION = '0.21.2'
7
7
 
8
8
  # The supported version of llama.cpp.
9
- LLAMA_CPP_VERSION = 'b5930'
9
+ LLAMA_CPP_VERSION = 'b6100'
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.21.1
4
+ version: 0.21.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
49
49
  - !ruby/object:Gem::Version
50
50
  version: '0'
51
51
  requirements: []
52
- rubygems_version: 3.6.9
52
+ rubygems_version: 3.7.0
53
53
  specification_version: 4
54
54
  summary: Ruby bindings for the llama.cpp.
55
55
  test_files: []