llama_cpp 0.23.9 → 0.23.10

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: 68f7460b6ab553b85308547847c5883ea0c38c32cdc27cd8e6584ec0e91a8e25
4
- data.tar.gz: ece3d349b204f06232f8ffdaccb989bf679475526e10e2991ea4b940598e6e67
3
+ metadata.gz: 724681cca1a22e307f705fa8cc489b448b6dc5dd2b49b766759f95717415c286
4
+ data.tar.gz: 430e80c1bf7d82573fc315f3a5fb62fa8b8d092bd96a052a95c90c4c0a73489d
5
5
  SHA512:
6
- metadata.gz: 66a8a170146f84f50db79c0ae42aa7e808c24dc37ebda1f4132f3a1fc2cf95f333fe8251d43bb43ad80e47b2702dd9f7458838a7ed2173b22340cfa654b3e0af
7
- data.tar.gz: f9c27b9ea682c4a5cfd70f2bf2e1a522505b405fd87965413abe544cf1124d6648a3705281dd28afe9681849697858731fd350d73e945788fe6bb9de30450189
6
+ metadata.gz: 9ddd137a12b7edac9ca70518c206e42e5d8fa6e3141fae7cee014b27e7de19640b6278f15844f02d6319de7904b3258d69c10c6bbdf5624b5c5663b80129a649
7
+ data.tar.gz: 3a30a2c84707c1d4442606eb9eee71aabee5bdeb69a3cf8418e95d4123163351e4ed6b4014c009f89c6b8dbcb01db70616cab8771f032a1b748216fa9e7dd3eb
data/CHANGELOG.md CHANGED
@@ -1,12 +1,22 @@
1
+ ## [[0.23.10](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.9...v0.23.10)] - 2026-01-10
2
+
3
+ - Change supported llama.cpp version to b7690.
4
+ - Add `llama_model_n_embd_out` module function to `LlamaCpp`.
5
+ - Add `use_direct_io` accessor to `LlamaModelParams`.
6
+ - Add constant values for `enum llama_params_fit_status` to `LlamaCpp`.
7
+ - `LLAMA_PARAMS_FIT_STATUS_SUCCESS`
8
+ - `LLAMA_PARAMS_FIT_STATUS_FAILURE`
9
+ - `LLAMA_PARAMS_FIT_STATUS_ERROR`
10
+
1
11
  ## [[0.23.9](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.8...v0.23.9)] - 2025-12-20
2
12
 
3
- - Change supported llama.cpp version to b7470
13
+ - Change supported llama.cpp version to b7470.
4
14
  - Add `no_alloc` accessor to `LlamaModelParams`.
5
15
  - Add `llama_max_tensor_buft_overrides` module function to `LlamaCpp`.
6
16
 
7
17
  ## [[0.23.8](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.7...v0.23.8)] - 2025-11-30
8
18
 
9
- - Change supported llama.cpp version to b7180
19
+ - Change supported llama.cpp version to b7180.
10
20
  - Add `llama_model_meta_key_str` module function to `LlamaCpp`.
11
21
  - Add constant values for `enum llama_model_meta_key` to `LlamaCpp`.
12
22
  - `LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE`
@@ -21,7 +31,7 @@
21
31
  - `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT`
22
32
  - `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU`
23
33
  - `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA`
24
- - Add `llama_model_meta_count` module function to `LlamaCpp`
34
+ - Add `llama_model_meta_count` module function to `LlamaCpp`.
25
35
 
26
36
  ## [[0.23.7](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.6...v0.23.7)] - 2025-11-22
27
37
 
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2023-2025 Atsushi Tatsuma
3
+ Copyright (c) 2023-2026 Atsushi Tatsuma
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -507,6 +507,17 @@ static VALUE llama_model_params_set_use_mmap(VALUE self, VALUE use_mmap) {
507
507
  return use_mmap;
508
508
  }
509
509
 
