llama_cpp 0.25.6 → 0.28.0

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: fe3f4ccdf08a754d7b331a32a5c2544c672e9da31b9f5eb29e8e6503376391ab
4
- data.tar.gz: 73d9ad537f7557232778e882edce50847333867b2b7f2b7f39420a68aeef723f
3
+ metadata.gz: 002371b1977caa3b67be951da5098f478c540b0b85c02e49e0263579626e983b
4
+ data.tar.gz: da1b91e34d7c494f3a4661b85a3c6bda909389b9c40a223aac9675330619132e
5
5
  SHA512:
6
- metadata.gz: ca6b8855194be0c835f4a672600fcff0e6a602afff49175c5668bd62e15c8f721c6034b1919879b56c777c77dd88f73f9e2a6f92db8397c1fe6be874d2a6e188
7
- data.tar.gz: 5a4eab3bef52c269e355934a7e8da85cfac17e73befc2eed1a6e6eda183d21e324dac0309c33c3f296f61031e27aab315803b0fbaaf571d910440ca036dfc741
6
+ metadata.gz: 53a2f89d9dbc2e3fe73de60dcd8c09218f9c4b7e49c89916619d74df3b7c245cd0252a3aead4f5caf918e86b21da5eb7a2630a56fe40a2fb6f01567b2a11bc92
7
+ data.tar.gz: 3f784cd9cfd6fa24d26ceafd643013b8b70e5c5610366719bea147f62d3febfee24b54ad1099027f279454f8ced4d0b8d0fd0859b54175a2222e311786898f00
data/CHANGELOG.md CHANGED
@@ -1,3 +1,42 @@
1
+ ## [[0.28.0](https://github.com/yoshoku/llama_cpp.rb/compare/v0.27.0...v0.28.0)] - 2026-08-23
2
+
3
+ - Change supported llama.cpp version to v0.2.0.
4
+ - Add `LLAMA_LOAD_MODE_AUTO` constant value.
5
+ - Add `n_outputs_max_per_seq accessor` to `LlamaContextParams`.
6
+ - Add `llama_version` module function to `LlamaCpp`.
7
+ - Add `llama_sampler_copy` module function to `LlamaCpp`.
8
+
9
+ ## [[0.27.0](https://github.com/yoshoku/llama_cpp.rb/compare/v0.26.0...v0.27.0)] - 2026-08-08
10
+
11
+ - Change supported llama.cpp version to b10310.
12
+ - Add `n_vocab` argument to `llama_sampler_init_penaltie` module function.
13
+ - Add `load_mtp` accessor to LlamaModelParams.
14
+
15
+ ## [[0.26.0](https://github.com/yoshoku/llama_cpp.rb/compare/v0.25.7...v0.26.0)] - 2026-08-01
16
+
17
+ - Change supported llama.cpp version to b10210.
18
+ - Remove `use_mmap` accessor from LlamaModelParams.
19
+ - Remove `use_direct_io` accessor from LlamaModelParams.
20
+ - Remove `use_mlock` accessor from LlamaModelParams.
21
+ - Add `LLAMA_LOAD_MODE_NONE` constant value.
22
+ - Add `LLAMA_LOAD_MODE_MMAP` constant value.
23
+ - Add `LLAMA_LOAD_MODE_MLOCK` constant value.
24
+ - Add `LLAMA_LOAD_MODE_MMAP_MLOCK` constant value.
25
+ - Add `LLAMA_LOAD_MODE_DIRECT_IO` constant value.
26
+ - Add `llama_load_mode_name` module function to `LlamaCpp`.
27
+ - Add `llama_load_mode_from_str` module function to `LlamaCpp`.
28
+
29
+ ## [[0.25.7](https://github.com/yoshoku/llama_cpp.rb/compare/v0.25.6...v0.25.7)] - 2026-07-11
30
+
31
+ - Change supported llama.cpp version to b9950.
32
+ - Add `LLAMA_FTYPE_MOSTLY_Q2_0` constant value.
33
+
34
+ ## [[0.25.6](https://github.com/yoshoku/llama_cpp.rb/compare/v0.25.5...v0.25.6)] - 2026-07-04
35
+
36
+ - Change supported llama.cpp version to b9860.
37
+ - Add `llama_model_ftype` module function to `LlamaCpp`.
38
+ - Add `llama_ftype_name` module function to `LlamaCpp`.
39
+
1
40
  ## [[0.25.5](https://github.com/yoshoku/llama_cpp.rb/compare/v0.25.4...v0.25.5)] - 2026-06-27
