llama_cpp 0.19.0 → 0.19.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 +4 -4
- data/CHANGELOG.md +13 -0
- data/ext/llama_cpp/llama_cpp.c +81 -0
- data/lib/llama_cpp/version.rb +2 -2
- 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: b9d8c3d491c1da2a69c57d881b9a712078868e9d11f9fdbda3cc9510a4d19c77
|
4
|
+
data.tar.gz: 4e4db26e6f428f9d9eac6ba2097a4453baa61515eff0249a12a1f57b51d89eb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfa8562de2134396f10e8b085c4935a58bdfbc37948d29e668592788739fcdbef565bc14faed2e3d7580df2d99592b20c36964fad0b66c33e707efab13477d6e
|
7
|
+
data.tar.gz: ee7d052d9daa1acaf3ae7ecc9b9e87df30d4743781ca145553c32d62b6e7b849b85d50644da8b8e10829b9396f4389989f9252319f8abb272ed102170bbdf39e
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
|
2
|
+
## [[0.19.2](https://github.com/yoshoku/llama_cpp.rb/compare/v0.19.1...v0.19.2)] - 2025-04-05
|
3
|
+
|
4
|
+
- Change supported llama.cpp version to b5050
|
5
|
+
- Add `LLAMA_VOCAB_PRE_TYPE_TRILLION` constant.
|
6
|
+
- Add `LLAMA_VOCAB_PRE_TYPE_BAILINGMOE` constant.
|
7
|
+
- Add `LlamaModelTensorBuftOverride` class.
|
8
|
+
|
9
|
+
## [[0.19.1](https://github.com/yoshoku/llama_cpp.rb/compare/v0.19.0...v0.19.1)] - 2025-03-29
|
10
|
+
|
11
|
+
- Change supported llama.cpp version to b4980
|
12
|
+
- Add `LLAMA_VOCAB_PRE_TYPE_SUPERBPE` constant.
|
13
|
+
- Add `llama_set_warmup` module function.
|
14
|
+
|
2
15
|
## [[0.19.0](https://github.com/yoshoku/llama_cpp.rb/compare/v0.18.2...v0.19.0)] - 2025-03-16
|
3
16
|
|
4
17
|
**Breaking Changes**
|
data/ext/llama_cpp/llama_cpp.c
CHANGED
@@ -4,6 +4,7 @@ VALUE rb_mLlamaCpp;
|
|
4
4
|
VALUE rb_cLlamaVocab;
|
5
5
|
VALUE rb_cLlamaModel;
|
6
6
|
VALUE rb_cLlamaContext;
|
7
|
+
VALUE rb_cLlamaModelTensorBuftOverride;
|
7
8
|
VALUE rb_cLlamaModelParams;
|
8
9
|
VALUE rb_cLlamaContextParams;
|
9
10
|
VALUE rb_cLlamaModelQuantizeParams;
|
@@ -361,6 +362,49 @@ static VALUE llama_model_kv_override_get_val_str(VALUE self) {
|
|
361
362
|
return rb_utf8_str_new_cstr(data->val_str);
|
362
363
|
}
|
363
364
|
|
365
|
+
/* struct llama_model_tensor_buft_override */
|
366
|
+
static void llama_model_tensor_buft_override_free(void *ptr) {
|
367
|
+
if (ptr) {
|
368
|
+
ruby_xfree(ptr);
|
369
|
+
}
|
370
|
+
}
|
371
|
+
|
372
|
+
static size_t llama_model_tensor_buft_override_size(const void *ptr) {
|
373
|
+
return sizeof(*((struct llama_model_tensor_buft_override*)ptr));
|
374
|
+
}
|
375
|
+
|
376
|
+
static rb_data_type_t llama_model_tensor_buft_override_type = {
|
377
|
+
"LlamaModelTensorBuftOverride",
|
378
|
+
{ NULL,
|
379
|
+
llama_model_tensor_buft_override_free,
|
380
|
+
llama_model_tensor_buft_override_size },
|
381
|
+
NULL,
|
382
|
+
NULL,
|
383
|
+
RUBY_TYPED_FREE_IMMEDIATELY
|
384
|
+
};
|
385
|
+
|
386
|
+
static VALUE llama_model_tensor_buft_override_alloc(VALUE self) {
|
387
|
+
struct llama_model_tensor_buft_override* data = (struct llama_model_tensor_buft_override*)ruby_xmalloc(sizeof(struct llama_model_tensor_buft_override));
|
388
|
+
return TypedData_Wrap_Struct(self, &llama_model_tensor_buft_override_type, data);
|
389
|
+
}
|
390
|
+
|
391
|
+
static struct llama_model_tensor_buft_override* get_llama_model_tensor_buft_override(VALUE self) {
|
392
|
+
struct llama_model_tensor_buft_override* data = NULL;
|
393
|
+
TypedData_Get_Struct(self, struct llama_model_tensor_buft_override, &llama_model_tensor_buft_override_type, data);
|
394
|
+
return data;
|
395
|
+
}
|
396
|
+
|
397
|
+
static VALUE llama_model_tensor_buft_override_get_pattern(VALUE self) {
|
398
|
+
struct llama_model_tensor_buft_override* data = get_llama_model_tensor_buft_override(self);
|
399
|
+
const char* pattern = data->pattern;
|
400
|
+
return rb_utf8_str_new_cstr(pattern);
|
401
|
+
}
|
402
|
+
|
403
|
+
// static VALUE llama_model_tensor_buft_override_get_buft(VALUE self) {
|
404
|
+
// struct llama_model_tensor_buft_override* data = get_llama_model_tensor_buft_override(self);
|
405
|
+
// return TypedData_Wrap_Struct(rb_cGgmlBackendBufferTypeT, &llama_model_wrapper_data_type, data->buft);
|
406
|
+
// }
|
407
|
+
|
364
408
|
/* struct llama_model_params */
|
365
409
|
static void llama_model_params_free(void *ptr) {
|
366
410
|
if (ptr) {
|
@@ -2518,6 +2562,24 @@ static VALUE rb_llama_set_causal_attn(VALUE self, VALUE ctx, VALUE causal_attn)
|
|
2518
2562
|
return Qnil;
|
2519
2563
|
}
|
2520
2564
|
|
2565
|
+
/**
|
2566
|
+
* @overload llama_set_warmup(context, warmup)
|
2567
|
+
* @param [LlamaContext] context
|
2568
|
+
* @param [Boolean] warmup
|
2569
|
+
* @return [NilClass]
|
2570
|
+
*/
|
2571
|
+
static VALUE rb_llama_set_warmup(VALUE self, VALUE ctx, VALUE warmup) {
|
2572
|
+
if (!rb_obj_is_kind_of(ctx, rb_cLlamaContext)) {
|
2573
|
+
rb_raise(rb_eArgError, "ctx must be a LlamaContext");
|
2574
|
+
return Qnil;
|
2575
|
+
}
|
2576
|
+
llama_context_wrapper* context_wrapper = get_llama_context_wrapper(ctx);
|
2577
|
+
const bool warmup_ = RTEST(warmup) ? true : false;
|
2578
|
+
llama_set_warmup(context_wrapper->context, warmup_);
|
2579
|
+
RB_GC_GUARD(ctx);
|
2580
|
+
return Qnil;
|
2581
|
+
}
|
2582
|
+
|
2521
2583
|
/**
|
2522
2584
|
* @overload llama_synchronize(context)
|
2523
2585
|
* @param [LlamaContext] context
|
@@ -3965,6 +4027,9 @@ void Init_llama_cpp(void) {
|
|
3965
4027
|
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_MINERVA", INT2NUM(LLAMA_VOCAB_PRE_TYPE_MINERVA));
|
3966
4028
|
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_DEEPSEEK3_LLM", INT2NUM(LLAMA_VOCAB_PRE_TYPE_DEEPSEEK3_LLM));
|
3967
4029
|
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_GPT4O", INT2NUM(LLAMA_VOCAB_PRE_TYPE_GPT4O));
|
4030
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_SUPERBPE", INT2NUM(LLAMA_VOCAB_PRE_TYPE_SUPERBPE));
|
4031
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_TRILLION", INT2NUM(LLAMA_VOCAB_PRE_TYPE_TRILLION));
|
4032
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_BAILINGMOE", INT2NUM(LLAMA_VOCAB_PRE_TYPE_BAILINGMOE));
|
3968
4033
|
/* llama_rope_type */
|
3969
4034
|
/* Document-const: LlamaCpp::LLAMA_ROPE_TYPE_NONE */
|
3970
4035
|
rb_define_const(rb_mLlamaCpp, "LLAMA_ROPE_TYPE_NONE", INT2NUM(LLAMA_ROPE_TYPE_NONE));
|
@@ -4167,6 +4232,18 @@ void Init_llama_cpp(void) {
|
|
4167
4232
|
*/
|
4168
4233
|
rb_define_method(rb_cLlamaModelKvOverride, "val_str", RUBY_METHOD_FUNC(llama_model_kv_override_get_val_str), 0);
|
4169
4234
|
|
4235
|
+
/**
|
4236
|
+
* Document-class: LlamaCpp::LlamaModelTensorBuftOverride
|
4237
|
+
* "struct llama_model_tensor_buf_override" wrapper class
|
4238
|
+
*/
|
4239
|
+
rb_cLlamaModelTensorBuftOverride = rb_define_class_under(rb_mLlamaCpp, "LlamaModelTensorBuftOverride", rb_cObject);
|
4240
|
+
rb_define_alloc_func(rb_cLlamaModelTensorBuftOverride, llama_model_tensor_buft_override_alloc);
|
4241
|
+
/**
|
4242
|
+
* Document-method: pattern
|
4243
|
+
* @return [String]
|
4244
|
+
*/
|
4245
|
+
rb_define_method(rb_cLlamaModelTensorBuftOverride, "pattern", RUBY_METHOD_FUNC(llama_model_tensor_buft_override_get_pattern), 0);
|
4246
|
+
/* TODO: ggml_backend_buffer_type_t buff */
|
4170
4247
|
|
4171
4248
|
/**
|
4172
4249
|
* Document-class: LlamaCpp::LlamaModelParams
|
@@ -4175,6 +4252,7 @@ void Init_llama_cpp(void) {
|
|
4175
4252
|
rb_cLlamaModelParams = rb_define_class_under(rb_mLlamaCpp, "LlamaModelParams", rb_cObject);
|
4176
4253
|
rb_define_alloc_func(rb_cLlamaModelParams, llama_model_params_alloc);
|
4177
4254
|
/* TODO: ggml_backend_dev_t* devices */
|
4255
|
+
/* TODO: const struct llama_model_tensor_buft_override * tensor_buft_overrides */
|
4178
4256
|
/**
|
4179
4257
|
* Document-method: n_gpu_layers
|
4180
4258
|
* @return [Integer]
|
@@ -4995,6 +5073,9 @@ void Init_llama_cpp(void) {
|
|
4995
5073
|
/* llama_set_causal_attn */
|
4996
5074
|
rb_define_module_function(rb_mLlamaCpp, "llama_set_causal_attn", rb_llama_set_causal_attn, 2);
|
4997
5075
|
|
5076
|
+
/* llama_set_warmup */
|
5077
|
+
rb_define_module_function(rb_mLlamaCpp, "llama_set_warmup", rb_llama_set_warmup, 2);
|
5078
|
+
|
4998
5079
|
/* llama_set_abort_callback */
|
4999
5080
|
|
5000
5081
|
/* llama_synchronize */
|
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.19.
|
6
|
+
VERSION = '0.19.2'
|
7
7
|
|
8
8
|
# The supported version of llama.cpp.
|
9
|
-
LLAMA_CPP_VERSION = '
|
9
|
+
LLAMA_CPP_VERSION = 'b5050'
|
10
10
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: llama_cpp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.19.
|
4
|
+
version: 0.19.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yoshoku
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-04-05 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: llama_cpp.rb provides Ruby bindings for the llama.cpp.
|
13
13
|
email:
|
@@ -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.
|
52
|
+
rubygems_version: 3.6.6
|
53
53
|
specification_version: 4
|
54
54
|
summary: Ruby bindings for the llama.cpp.
|
55
55
|
test_files: []
|