llama_cpp 0.23.8 → 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 +4 -4
- data/CHANGELOG.md +18 -2
- data/LICENSE.txt +1 -1
- data/ext/llama_cpp/llama_cpp.c +102 -0
- data/lib/llama_cpp/version.rb +2 -2
- data/lib/llama_cpp.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 724681cca1a22e307f705fa8cc489b448b6dc5dd2b49b766759f95717415c286
|
|
4
|
+
data.tar.gz: 430e80c1bf7d82573fc315f3a5fb62fa8b8d092bd96a052a95c90c4c0a73489d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9ddd137a12b7edac9ca70518c206e42e5d8fa6e3141fae7cee014b27e7de19640b6278f15844f02d6319de7904b3258d69c10c6bbdf5624b5c5663b80129a649
|
|
7
|
+
data.tar.gz: 3a30a2c84707c1d4442606eb9eee71aabee5bdeb69a3cf8418e95d4123163351e4ed6b4014c009f89c6b8dbcb01db70616cab8771f032a1b748216fa9e7dd3eb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +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
|
+
|
|
11
|
+
## [[0.23.9](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.8...v0.23.9)] - 2025-12-20
|
|
12
|
+
|
|
13
|
+
- Change supported llama.cpp version to b7470.
|
|
14
|
+
- Add `no_alloc` accessor to `LlamaModelParams`.
|
|
15
|
+
- Add `llama_max_tensor_buft_overrides` module function to `LlamaCpp`.
|
|
16
|
+
|
|
1
17
|
## [[0.23.8](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.7...v0.23.8)] - 2025-11-30
|
|
2
18
|
|
|
3
|
-
- Change supported llama.cpp version to b7180
|
|
19
|
+
- Change supported llama.cpp version to b7180.
|
|
4
20
|
- Add `llama_model_meta_key_str` module function to `LlamaCpp`.
|
|
5
21
|
- Add constant values for `enum llama_model_meta_key` to `LlamaCpp`.
|
|
6
22
|
- `LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE`
|
|
@@ -15,7 +31,7 @@
|
|
|
15
31
|
- `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT`
|
|
16
32
|
- `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU`
|
|
17
33
|
- `LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA`
|
|
18
|
-
- Add `llama_model_meta_count` module function to `LlamaCpp
|
|
34
|
+
- Add `llama_model_meta_count` module function to `LlamaCpp`.
|
|
19
35
|
|
|
20
36
|
## [[0.23.7](https://github.com/yoshoku/llama_cpp.rb/compare/v0.23.6...v0.23.7)] - 2025-11-22
|
|
21
37
|
|
data/LICENSE.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2023-
|
|
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
|
data/ext/llama_cpp/llama_cpp.c
CHANGED
|
@@ -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;
|
|
@@ -551,6 +562,17 @@ static VALUE llama_model_params_set_no_host(VALUE self, VALUE no_host) {
|
|
|
551
562
|
return no_host;
|
|
552
563
|
}
|
|
553
564
|
|
|
565
|
+
static VALUE llama_model_params_get_no_alloc(VALUE self) {
|
|
566
|
+
struct llama_model_params* data = get_llama_model_params(self);
|
|
567
|
+
return data->no_alloc ? Qtrue : Qfalse;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
static VALUE llama_model_params_set_no_alloc(VALUE self, VALUE no_alloc) {
|
|
571
|
+
struct llama_model_params* data = get_llama_model_params(self);
|
|
572
|
+
data->no_alloc = RTEST(no_alloc) ? true : false;
|
|
573
|
+
return no_alloc;
|
|
574
|
+
}
|
|
575
|
+
|
|
554
576
|
/* struct llama_context_params */
|
|
555
577
|
static void llama_context_params_free(void *ptr) {
|
|
556
578
|
if (ptr) {
|
|
@@ -1363,6 +1385,14 @@ static VALUE rb_llama_max_parallel_sequences(VALUE self) {
|
|
|
1363
1385
|
return SIZET2NUM(llama_max_parallel_sequences());
|
|
1364
1386
|
}
|
|
1365
1387
|
|
|
1388
|
+
/**
|
|
1389
|
+
* @overload llama_max_tensor_buft_overrides
|
|
1390
|
+
* @return [Integer]
|
|
1391
|
+
*/
|
|
1392
|
+
static VALUE rb_llama_max_tensor_buft_overrides(VALUE self) {
|
|
1393
|
+
return SIZET2NUM(llama_max_tensor_buft_overrides());
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1366
1396
|
/**
|
|
1367
1397
|
* @overload llama_supports_mmap?
|
|
1368
1398
|
* @return [Boolean]
|
|
@@ -1571,6 +1601,20 @@ static VALUE rb_llama_model_n_embd_inp(VALUE self, VALUE model) {
|
|
|
1571
1601
|
return INT2NUM(llama_model_n_embd_inp(model_wrapper->model));
|
|
1572
1602
|
}
|
|
1573
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
|
+
|
|
1574
1618
|
/**
|
|
1575
1619
|
* @overload llama_model_n_layer(model)
|
|
1576
1620
|
* @param [LlamaModel] model
|
|
@@ -4369,6 +4413,17 @@ void Init_llama_cpp(void) {
|
|
|
4369
4413
|
* @return [Boolean]
|
|
4370
4414
|
*/
|
|
4371
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);
|
|
4372
4427
|
/**
|
|
4373
4428
|
* Document-method: use_mlock
|
|
4374
4429
|
* @return [Boolean]
|
|
@@ -4413,6 +4468,19 @@ void Init_llama_cpp(void) {
|
|
|
4413
4468
|
* @return [Boolean]
|
|
4414
4469
|
*/
|
|
4415
4470
|
rb_define_method(rb_cLlamaModelParams, "no_host=", RUBY_METHOD_FUNC(llama_model_params_set_no_host), 1);
|
|
4471
|
+
/**
|
|
4472
|
+
* Document-method: no_alloc
|
|
4473
|
+
* @return [Boolean]
|
|
4474
|
+
*/
|
|
4475
|
+
rb_define_method(rb_cLlamaModelParams, "no_alloc", RUBY_METHOD_FUNC(llama_model_params_get_no_alloc), 0);
|
|
4476
|
+
/**
|
|
4477
|
+
* Document-method: no_alloc=
|
|
4478
|
+
* @param [Boolean] no_alloc_
|
|
4479
|
+
* @return [Boolean]
|
|
4480
|
+
*/
|
|
4481
|
+
rb_define_method(rb_cLlamaModelParams, "no_alloc=", RUBY_METHOD_FUNC(llama_model_params_set_no_alloc), 1);
|
|
4482
|
+
|
|
4483
|
+
/* TODO: struct llama_sampler_seq_config */
|
|
4416
4484
|
|
|
4417
4485
|
/**
|
|
4418
4486
|
* Document-class: LlamaCpp::LlamaContextParams
|
|
@@ -4702,6 +4770,10 @@ void Init_llama_cpp(void) {
|
|
|
4702
4770
|
* @return [Boolean]
|
|
4703
4771
|
*/
|
|
4704
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
|
+
|
|
4705
4777
|
/**
|
|
4706
4778
|
* Document-method: kv_unified=
|
|
4707
4779
|
* @param [Boolean] kv_unified
|
|
@@ -4910,6 +4982,14 @@ void Init_llama_cpp(void) {
|
|
|
4910
4982
|
/* llama_free */
|
|
4911
4983
|
rb_define_module_function(rb_mLlamaCpp, "llama_free", rb_llama_free, 1);
|
|
4912
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
|
+
|
|
4991
|
+
/* TODO: llama_params_fit */
|
|
4992
|
+
|
|
4913
4993
|
/* llama_time_us */
|
|
4914
4994
|
rb_define_module_function(rb_mLlamaCpp, "llama_time_us", rb_llama_time_us, 0);
|
|
4915
4995
|
|
|
@@ -4919,6 +4999,9 @@ void Init_llama_cpp(void) {
|
|
|
4919
4999
|
/* llama_max_parallel_sequences */
|
|
4920
5000
|
rb_define_module_function(rb_mLlamaCpp, "llama_max_parallel_sequences", rb_llama_max_parallel_sequences, 0);
|
|
4921
5001
|
|
|
5002
|
+
/* llama_max_tensor_buft_overrides */
|
|
5003
|
+
rb_define_module_function(rb_mLlamaCpp, "llama_max_tensor_buft_overrides", rb_llama_max_tensor_buft_overrides, 0);
|
|
5004
|
+
|
|
4922
5005
|
/* llama_supports_mmap */
|
|
4923
5006
|
rb_define_module_function(rb_mLlamaCpp, "llama_supports_mmap?", rb_llama_supports_mmap, 0);
|
|
4924
5007
|
|
|
@@ -4970,6 +5053,9 @@ void Init_llama_cpp(void) {
|
|
|
4970
5053
|
/* llama_model_n_embd_inp */
|
|
4971
5054
|
rb_define_module_function(rb_mLlamaCpp, "llama_model_n_embd_inp", rb_llama_model_n_embd_inp, 1);
|
|
4972
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
|
+
|
|
4973
5059
|
/* llama_model_n_layer */
|
|
4974
5060
|
rb_define_module_function(rb_mLlamaCpp, "llama_model_n_layer", rb_llama_model_n_layer, 1);
|
|
4975
5061
|
|
|
@@ -5165,6 +5251,14 @@ void Init_llama_cpp(void) {
|
|
|
5165
5251
|
/* TODO: llama_get_embeddings_ith */
|
|
5166
5252
|
/* TODO: llama_get_embeddings_seq */
|
|
5167
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
|
+
|
|
5168
5262
|
/* llama_vocab_get_text */
|
|
5169
5263
|
rb_define_module_function(rb_mLlamaCpp, "llama_vocab_get_text", rb_llama_vocab_get_text, 2);
|
|
5170
5264
|
|
|
@@ -5240,6 +5334,9 @@ void Init_llama_cpp(void) {
|
|
|
5240
5334
|
/* TODO: llama_chat_apply_template */
|
|
5241
5335
|
/* TODO: llama_chat_builtin_templates */
|
|
5242
5336
|
|
|
5337
|
+
/* TODO: llama_sampler_context_t */
|
|
5338
|
+
/* TODO: struct llama_sampler_data */
|
|
5339
|
+
|
|
5243
5340
|
/* TODO: struct llama_sampler_i */
|
|
5244
5341
|
|
|
5245
5342
|
/**
|
|
@@ -5249,6 +5346,10 @@ void Init_llama_cpp(void) {
|
|
|
5249
5346
|
rb_cLlamaSampler = rb_define_class_under(rb_mLlamaCpp, "LlamaSampler", rb_cObject);
|
|
5250
5347
|
rb_define_alloc_func(rb_cLlamaSampler, llama_sampler_alloc);
|
|
5251
5348
|
|
|
5349
|
+
/* TODO: llama_set_sampler */
|
|
5350
|
+
|
|
5351
|
+
/* TODO: llama_sampler_init */
|
|
5352
|
+
|
|
5252
5353
|
/* llama_sampler_name */
|
|
5253
5354
|
rb_define_module_function(rb_mLlamaCpp, "llama_sampler_name", rb_llama_sampler_name, 1);
|
|
5254
5355
|
|
|
@@ -5346,6 +5447,7 @@ void Init_llama_cpp(void) {
|
|
|
5346
5447
|
/* llama_print_system_info */
|
|
5347
5448
|
rb_define_module_function(rb_mLlamaCpp, "llama_print_system_info", rb_llama_print_system_info, 0);
|
|
5348
5449
|
|
|
5450
|
+
/* TODO: llama_log_get */
|
|
5349
5451
|
/* TODO: llama_log_set */
|
|
5350
5452
|
|
|
5351
5453
|
/**
|
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.10'
|
|
7
7
|
|
|
8
8
|
# The supported version of llama.cpp.
|
|
9
|
-
LLAMA_CPP_VERSION = '
|
|
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
|
|
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.
|
|
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.
|
|
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:
|
|
52
|
+
rubygems_version: 4.0.3
|
|
53
53
|
specification_version: 4
|
|
54
54
|
summary: Ruby bindings for the llama.cpp.
|
|
55
55
|
test_files: []
|