2
41
 
3
42
  - Change supported llama.cpp version to b9820.
@@ -498,39 +498,6 @@ static VALUE llama_model_params_set_vocab_only(VALUE self, VALUE vocab_only) {
498
498
  return vocab_only;
499
499
  }
500
500
 
501
- static VALUE llama_model_params_get_use_mmap(VALUE self) {
502
- struct llama_model_params* data = get_llama_model_params(self);
503
- return data->use_mmap ? Qtrue : Qfalse;
504
- }
505
-
506
- static VALUE llama_model_params_set_use_mmap(VALUE self, VALUE use_mmap) {
507
- struct llama_model_params* data = get_llama_model_params(self);
508
- data->use_mmap = RTEST(use_mmap) ? true : false;
509
- return use_mmap;
510
- }
511
-
512
- static VALUE llama_model_params_get_use_direct_io(VALUE self) {
513
- struct llama_model_params* data = get_llama_model_params(self);
514
- return data->use_direct_io ? Qtrue : Qfalse;
515
- }
516
-
517
- static VALUE llama_model_params_set_use_direct_io(VALUE self, VALUE use_direct_io) {
518
- struct llama_model_params* data = get_llama_model_params(self);
519
- data->use_direct_io = RTEST(use_direct_io) ? true : false;
520
- return use_direct_io;
521
- }
522
-
523
- static VALUE llama_model_params_get_use_mlock(VALUE self) {
524
- struct llama_model_params* data = get_llama_model_params(self);
525
- return data->use_mlock ? Qtrue : Qfalse;
526
- }
527
-
528
- static VALUE llama_model_params_set_use_mlock(VALUE self, VALUE use_mlock) {
529
- struct llama_model_params* data = get_llama_model_params(self);
530
- data->use_mlock = RTEST(use_mlock) ? true : false;
531
- return use_mlock;
532
- }
533
-
534
501
  static VALUE llama_model_params_get_check_tensors(VALUE self) {
535
502
  struct llama_model_params* data = get_llama_model_params(self);
536
503
  return data->check_tensors ? Qtrue : Qfalse;
@@ -575,6 +542,17 @@ static VALUE llama_model_params_set_no_alloc(VALUE self, VALUE no_alloc) {
575
542
  return no_alloc;
576
543
  }
577
544
 
545
+ static VALUE llama_model_params_get_load_mtp(VALUE self) {
546
+ struct llama_model_params* data = get_llama_model_params(self);
547
+ return data->load_mtp ? Qtrue : Qfalse;
548
+ }
549
+
550
+ static VALUE llama_model_params_set_load_mtp(VALUE self, VALUE load_mtp) {
551
+ struct llama_model_params* data = get_llama_model_params(self);
552
+ data->load_mtp = RTEST(load_mtp) ? true : false;
553
+ return load_mtp;
554
+ }
555
+
578
556
  /* struct llama_context_params */
579
557
  static void llama_context_params_free(void *ptr) {
580
558
  if (ptr) {
@@ -674,6 +652,17 @@ static VALUE llama_context_params_set_n_outputs_max(VALUE self, VALUE n_outputs_
674
652
  return n_outputs_max;
675
653
  }
676
654
 
655
+ static VALUE llama_context_params_get_n_outputs_max_per_seq(VALUE self) {
656
+ struct llama_context_params* data = get_llama_context_params(self);
657
+ return UINT2NUM(data->n_outputs_max_per_seq);
658
+ }
659
+
660
+ static VALUE llama_context_params_set_n_outputs_max_per_seq(VALUE self, VALUE n_outputs_max_per_seq) {
661
+ struct llama_context_params* data = get_llama_context_params(self);
662
+ data->n_outputs_max_per_seq = NUM2UINT(n_outputs_max_per_seq);
663
+ return n_outputs_max_per_seq;
664
+ }
665
+
677
666
  static VALUE llama_context_params_get_n_threads(VALUE self) {
678
667
  struct llama_context_params* data = get_llama_context_params(self);
679
668
  return INT2NUM(data->n_threads);
@@ -1329,6 +1318,15 @@ static llama_adapter_lora_wrapper* get_llama_adapter_lora_wrapper(VALUE self) {
1329
1318
  return data;
1330
1319
  }
1331
1320
 
1321
+ /**
1322
+ * @overload llama_version
1323
+ * @return [String]
1324
+ */
1325
+ static VALUE rb_llama_version(VALUE self) {
1326
+ const char* version = llama_version();
1327
+ return rb_utf8_str_new_cstr(version);
1328
+ }
1329
+
1332
1330
  /**
1333
1331
  * @overload llama_backend_init
1334
1332
  * @return [NilClass]
@@ -3585,6 +3583,29 @@ static VALUE rb_llama_sampler_clone(VALUE self, VALUE sampler) {
3585
3583
  return TypedData_Wrap_Struct(rb_cLlamaSampler, &llama_sampler_data_type, clone);
3586
3584
  }
3587
3585
 
3586
+ /**
3587
+ * @overload llama_sampler_copy(src, dst)
3588
+ * @param [LlamaSampler] src
3589
+ * @param [LlamaSampler] dst
3590
+ * @return [NilClass]
3591
+ */
3592
+ static VALUE rb_llama_sampler_copy(VALUE self, VALUE src, VALUE dst) {
3593
+ if (!rb_obj_is_kind_of(src, rb_cLlamaSampler)) {
3594
+ rb_raise(rb_eArgError, "src must be a LlamaSampler");
3595
+ return Qnil;
3596
+ }
3597
+ if (!rb_obj_is_kind_of(dst, rb_cLlamaSampler)) {
3598
+ rb_raise(rb_eArgError, "dst must be a LlamaSampler");
3599
+ return Qnil;
3600
+ }
3601
+ struct llama_sampler* src_ = get_llama_sampler(src);
3602
+ struct llama_sampler* dst_ = get_llama_sampler(dst);
3603
+ llama_sampler_copy(src_, dst_);
3604
+ RB_GC_GUARD(src);
3605
+ RB_GC_GUARD(dst);
3606
+ return Qnil;
3607
+ }
3608
+
3588
3609
  /**
3589
3610
  * @overload llama_sampler_free(sampler)
3590
3611
  * @param [LlamaSampler] sampler
@@ -3964,13 +3985,18 @@ static VALUE rb_llama_sampler_init_grammar(VALUE self, VALUE vocab, VALUE gramma
3964
3985
 
3965
3986
  /**
3966
3987
  * @overload llama_sampler_init_penalties(penalty_last_n, penalty_repeat, penalty_freq, penalty_present)
3988
+ * @param [Integer] n_vocab
3967
3989
  * @param [Integer] penalty_last_n
3968
3990
  * @param [Float] penalty_repeat
3969
3991
  * @param [Float] penalty_freq
3970
3992
  * @param [Float] penalty_present
3971
3993
  * @return [LlamaSampler]
3972
3994
  */
3973
- static VALUE rb_llama_sampler_init_penalties(VALUE self, VALUE penalty_last_n, VALUE penalty_repeat, VALUE penalty_freq, VALUE penalty_present) {
3995
+ static VALUE rb_llama_sampler_init_penalties(VALUE self, VALUE n_vocab, VALUE penalty_last_n, VALUE penalty_repeat, VALUE penalty_freq, VALUE penalty_present) {
3996
+ if (!RB_INTEGER_TYPE_P(n_vocab)) {
3997
+ rb_raise(rb_eArgError, "n_vocab must be an Integer");
3998
+ return Qnil;
3999
+ }
3974
4000
  if (!RB_INTEGER_TYPE_P(penalty_last_n)) {
3975
4001
  rb_raise(rb_eArgError, "penalty_last_n must be an Integer");
3976
4002
  return Qnil;
@@ -3987,7 +4013,7 @@ static VALUE rb_llama_sampler_init_penalties(VALUE self, VALUE penalty_last_n, V
3987
4013
  rb_raise(rb_eArgError, "penalty_present must be a Float");
3988
4014
  return Qnil;
3989
4015
  }
3990
- struct llama_sampler* sampler = llama_sampler_init_penalties(NUM2INT(penalty_last_n), NUM2DBL(penalty_repeat), NUM2DBL(penalty_freq), NUM2DBL(penalty_present));
4016
+ struct llama_sampler* sampler = llama_sampler_init_penalties(NUM2INT(n_vocab), NUM2INT(penalty_last_n), NUM2DBL(penalty_repeat), NUM2DBL(penalty_freq), NUM2DBL(penalty_present));
3991
4017
  return TypedData_Wrap_Struct(rb_cLlamaSampler, &llama_sampler_data_type, sampler);
3992
4018
  }
3993
4019
 
@@ -4356,6 +4382,31 @@ static VALUE rb_llama_flash_attn_type_name(VALUE self, VALUE flash_attn_type) {
4356
4382
  return rb_utf8_str_new_cstr(name);
4357
4383
  }
4358
4384
 
4385
+ /**
4386
+ * @overload llama_load_mode_name(load_mode)
4387
+ * @param [Integer] load_mode
4388
+ * @return [String]
4389
+ */
4390
+ static VALUE rb_llama_load_mode_name(VALUE self, VALUE load_mode) {
4391
+ if (!RB_INTEGER_TYPE_P(load_mode)) {
4392
+ rb_raise(rb_eArgError, "load_mode must be an Integer");
4393
+ return Qnil;
4394
+ }
4395
+ const char* name = llama_load_mode_name((enum llama_load_mode)NUM2INT(load_mode));
4396
+ return rb_utf8_str_new_cstr(name);
4397
+ }
4398
+
4399
+ static VALUE rb_llama_load_mode_from_str(VALUE self, VALUE str) {
4400
+ if (!RB_TYPE_P(str, T_STRING)) {
4401
+ rb_raise(rb_eArgError, "str must be a String");
4402
+ return Qnil;
4403
+ }
4404
+ const char* str_ = StringValueCStr(str);
4405
+ enum llama_load_mode load_mode = llama_load_mode_from_str(str_);
4406
+ RB_GC_GUARD(str);
4407
+ return INT2NUM(load_mode);
4408
+ }
4409
+
4359
4410
  /* MAIN */
4360
4411
  void Init_llama_cpp(void) {
4361
4412
  char tmp[12];
@@ -4487,6 +4538,7 @@ void Init_llama_cpp(void) {
4487
4538
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_MXFP4_MOE", INT2NUM(LLAMA_FTYPE_MOSTLY_MXFP4_MOE));
4488
4539
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_NVFP4", INT2NUM(LLAMA_FTYPE_MOSTLY_NVFP4));
4489
4540
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_Q1_0", INT2NUM(LLAMA_FTYPE_MOSTLY_Q1_0));
4541
+ rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_MOSTLY_Q2_0", INT2NUM(LLAMA_FTYPE_MOSTLY_Q2_0));
4490
4542
  rb_define_const(rb_mLlamaCpp, "LLAMA_FTYPE_GUESSED", INT2NUM(LLAMA_FTYPE_GUESSED));
4491
4543
 
4492
4544
  rb_define_module_function(rb_mLlamaCpp, "llama_ftype_name", rb_llama_ftype_name, 1);
@@ -4523,6 +4575,14 @@ void Init_llama_cpp(void) {
4523
4575
  rb_define_const(rb_mLlamaCpp, "LLAMA_SPLIT_MODE_LAYER", INT2NUM(LLAMA_SPLIT_MODE_LAYER));
4524
4576
  rb_define_const(rb_mLlamaCpp, "LLAMA_SPLIT_MODE_ROW", INT2NUM(LLAMA_SPLIT_MODE_ROW));
4525
4577
  rb_define_const(rb_mLlamaCpp, "LLAMA_SPLIT_MODE_TENSOR", INT2NUM(LLAMA_SPLIT_MODE_TENSOR));
4578
+ /* llama_load_type */
4579
+ /* Document-const: LlamaCpp::LLAMA_LOAD_MODE_NONE */
4580
+ rb_define_const(rb_mLlamaCpp, "LLAMA_LOAD_MODE_NONE", INT2NUM(LLAMA_LOAD_MODE_NONE));
4581
+ rb_define_const(rb_mLlamaCpp, "LLAMA_LOAD_MODE_AUTO", INT2NUM(LLAMA_LOAD_MODE_AUTO));
4582
+ rb_define_const(rb_mLlamaCpp, "LLAMA_LOAD_MODE_MMAP", INT2NUM(LLAMA_LOAD_MODE_MMAP));
4583
+ rb_define_const(rb_mLlamaCpp, "LLAMA_LOAD_MODE_MLOCK", INT2NUM(LLAMA_LOAD_MODE_MLOCK));
4584
+ rb_define_const(rb_mLlamaCpp, "LLAMA_LOAD_MODE_MMAP_MLOCK", INT2NUM(LLAMA_LOAD_MODE_MMAP_MLOCK));
4585
+ rb_define_const(rb_mLlamaCpp, "LLAMA_LOAD_MODE_DIRECT_IO", INT2NUM(LLAMA_LOAD_MODE_DIRECT_IO));
4526
4586
  /* llama_context_type */
4527
4587
  /* Document-const: LlamaCpp::LLAMA_CONTEXT_TYPE_DEFAULT */
4528
4588
  rb_define_const(rb_mLlamaCpp, "LLAMA_CONTEXT_TYPE_DEFAULT", INT2NUM(LLAMA_CONTEXT_TYPE_DEFAULT));
@@ -4729,39 +4789,6 @@ void Init_llama_cpp(void) {
4729
4789
  * @return [Boolean]
4730
4790
  */
4731
4791
  rb_define_method(rb_cLlamaModelParams, "vocab_only=", RUBY_METHOD_FUNC(llama_model_params_set_vocab_only), 1);
4732
- /**
4733
- * Document-method: use_mmap
4734
- * @return [Boolean]
4735
- */
4736
- rb_define_method(rb_cLlamaModelParams, "use_mmap", RUBY_METHOD_FUNC(llama_model_params_get_use_mmap), 0);
4737
- /**
4738
- * Document-method: use_mmap=
4739
- * @param [Boolean] use_mmap
4740
- * @return [Boolean]
4741
- */
4742
- rb_define_method(rb_cLlamaModelParams, "use_mmap=", RUBY_METHOD_FUNC(llama_model_params_set_use_mmap), 1);
4743
- /**
4744
- * Document-method: use_direct_io
4745
- * @return [Boolean]
4746
- */
4747
- rb_define_method(rb_cLlamaModelParams, "use_direct_io", RUBY_METHOD_FUNC(llama_model_params_get_use_direct_io), 0);
4748
- /**
4749
- * Document-method: use_direct_io=
4750
- * @param [Boolean] use_direct_io
4751
- * @return [Boolean]
4752
- */
4753
- rb_define_method(rb_cLlamaModelParams, "use_direct_io=", RUBY_METHOD_FUNC(llama_model_params_set_use_direct_io), 1);
4754
- /**
4755
- * Document-method: use_mlock
4756
- * @return [Boolean]
4757
- */
4758
- rb_define_method(rb_cLlamaModelParams, "use_mlock", RUBY_METHOD_FUNC(llama_model_params_get_use_mlock), 0);
4759
- /**
4760
- * Document-method: use_mlock=
4761
- * @param [Boolean] use_mlock
4762
- * @return [Boolean]
4763
- */
4764
- rb_define_method(rb_cLlamaModelParams, "use_mlock=", RUBY_METHOD_FUNC(llama_model_params_set_use_mlock), 1);
4765
4792
  /**
4766
4793
  * Document-method: check_tensors
4767
4794
  * @return [Boolean]
@@ -4806,6 +4833,17 @@ void Init_llama_cpp(void) {
4806
4833
  * @return [Boolean]
4807
4834
  */
4808
4835
  rb_define_method(rb_cLlamaModelParams, "no_alloc=", RUBY_METHOD_FUNC(llama_model_params_set_no_alloc), 1);
4836
+ /**
4837
+ * Document-method: load_mtp
4838
+ * @return [Boolean]
4839
+ */
4840
+ rb_define_method(rb_cLlamaModelParams, "load_mtp", RUBY_METHOD_FUNC(llama_model_params_get_load_mtp), 0);
4841
+ /**
4842
+ * Document-method: load_mtp=
4843
+ * @param [Boolean] load_mtp_
4844
+ * @return [Boolean]
4845
+ */
4846
+ rb_define_method(rb_cLlamaModelParams, "load_mtp=", RUBY_METHOD_FUNC(llama_model_params_set_load_mtp), 1);
4809
4847
 
4810
4848
  /* TODO: struct llama_sampler_seq_config */
4811
4849
 
@@ -4881,6 +4919,17 @@ void Init_llama_cpp(void) {
4881
4919
  * @return [Integer]
4882
4920
  */
4883
4921
  rb_define_method(rb_cLlamaContextParams, "n_outputs_max=", RUBY_METHOD_FUNC(llama_context_params_set_n_outputs_max), 1);
4922
+ /**
4923
+ * Document-method: n_outputs_max_per_seq
4924
+ * @return [Integer]
4925
+ */
4926
+ rb_define_method(rb_cLlamaContextParams, "n_outputs_max_per_seq", RUBY_METHOD_FUNC(llama_context_params_get_n_outputs_max_per_seq), 0);
4927
+ /**
4928
+ * Document-method: n_outputs_max_per_seq=
4929
+ * @param [Integer] n_outputs_max_per_seq
4930
+ * @return [Integer]
4931
+ */
4932
+ rb_define_method(rb_cLlamaContextParams, "n_outputs_max_per_seq=", RUBY_METHOD_FUNC(llama_context_params_set_n_outputs_max_per_seq), 1);
4884
4933
  /**
4885
4934
  * Document-method: n_threads
4886
4935
  * @return [Integer]
@@ -5363,6 +5412,9 @@ void Init_llama_cpp(void) {
5363
5412
  rb_cLlamaAdapterLora = rb_define_class_under(rb_mLlamaCpp, "LlamaAdapterLora", rb_cObject);
5364
5413
  rb_define_alloc_func(rb_cLlamaAdapterLora, llama_adapter_lora_wrapper_alloc);
5365
5414
 
5415
+ /* llama_version */
5416
+ rb_define_module_function(rb_mLlamaCpp, "llama_version", rb_llama_version, 0);
5417
+
5366
5418
  /* llama_backend_init */
5367
5419
  rb_define_module_function(rb_mLlamaCpp, "llama_backend_init", rb_llama_backend_init, 0);
5368
5420
 
@@ -5716,6 +5768,8 @@ void Init_llama_cpp(void) {
5716
5768
  /* llama_vocab_get_add_sep */
5717
5769
  rb_define_module_function(rb_mLlamaCpp, "llama_vocab_get_add_sep", rb_llama_vocab_get_add_sep, 1);
5718
5770
 
5771
+ /* TODO: llama_vocab_get_suppress_tokens */
5772
+
5719
5773
  /* llama_vocab_fim_pre */
5720
5774
  rb_define_module_function(rb_mLlamaCpp, "llama_vocab_fim_pre", rb_llama_vocab_fim_pre, 1);
5721
5775
 
@@ -5777,6 +5831,9 @@ void Init_llama_cpp(void) {
5777
5831
  /* llama_sampler_clone */
5778
5832
  rb_define_module_function(rb_mLlamaCpp, "llama_sampler_clone", rb_llama_sampler_clone, 1);
5779
5833
 
5834
+ /* llama_sampler_copy */
5835
+ rb_define_module_function(rb_mLlamaCpp, "llama_sampler_copy", rb_llama_sampler_copy, 2);
5836
+
5780
5837
  /* llama_sampler_free */
5781
5838
  rb_define_module_function(rb_mLlamaCpp, "llama_sampler_free", rb_llama_sampler_free, 1);
5782
5839
 
@@ -5837,7 +5894,7 @@ void Init_llama_cpp(void) {
5837
5894
  /* TODO: llama_sampler_init_grammar_lazy_patterns */
5838
5895
 
5839
5896
  /* llama_sampler_init_penalties */
5840
- rb_define_module_function(rb_mLlamaCpp, "llama_sampler_init_penalties", rb_llama_sampler_init_penalties, 4);
5897
+ rb_define_module_function(rb_mLlamaCpp, "llama_sampler_init_penalties", rb_llama_sampler_init_penalties, 5);
5841
5898
 
5842
5899
  /* TODO: llama_sampler_init_dry */
5843
5900
 
@@ -5942,6 +5999,12 @@ void Init_llama_cpp(void) {
5942
5999
  /* llama_perf_sampler_reset */
5943
6000
  rb_define_module_function(rb_mLlamaCpp, "llama_perf_sampler_reset", rb_llama_perf_sampler_reset, 1);
5944
6001
 
6002
+ /* llama_load_mode_name */
6003
+ rb_define_module_function(rb_mLlamaCpp, "llama_load_mode_name", rb_llama_load_mode_name, 1);
6004
+
6005
+ /* llama_load_mode_from_str */
6006
+ rb_define_module_function(rb_mLlamaCpp, "llama_load_mode_from_str", rb_llama_load_mode_from_str, 1);
6007
+
5945
6008
  /* TODO: typedef bool (*llama_opt_param_filter) */
5946
6009
  /* TODO: bool llama_opt_param_filter_all */
5947
6010
  /* TODO: struct llama_opt_params */
@@ -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.25.6'
6
+ VERSION = '0.28.0'
7
7
 
8
8
  # The supported version of llama.cpp.
9
- LLAMA_CPP_VERSION = 'b9860'
9
+ LLAMA_CPP_VERSION = 'v0.2.0'
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.25.6
4
+ version: 0.28.0
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.25.6/
36
+ documentation_uri: https://gemdocs.org/gems/llama_cpp/0.28.0/
37
37
  rubygems_mfa_required: 'true'
38
38
  rdoc_options: []
39
39
  require_paths:
@@ -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: 4.0.13
52
+ rubygems_version: 4.0.16
53
53
  specification_version: 4
54
54
  summary: Ruby bindings for the llama.cpp.
55
55
  test_files: []