llama_cpp 0.3.5 → 0.3.7

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.
@@ -86,7 +86,20 @@ extern "C" {
86
86
 
87
87
  typedef void (*llama_progress_callback)(float progress, void *ctx);
88
88
 
89
- struct llama_context_params {
89
+ enum llama_log_level {
90
+ LLAMA_LOG_LEVEL_ERROR = 2,
91
+ LLAMA_LOG_LEVEL_WARN = 3,
92
+ LLAMA_LOG_LEVEL_INFO = 4
93
+ };
94
+
95
+ // Signature for logging events
96
+ // Note that text includes the new line character at the end for most events.
97
+ // If your logging mechanism cannot handle that, check if the last character is '\n' and strip it
98
+ // if it exists.
99
+ // It might not exist for progress report where '.' is output repeatedly.
100
+ typedef void (*llama_log_callback)(llama_log_level level, const char * text, void * user_data);
101
+
102
+ struct llama_context_params {
90
103
  uint32_t seed; // RNG seed, -1 for random
91
104
  int32_t n_ctx; // text context
92
105
  int32_t n_batch; // prompt processing batch size
@@ -108,6 +121,7 @@ extern "C" {
108
121
 
109
122
  // Keep the booleans together to avoid misalignment during copy-by-value.
110
123
  bool low_vram; // if true, reduce VRAM usage at the cost of performance
124
+ bool mul_mat_q; // if true, use experimental mul_mat_q kernels
111
125
  bool f16_kv; // use fp16 for KV cache
112
126
  bool logits_all; // the llama_eval() call computes all logits, not just the last one
113
127
  bool vocab_only; // only load the vocabulary, no weights
@@ -194,6 +208,10 @@ extern "C" {
194
208
  int32_t n_eval;
195
209
  };
196
210
 
211
+ // Set callback for all future logging events.
212
+ // If this is not called, or NULL is supplied, everything is output on stderr.
213
+ LLAMA_API void llama_log_set(llama_log_callback log_callback, void * user_data);
214
+
197
215
  LLAMA_API int llama_max_devices();
198
216
 
199
217
  LLAMA_API struct llama_context_params llama_context_default_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.3.5'
6
+ VERSION = '0.3.7'
7
7
 
8
8
  # The version of llama.cpp bundled with llama_cpp.rb.
9
- LLAMA_CPP_VERSION = 'master-1a94186'
9
+ LLAMA_CPP_VERSION = 'master-9ca4abe'
10
10
  end
data/sig/llama_cpp.rbs CHANGED
@@ -163,6 +163,8 @@ module LLaMACpp
163
163
  def rope_freq_scale: () -> Float
164
164
  def low_vram: () -> bool
165
165
  def low_vram=: (bool) -> bool
166
+ def mul_mat_q: () -> bool
167
+ def mul_mat_q=: (bool) -> bool
166
168
  def seed: () -> Integer
167
169
  def seed=: (Integer) -> Integer
168
170
  def use_mlock: () -> bool
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llama_cpp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - yoshoku
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-29 00:00:00.000000000 Z
11
+ date: 2023-08-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: llama_cpp.rb provides Ruby bindings for the llama.cpp.
14
14
  email:
@@ -30,6 +30,8 @@ files:
30
30
  - ext/llama_cpp/llama_cpp.cpp
31
31
  - ext/llama_cpp/llama_cpp.h
32
32
  - ext/llama_cpp/src/LICENSE
33
+ - ext/llama_cpp/src/ggml-alloc.c
34
+ - ext/llama_cpp/src/ggml-alloc.h
33
35
  - ext/llama_cpp/src/ggml-cuda.cu
34
36
  - ext/llama_cpp/src/ggml-cuda.h
35
37
  - ext/llama_cpp/src/ggml-metal.h