llama_cpp 0.19.1 → 0.19.3
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 +12 -1
- data/ext/llama_cpp/llama_cpp.c +60 -0
- data/lib/llama_cpp/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f3cfec863591d3bd24156c27612d65dc565194c9272e1f69bc79ad77fe1b2a0
|
4
|
+
data.tar.gz: 29426a27e23f21ec63ebc4db0419bf9fe96e5e063ad0e42285b361e4f9ab5d50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d52e67395a3cbde1108968837166a295f3a9a6d033ef230e1c9223f0f1dd92db4733b4b8bae37ca8f9ee648591dc082f20ceae234e86271cecb5f29e34507e14
|
7
|
+
data.tar.gz: aed2fd04608461b74c26d44c1f26591aada8699e10d4e23366cca28b798be227013f47aa2a2dcff3ccf2900f5f04fb7ed25ae6853f921d26b17b938713e3afd1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
|
+
## [[0.19.2](https://github.com/yoshoku/llama_cpp.rb/compare/v0.19.2...v0.19.3)] - 2025-04-12
|
1
2
|
|
2
|
-
|
3
|
+
- Change supported llama.cpp version to b5120
|
4
|
+
- Add `LLAMA_VOCAB_PRE_TYPE_LLAMA4` constant.
|
5
|
+
|
6
|
+
## [[0.19.2](https://github.com/yoshoku/llama_cpp.rb/compare/v0.19.1...v0.19.2)] - 2025-04-05
|
7
|
+
|
8
|
+
- Change supported llama.cpp version to b5050
|
9
|
+
- Add `LLAMA_VOCAB_PRE_TYPE_TRILLION` constant.
|
10
|
+
- Add `LLAMA_VOCAB_PRE_TYPE_BAILINGMOE` constant.
|
11
|
+
- Add `LlamaModelTensorBuftOverride` class.
|
12
|
+
|
13
|
+
## [[0.19.1](https://github.com/yoshoku/llama_cpp.rb/compare/v0.19.0...v0.19.1)] - 2025-03-29
|
3
14
|
|
4
15
|
- Change supported llama.cpp version to b4980
|
5
16
|
- Add `LLAMA_VOCAB_PRE_TYPE_SUPERBPE` constant.
|
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) {
|
@@ -3984,6 +4028,9 @@ void Init_llama_cpp(void) {
|
|
3984
4028
|
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_DEEPSEEK3_LLM", INT2NUM(LLAMA_VOCAB_PRE_TYPE_DEEPSEEK3_LLM));
|
3985
4029
|
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_GPT4O", INT2NUM(LLAMA_VOCAB_PRE_TYPE_GPT4O));
|
3986
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));
|
4033
|
+
rb_define_const(rb_mLlamaCpp, "LLAMA_VOCAB_PRE_TYPE_LLAMA4", INT2NUM(LLAMA_VOCAB_PRE_TYPE_LLAMA4));
|
3987
4034
|
/* llama_rope_type */
|
3988
4035
|
/* Document-const: LlamaCpp::LLAMA_ROPE_TYPE_NONE */
|
3989
4036
|
rb_define_const(rb_mLlamaCpp, "LLAMA_ROPE_TYPE_NONE", INT2NUM(LLAMA_ROPE_TYPE_NONE));
|
@@ -4186,6 +4233,18 @@ void Init_llama_cpp(void) {
|
|
4186
4233
|
*/
|
4187
4234
|
rb_define_method(rb_cLlamaModelKvOverride, "val_str", RUBY_METHOD_FUNC(llama_model_kv_override_get_val_str), 0);
|
4188
4235
|
|
4236
|
+
/**
|
4237
|
+
* Document-class: LlamaCpp::LlamaModelTensorBuftOverride
|
4238
|
+
* "struct llama_model_tensor_buf_override" wrapper class
|
4239
|
+
*/
|
4240
|
+
rb_cLlamaModelTensorBuftOverride = rb_define_class_under(rb_mLlamaCpp, "LlamaModelTensorBuftOverride", rb_cObject);
|
4241
|
+
rb_define_alloc_func(rb_cLlamaModelTensorBuftOverride, llama_model_tensor_buft_override_alloc);
|
4242
|
+
/**
|
4243
|
+
* Document-method: pattern
|
4244
|
+
* @return [String]
|
4245
|
+
*/
|
4246
|
+
rb_define_method(rb_cLlamaModelTensorBuftOverride, "pattern", RUBY_METHOD_FUNC(llama_model_tensor_buft_override_get_pattern), 0);
|
4247
|
+
/* TODO: ggml_backend_buffer_type_t buff */
|
4189
4248
|
|
4190
4249
|
/**
|
4191
4250
|
* Document-class: LlamaCpp::LlamaModelParams
|
@@ -4194,6 +4253,7 @@ void Init_llama_cpp(void) {
|
|
4194
4253
|
rb_cLlamaModelParams = rb_define_class_under(rb_mLlamaCpp, "LlamaModelParams", rb_cObject);
|
4195
4254
|
rb_define_alloc_func(rb_cLlamaModelParams, llama_model_params_alloc);
|
4196
4255
|
/* TODO: ggml_backend_dev_t* devices */
|
4256
|
+
/* TODO: const struct llama_model_tensor_buft_override * tensor_buft_overrides */
|
4197
4257
|
/**
|
4198
4258
|
* Document-method: n_gpu_layers
|
4199
4259
|
* @return [Integer]
|
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.3'
|
7
7
|
|
8
8
|
# The supported version of llama.cpp.
|
9
|
-
LLAMA_CPP_VERSION = '
|
9
|
+
LLAMA_CPP_VERSION = 'b5120'
|
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.3
|
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-12 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: llama_cpp.rb provides Ruby bindings for the llama.cpp.
|
13
13
|
email:
|