510
+ static VALUE llama_model_params_get_use_direct_io(VALUE self) {
511
+ struct llama_model_params* data = get_llama_model_params(self);
512
+ return data->use_direct_io ? Qtrue : Qfalse;
513
+ }
514
+
515
+ static VALUE llama_model_params_set_use_direct_io(VALUE self, VALUE use_direct_io) {
516
+ struct llama_model_params* data = get_llama_model_params(self);
517
+ data->use_direct_io = RTEST(use_direct_io) ? true : false;
518
+ return use_direct_io;
519
+ }
520
+
510
521
  static VALUE llama_model_params_get_use_mlock(VALUE self) {
511
522
  struct llama_model_params* data = get_llama_model_params(self);
512
523
  return data->use_mlock ? Qtrue : Qfalse;
@@ -1590,6 +1601,20 @@ static VALUE rb_llama_model_n_embd_inp(VALUE self, VALUE model) {
1590
1601
  return INT2NUM(llama_model_n_embd_inp(model_wrapper->model));
1591
1602
  }
1592
1603
 
1604
+ /**
1605
+ * @overload llama_model_n_embd_out(model)
1606
+ * @param [LlamaModel] model
1607
+ * @return [Integer]
1608
+ */
1609
+ static VALUE rb_llama_model_n_embd_out(VALUE self, VALUE model) {
1610
+ if (!rb_obj_is_kind_of(model, rb_cLlamaModel)) {
1611
+ rb_raise(rb_eArgError, "model must be a LlamaModel");
1612
+ return Qnil;
1613
+ }
1614
+ llama_model_wrapper* model_wrapper = get_llama_model_wrapper(model);
1615
+ return INT2NUM(llama_model_n_embd_out(model_wrapper->model));
1616
+ }
1617
+
1593
1618
  /**
1594
1619
  * @overload llama_model_n_layer(model)
1595
1620
  * @param [LlamaModel] model
@@ -4388,6 +4413,17 @@ void Init_llama_cpp(void) {
4388
4413
  * @return [Boolean]
4389
4414
  */
4390
4415
  rb_define_method(rb_cLlamaModelParams, "use_mmap=", RUBY_METHOD_FUNC(llama_model_params_set_use_mmap), 1);
4416
+ /**
4417
+ * Document-method: use_direct_io
4418
+ * @return [Boolean]
4419
+ */
4420
+ rb_define_method(rb_cLlamaModelParams, "use_direct_io", RUBY_METHOD_FUNC(llama_model_params_get_use_direct_io), 0);
4421
+ /**
4422
+ * Document-method: use_direct_io=
4423
+ * @param [Boolean] use_direct_io
4424
+ * @return [Boolean]
4425
+ */
4426
+ rb_define_method(rb_cLlamaModelParams, "use_direct_io=", RUBY_METHOD_FUNC(llama_model_params_set_use_direct_io), 1);
4391
4427
  /**
4392
4428
  * Document-method: use_mlock
4393
4429
  * @return [Boolean]
@@ -4444,6 +4480,8 @@ void Init_llama_cpp(void) {
4444
4480
  */
4445
4481
  rb_define_method(rb_cLlamaModelParams, "no_alloc=", RUBY_METHOD_FUNC(llama_model_params_set_no_alloc), 1);
4446
4482
 
4483
+ /* TODO: struct llama_sampler_seq_config */
4484
+
4447
4485
  /**
4448
4486
  * Document-class: LlamaCpp::LlamaContextParams
4449
4487
  * "struct llama_context_params" wrapper class
@@ -4732,6 +4770,10 @@ void Init_llama_cpp(void) {
4732
4770
  * @return [Boolean]
4733
4771
  */
4734
4772
  rb_define_method(rb_cLlamaContextParams, "kv_unified", RUBY_METHOD_FUNC(llama_context_params_get_kv_unified), 0);
4773
+
4774
+ /* TODO: struct llama_sampler_seq_config * samplers */
4775
+ /* TODO: size_t n_samplers */
4776
+
4735
4777
  /**
4736
4778
  * Document-method: kv_unified=
4737
4779
  * @param [Boolean] kv_unified
@@ -4940,6 +4982,12 @@ void Init_llama_cpp(void) {
4940
4982
  /* llama_free */
4941
4983
  rb_define_module_function(rb_mLlamaCpp, "llama_free", rb_llama_free, 1);
4942
4984
 
4985
+ /* llama_params_fit_status */
4986
+ /* Document-const: LlamaCpp::LLAMA_PARAMS_FIT_STATUS_SUCCESS */
4987
+ rb_define_const(rb_mLlamaCpp, "LLAMA_PARAMS_FIT_STATUS_SUCCESS", INT2NUM(LLAMA_PARAMS_FIT_STATUS_SUCCESS));
4988
+ rb_define_const(rb_mLlamaCpp, "LLAMA_PARAMS_FIT_STATUS_FAILURE", INT2NUM(LLAMA_PARAMS_FIT_STATUS_FAILURE));
4989
+ rb_define_const(rb_mLlamaCpp, "LLAMA_PARAMS_FIT_STATUS_ERROR", INT2NUM(LLAMA_PARAMS_FIT_STATUS_ERROR));
4990
+
4943
4991
  /* TODO: llama_params_fit */
4944
4992
 
4945
4993
  /* llama_time_us */
@@ -5005,6 +5053,9 @@ void Init_llama_cpp(void) {
5005
5053
  /* llama_model_n_embd_inp */
5006
5054
  rb_define_module_function(rb_mLlamaCpp, "llama_model_n_embd_inp", rb_llama_model_n_embd_inp, 1);
5007
5055
 
5056
+ /* llama_model_n_embd_out */
5057
+ rb_define_module_function(rb_mLlamaCpp, "llama_model_n_embd_out", rb_llama_model_n_embd_out, 1);
5058
+
5008
5059
  /* llama_model_n_layer */
5009
5060
  rb_define_module_function(rb_mLlamaCpp, "llama_model_n_layer", rb_llama_model_n_layer, 1);
5010
5061
 
@@ -5200,6 +5251,14 @@ void Init_llama_cpp(void) {
5200
5251
  /* TODO: llama_get_embeddings_ith */
5201
5252
  /* TODO: llama_get_embeddings_seq */
5202
5253
 
5254
+ /* TODO: llama_get_sampled_token_ith */
5255
+ /* TODO: llama_get_sampled_probs_ith */
5256
+ /* TODO: llama_get_sampled_probs_count_ith */
5257
+ /* TODO: llama_get_sampled_logits_ith */
5258
+ /* TODO: llama_get_sampled_logits_count_ith */
5259
+ /* TODO: llama_get_sampled_candidates_ith */
5260
+ /* TODO: llama_get_sampled_candidates_count_ith */
5261
+
5203
5262
  /* llama_vocab_get_text */
5204
5263
  rb_define_module_function(rb_mLlamaCpp, "llama_vocab_get_text", rb_llama_vocab_get_text, 2);
5205
5264
 
@@ -5275,6 +5334,9 @@ void Init_llama_cpp(void) {
5275
5334
  /* TODO: llama_chat_apply_template */
5276
5335
  /* TODO: llama_chat_builtin_templates */
5277
5336
 
5337
+ /* TODO: llama_sampler_context_t */
5338
+ /* TODO: struct llama_sampler_data */
5339
+
5278
5340
  /* TODO: struct llama_sampler_i */
5279
5341
 
5280
5342
  /**
@@ -5284,6 +5346,10 @@ void Init_llama_cpp(void) {
5284
5346
  rb_cLlamaSampler = rb_define_class_under(rb_mLlamaCpp, "LlamaSampler", rb_cObject);
5285
5347
  rb_define_alloc_func(rb_cLlamaSampler, llama_sampler_alloc);
5286
5348
 
5349
+ /* TODO: llama_set_sampler */
5350
+
5351
+ /* TODO: llama_sampler_init */
5352
+
5287
5353
  /* llama_sampler_name */
5288
5354
  rb_define_module_function(rb_mLlamaCpp, "llama_sampler_name", rb_llama_sampler_name, 1);
5289
5355
 
@@ -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.9'
6
+ VERSION = '0.23.10'
7
7
 
8
8
  # The supported version of llama.cpp.
9
- LLAMA_CPP_VERSION = 'b7470'
9
+ LLAMA_CPP_VERSION = 'b7690'
10
10
  end
data/lib/llama_cpp.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'llama_cpp/version'
4
- # On distributions like Rocky Linux, native extensions are installed in a separate
4
+ # On RHEL-based linux distributions, native extensions are installed in a separate
5
5
  # directory from Ruby code, so use require to load them.
6
6
  require 'llama_cpp/llama_cpp'
7
7
 
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.9
4
+ version: 0.23.10
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.9/
36
+ documentation_uri: https://gemdocs.org/gems/llama_cpp/0.23.10/
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: 3.6.9
52
+ rubygems_version: 4.0.3
53
53
  specification_version: 4
54
54
  summary: Ruby bindings for the llama.cpp.
55
55
  test_files: []