elelem-llama 0.1.0 → 0.2.0

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: 3d4f1635754cf07f46e1804cd87ad793c5503ff939fbf8c3d2c3787a17a1a678
4
- data.tar.gz: 0b07837c1883abcb04c5b009b5b72f648b405e18919929550531af61835d0337
3
+ metadata.gz: d1dfce0c511fa8a88650bfd511bf7cc67eba7806f833ec2255493a668dce9fe7
4
+ data.tar.gz: 1e77d6e3e42f010b12fbd03f541ba0481f23534f0f6f7b4f38f137093f778302
5
5
  SHA512:
6
- metadata.gz: 41d9f8f1ef926e9787443cc0a435c34f282735b7fda99004f46ce0292d351159610e813f6fd9adc71e0af4d49f5b8a5b3b1a43227601699251c2ae3ed09532d9
7
- data.tar.gz: 460858607760ca00b9cf48fa51d0a171cd20084e696dddd9bb3fad59b45a030a0dfaabcc41642cf124aed03cb993cd12ed341e4c6704faa80802b9261316ae4d
6
+ metadata.gz: aa49aa930dbb9fc4953c709b72f0e5ec78bf8a397495e4f8af4343587afe5ebaec21fbd94fe659221ffda0db4f9db07de57e5e1097926b46bb5d186a1500b054
7
+ data.tar.gz: bb72382ac32714caf1b4ed1f66fccae3b2a64e361e49ad6a9e5e6e71b0b0eee5ca00990689b48cbcb450c0ab8c51178a3e88b592abb6f1377d1af498e3691f09
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Elelem
4
4
  module Llama
5
- VERSION = "0.1.0"
5
+ VERSION = "0.2.0"
6
6
  end
7
7
  end
data/lib/elelem/llama.rb CHANGED
@@ -7,29 +7,31 @@ require "elelem"
7
7
  require_relative "llama/version"
8
8
  require_relative "llama/client"
9
9
 
10
- Elelem::Providers.register(:llama) do
11
- gpu = %w[vulkan cuda metal].include?(Elelem::Llama::Client.backend)
10
+ Elelem.configure do |config|
11
+ config.provider(:llama) do
12
+ gpu = %w[vulkan cuda metal].include?(Elelem::Llama::Client.backend)
12
13
 
13
- default_model = -> {
14
- dir = File.expand_path("~/.agents/models")
15
- link = File.join(dir, "default.gguf")
16
- return link if File.symlink?(link) || File.exist?(link)
14
+ default_model = -> {
15
+ dir = File.expand_path("~/.agents/models")
16
+ link = File.join(dir, "default.gguf")
17
+ return link if File.symlink?(link) || File.exist?(link)
17
18
 
18
- models = Dir[File.join(dir, "*.gguf")].sort
19
- case models.length
20
- when 1 then models.first
21
- when 0 then raise "no .gguf model found in #{dir}. Set ELELEM_GGUF_MODEL=/path/to/model.gguf"
22
- else raise "multiple .gguf models found in #{dir}. Set ELELEM_GGUF_MODEL=/path/to/model.gguf or symlink #{link} to the one to use by default"
23
- end
24
- }
19
+ models = Dir[File.join(dir, "*.gguf")].sort
20
+ case models.length
21
+ when 1 then models.first
22
+ when 0 then raise "no .gguf model found in #{dir}. Set ELELEM_GGUF_MODEL=/path/to/model.gguf"
23
+ else raise "multiple .gguf models found in #{dir}. Set ELELEM_GGUF_MODEL=/path/to/model.gguf or symlink #{link} to the one to use by default"
24
+ end
25
+ }
25
26
 
26
- Elelem::Llama::Client.new(
27
- model: ENV.fetch("ELELEM_GGUF_MODEL") { default_model.call },
28
- n_ctx: 0,
29
- n_threads: 0,
30
- n_gpu_layers: gpu ? 999 : 0,
31
- max_tokens: Integer(ENV.fetch("ELELEM_GGUF_MAX_TOKENS", "0")),
32
- temp: Float(ENV.fetch("ELELEM_GGUF_TEMP", "0.7")),
33
- seed: Integer(ENV.fetch("ELELEM_GGUF_SEED", "-1"))
34
- )
27
+ Elelem::Llama::Client.new(
28
+ model: ENV.fetch("ELELEM_GGUF_MODEL") { default_model.call },
29
+ n_ctx: 0,
30
+ n_threads: 0,
31
+ n_gpu_layers: gpu ? 999 : 0,
32
+ max_tokens: Integer(ENV.fetch("ELELEM_GGUF_MAX_TOKENS", "0")),
33
+ temp: Float(ENV.fetch("ELELEM_GGUF_TEMP", "0.7")),
34
+ seed: Integer(ENV.fetch("ELELEM_GGUF_SEED", "-1"))
35
+ )
36
+ end
35
37
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elelem-llama
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '0.10'
18
+ version: '0.11'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '0.10'
25
+ version: '0.11'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: fiddle
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -43,14 +43,14 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '2.21'
46
+ version: '3.0'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '2.21'
53
+ version: '3.0'
54
54
  description: A llama.cpp plugin for elelem.
55
55
  email:
56
56
  - mo@mokhan.ca