async-ollama 0.2.0 → 0.4.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: 1e1e52839defa45793d0099a223261d94f3a5cdfc7d5ca1f859defc943608f65
4
- data.tar.gz: e8f8c3aa9e16f368e7f0a68b7be2e66d7d899bc635e31f9f62bd09aa67a434f2
3
+ metadata.gz: b063f95dd3bfc375203e52136932e15e7fdb060c5e8c2c88714285679d4ed535
4
+ data.tar.gz: a431d19a4817acf9d77ab225f22dfe523d0e04826f4ad87e615bd7c6d22d20f9
5
5
  SHA512:
6
- metadata.gz: 1b1266042797be83ef0317b42d155b72ff9431cb6368f9f0528aaab435d26e62ced79d326bd76d35a493b32a50c43753db404a3cb4c37e6e0e0a35b0fd5b4759
7
- data.tar.gz: ca36a8d5d4762b65de815a8920a7bdf73b30be48a7cecc229d217da2d52566bd76d3909db8895a0f0d103366c38785454aeb29c5d9c454413561b1b7e4302e64
6
+ metadata.gz: ac83698f0c120ede1b595509da72e83ab81faffe50bed02e3aebf01e5b66579699d2329fbdaff0e0f087813677fc6f338029bccda9d62d0ed6726c26586e9973
7
+ data.tar.gz: 148408b29f5aafd3ce3d71c5ecd3f2eadbd496736893049e01701e52e214188912725a3ba13245b261d5c02e159725a29998493e7739aed6f8e0e0a08db0ad4b
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- eCԵI%m �Rҫlhv8�,�����O���$�.��9�ǗnR���K?D'{MJ�
2
- ��5)K��G[؉��`���<rFˎ�t!�����ve!�ZFM\p�oƻ�����w�dD���H�?����Yfy+��O��we��^���M-�t�+LW���Xw;*�.��AT7��w��|Sᩆ�cnq$��:�7�+D}o2]C�N��W�S��Y#Zۘg����n��v:m0g�Dx%��u,��2�8���r�7���A���"��M0$vsz��¹z1����B^�y��N4��j4�Ѿ
1
+ a�,=oQ��y8J@\�T]�.mj{]ăyp��1���z7,-!����e���ոXU[CU(�+j��Rc͂3O���
2
+ A߆�&��ݴ%��?�y������/9Dm�����njeUn�w��� �۳��Bɇ�8w�SMn�B6��IS��}��r}{ts&J��<�_a��6��6��a5'���}�ێ��E��&D�n�+� ���E���ѳ,P({��3?c�\�݇wȐ��H~�MIC�����8fwsg����5u/d`�Ъ�.R5����U�
@@ -4,7 +4,9 @@
4
4
  # Copyright, 2024, by Samuel Williams.
5
5
 
6
6
  require "async/rest/resource"
7
+
7
8
  require_relative "generate"
9
+ require_relative "models"
8
10
 
9
11
  module Async
10
12
  module Ollama
@@ -19,7 +21,17 @@ module Async
19
21
  options[:prompt] = prompt
20
22
  options[:model] ||= "llama3"
21
23
 
22
- Generate.post(self.with(path: "/api/generate"), options, &block)
24
+ Generate.post(self.with(path: "/api/generate"), options) do |resource, response|
25
+ if block_given?
26
+ yield response
27
+ end
28
+
29
+ Generate.new(resource, value: response.read, metadata: response.headers)
30
+ end
31
+ end
32
+
33
+ def models
34
+ Models.get(self.with(path: "/api/tags"))
23
35
  end
24
36
  end
25
37
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2024, by Samuel Williams.
5
+
6
+ require "async/rest/representation"
7
+ require_relative "wrapper"
8
+
9
+ module Async
10
+ module Ollama
11
+ class Models < Async::REST::Representation[Wrapper]
12
+ def names
13
+ self.value[:models].map{|model| model[:name]}
14
+ end
15
+ end
16
+ end
17
+ end
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module Ollama
8
- VERSION = "0.2.0"
8
+ VERSION = "0.4.0"
9
9
  end
10
10
  end
@@ -85,7 +85,10 @@ module Async
85
85
  end
86
86
 
87
87
  def parser_for(response)
88
- case response.headers["content-type"]
88
+ content_type = response.headers["content-type"]
89
+ media_type = content_type.split(";").first
90
+
91
+ case media_type
89
92
  when APPLICATION_JSON
90
93
  return Async::REST::Wrapper::JSON::Parser
91
94
  when APPLICATION_JSON_STREAM
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-ollama
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -37,7 +37,7 @@ cert_chain:
37
37
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
38
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
39
  -----END CERTIFICATE-----
40
- date: 2024-09-12 00:00:00.000000000 Z
40
+ date: 2024-11-25 00:00:00.000000000 Z
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: async
@@ -59,14 +59,14 @@ dependencies:
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.15'
62
+ version: '0.17'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.15'
69
+ version: '0.17'
70
70
  description:
71
71
  email:
72
72
  executables: []
@@ -76,6 +76,7 @@ files:
76
76
  - lib/async/ollama.rb
77
77
  - lib/async/ollama/client.rb
78
78
  - lib/async/ollama/generate.rb
79
+ - lib/async/ollama/models.rb
79
80
  - lib/async/ollama/version.rb
80
81
  - lib/async/ollama/wrapper.rb
81
82
  - license.md
@@ -101,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
102
  - !ruby/object:Gem::Version
102
103
  version: '0'
103
104
  requirements: []
104
- rubygems_version: 3.5.11
105
+ rubygems_version: 3.5.22
105
106
  signing_key:
106
107
  specification_version: 4
107
108
  summary: A asynchronous interface to the ollama chat service
metadata.gz.sig CHANGED
Binary file