llamafile 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e7a366c441e6feef72b17cf6cbfd3a758768b973c3454131c0e18eac09dc7ad
4
- data.tar.gz: 01b3d50cf746afeea018769bcf0b8b55413876064ba580be5b8b4c8297703a54
3
+ metadata.gz: c08f0c8c4a3230f3a43e859ea03d391a5a48790202cc558a32dcf7d97522be08
4
+ data.tar.gz: e0c73f07843c6d70dd036e742f653b4123b5e728e13e3cf40b128006d4e9a6e6
5
5
  SHA512:
6
- metadata.gz: 02d69af21ca3be1c43831620add093d25ba03bae55730fcbbc2774a6cd4b58ad3bcc0833727682615bfc4ec3b74f6ee3252af083ffddb919c0aa6760cdfcceef
7
- data.tar.gz: 2d764141eb69c1184b5c317359cd9f250a205e08461d92d21b6fb6249882ee9a0e29bd0a84dfe623b88101d8d55c7db6b86b0b5f29b057420da48c0caa43e1fe
6
+ metadata.gz: a01711608b5ebe36229d9d79b19fa486864ba11b7e799755f9be53bfe8fe4570fb72877a82e6bd8944bf22a2bb4fdc55d229450d0595e72a51a9fa63f53399ba
7
+ data.tar.gz: 92561b3595845a9a25f468220847a8e527b13ebccc4ce6c97c16d45f703153033fa9d543d6cfb2c35c13288373a95db662cc6298f639c6c912c364be29e5fcb0
@@ -38,27 +38,27 @@ module LLAMA
38
38
  body: JSON.generate(DEF.merge(h))
39
39
  }
40
40
  #puts %[LLAMA PACK: #{hh}]
41
- r = Llama.post('/completion', hh)
42
- #puts %[LLAMA CODE: #{r.code}]
43
- if r.code == 200
44
- return r['content'].gsub(/<.+>/, "").gsub(/\s\s+/, " ").gsub(/\n+/, "\n");
45
- else
41
+ begin
42
+ r = Llama.post('/completion', hh)
43
+ #puts %[LLAMA CODE: #{r.code}]
44
+ if r.code == 200
45
+ return r['content'].gsub(/<.+>/, "").gsub(/\s\s+/, " ").gsub(/\n+/, "\n");
46
+ else
47
+ return false
48
+ end
49
+ rescue => err
50
+ puts %[LLAMA POST ERR: #{err}]
46
51
  return false
47
52
  end
48
53
  end
49
54
 
50
- # LLAMA.post prompt: PROMPT.make("prompt template", params={})
51
-
52
- def self.<< i
53
- fiber = Fiber.new do |ii|
54
- Fiber.yield LLAMA.post(prompt: ii)
55
- end
56
- fiber.resume i
57
- end
58
-
59
55
  def self.make h={}
60
56
  fiber = Fiber.new do |hh|
61
- Fiber.yield LLAMA.post(prompt: PROMPT.make(hh))
57
+ if r = LLAMA.post(prompt: PROMPT.make(hh))
58
+ Fiber.yield r
59
+ else
60
+ Fiber.yield false
61
+ end
62
62
  end
63
63
  fiber.resume h
64
64
  end
@@ -73,5 +73,26 @@ module LLAMA
73
73
  end
74
74
  fiber.resume h
75
75
  end
76
+
77
+ def self.test h={}
78
+ fiber = Fiber.new do |hh|
79
+ hh[:grammar] = GRAMMAR[:bool]
80
+ if LLAMA.post(hh) == 'yes'
81
+ Fiber.yield true
82
+ else
83
+ Fiber.yield false
84
+ end
85
+ end
86
+ fiber.resume h
87
+ end
88
+
89
+ def self.prompt h={}, &b
90
+ if block_given?
91
+ fiber = Fiber.new { |hh| Fiber.yield b.call(LLAMA.post(hh)) }
92
+ else
93
+ fiber = Fiber.new { |hh| Fiber.yield LLAMA.post(hh) }
94
+ end
95
+ fiber.resume h
96
+ end
76
97
  end
77
98
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Llamafile
4
- VERSION = "0.3.5"
4
+ VERSION = "0.3.7"
5
5
  end
data/lib/llamafile.rb CHANGED
@@ -6,22 +6,19 @@ require_relative "llamafile/version"
6
6
  require_relative "llamafile/mind"
7
7
  require_relative "llamafile/llama"
8
8
  require_relative "llamafile/grammar"
9
- require_relative "llamafile/prompt"
10
- require_relative "llamafile/voice"
9
+ #require_relative "llamafile/prompt"
10
+ #require_relative "llamafile/voice"
11
11
 
12
12
  module Lf
13
13
  def self.make h={}
14
14
  LLAMA.make h
15
15
  end
16
- def self.<< p
17
- LLAMA << p
18
- end
19
16
  def self.if? h={}
20
17
  LLAMA.if?(h)
21
18
  end
22
19
  end
23
20
 
24
- require_relative "llamafile/actor"
21
+ #require_relative "llamafile/actor"
25
22
 
26
23
  VOICE.hear = lambda { |tgt, voice, payload| puts %[VOICE #{tgt}: #{voice} #{payload}]; MIND.publish(%[#{tgt}/], %[Thinking like a #{voice}, #{payload}]) }
27
24
  MIND.input = lambda { |tgt, payload| puts %[THINK INPUT #{tgt}: #{payload}]; VOICE.hear(tgt, payload); }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llamafile
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
  - Erik Olson