ollama-ruby 0.3.0 → 0.3.2
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/CHANGES.md +59 -0
- data/README.md +1 -0
- data/Rakefile +3 -4
- data/bin/ollama_chat +65 -34
- data/lib/ollama/utils/chooser.rb +3 -1
- data/lib/ollama/utils/file_argument.rb +7 -7
- data/lib/ollama/utils/width.rb +3 -1
- data/lib/ollama/version.rb +1 -1
- data/ollama-ruby.gemspec +8 -9
- data/spec/assets/prompt.txt +1 -0
- data/spec/ollama/utils/file_argument_spec.rb +17 -0
- data/spec/ollama/utils/tags_spec.rb +3 -3
- metadata +11 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9304634c783477787792071f039d6941222bcca0577cd59cdbc5103f820ea299
|
4
|
+
data.tar.gz: 9edc7eaf98c0601e08bb5cde23fc2d46b745982172caea349982d8867790166a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0bda727610f0793d6c360a63c76b2c42e032109f34011ed7cbd54df5663102c3738498be836adcb00645e4ce407cab1f422737970b83a3fa757ea0b4d90d8453
|
7
|
+
data.tar.gz: b9df134561b2a44accfdc1ec6da68eb0b3b9b5ce64c2d64c744834a0b74cbfde8018e270977440224d0433c681e7a203d272453e391b85a3d32f34e3b0c790ca
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,64 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## 2024-09-15 v0.3.2
|
4
|
+
|
5
|
+
* Add color support to chooser module:
|
6
|
+
+ Include `Term::ANSIColor` in `Ollama::Utils::Chooser` module
|
7
|
+
+ Use `blue`, `on_blue` ANSI color for selected item in query method
|
8
|
+
* Refactor summarize method to also import sources:
|
9
|
+
+ Added `content` variable to store result of `parse_source`
|
10
|
+
+ Replaced `or return` with explicit assignment and return
|
11
|
+
+ Added calls to `source_io.rewind` and `import_document`
|
12
|
+
* Add new test for `file_argument_spec.rb`
|
13
|
+
* Refactor tag list initialization and merging:
|
14
|
+
+ Use array literals for initializing tags lists
|
15
|
+
+ Use array literals for passing to merge method
|
16
|
+
* Update dependencies and dates in Rakefile and gemspec:
|
17
|
+
+ Removed '.utilsrc' from ignored files in Rakefile
|
18
|
+
+ Updated date in `ollama-ruby.gemspec` to "2024-09-13"
|
19
|
+
+ Removed 'utils' development dependency from `ollama-ruby.gemspec`
|
20
|
+
* Refactor `search_web` method to allow n parameter to be optional and default
|
21
|
+
to 1.
|
22
|
+
|
23
|
+
## 2024-09-12 v0.3.1
|
24
|
+
|
25
|
+
* Update dependencies and date in gemspec files:
|
26
|
+
- Updated `complex_config` dependency to '~> 0.22'
|
27
|
+
* Refactor FollowChat#eval_stats to add bold eval rates
|
28
|
+
* Improve formatting in eval_stats using bold and color for better
|
29
|
+
readability.
|
30
|
+
* Update import_document and add_image methods to handle nil values
|
31
|
+
correctly.
|
32
|
+
* Update width method in utils/width.rb to use uncolor when checking line
|
33
|
+
length.
|
34
|
+
* Refactor eval stats output in FollowChat class
|
35
|
+
- Add indentation to eval stats output for better readability
|
36
|
+
* FollowChat evaluation stats refactored
|
37
|
+
- Removed hardcoded eval_stats hash and replaced with method call
|
38
|
+
`eval_stats(response)`
|
39
|
+
- Added new method `eval_stats(response)` to calculate evaluation statistics
|
40
|
+
- Calculates eval duration, prompt eval duration, total duration, and load
|
41
|
+
duration
|
42
|
+
- Adds eval count, prompt eval count, eval rate, and prompt eval rate
|
43
|
+
* Use default to_s tree representation of config.
|
44
|
+
* Update complex_config dependency to ~> 0.21, >= 0.21.1 in Rakefile
|
45
|
+
* Update complex_config dependency to ~> 0.21, >= 0.21.1 in
|
46
|
+
ollama-ruby.gemspec
|
47
|
+
* Update dependencies and configuration display
|
48
|
+
* Update 'complex_config' dependency to '~> 0.21'
|
49
|
+
* Change OllamaChatConfig to display configuration as a tree instead of yaml
|
50
|
+
* Improve /web search command
|
51
|
+
* Update infobar dependency to ~> 0.8
|
52
|
+
* Update /web command to summarize web sources as well as importing them
|
53
|
+
directly
|
54
|
+
* Add /clobber command to clear conversation messages and collection
|
55
|
+
* Refactor Ollama chat configuration and summary generation.
|
56
|
+
* Update `OllamaChatConfig` to use `prompts.system` instead of `system`.
|
57
|
+
* Introduce `prompts.summarize` config as template for generating abstract
|
58
|
+
summaries.
|
59
|
+
* Replace hardcoded summary generation with call to `prompts.summarize`.
|
60
|
+
* Display /help for all unknown chat commands starting wit `/`
|
61
|
+
|
3
62
|
## 2024-09-05 v0.3.0
|
4
63
|
|
5
64
|
* **New Features**
|
data/README.md
CHANGED
@@ -156,6 +156,7 @@ The following commands can be given inside the chat, if prefixed by a `/`:
|
|
156
156
|
/markdown toggle markdown output
|
157
157
|
/list list the messages of the conversation
|
158
158
|
/clear clear the conversation messages
|
159
|
+
/clobber clear conversation messages and collection
|
159
160
|
/pop [n] pop the last n exchanges, defaults to 1
|
160
161
|
/model change the model
|
161
162
|
/regenerate the last answer message
|
data/Rakefile
CHANGED
@@ -15,7 +15,7 @@ GemHadar do
|
|
15
15
|
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.AppleDouble', '.bundle',
|
16
16
|
'.yardoc', 'tags', 'errors.lst', 'cscope.out', 'coverage', 'tmp', 'corpus'
|
17
17
|
package_ignore '.all_images.yml', '.tool-versions', '.gitignore', 'VERSION',
|
18
|
-
'.
|
18
|
+
'.rspec', *Dir.glob('.github/**/*', File::FNM_DOTMATCH)
|
19
19
|
readme 'README.md'
|
20
20
|
|
21
21
|
executables << 'ollama_console' << 'ollama_chat' <<
|
@@ -24,7 +24,7 @@ GemHadar do
|
|
24
24
|
required_ruby_version '~> 3.1'
|
25
25
|
|
26
26
|
dependency 'excon', '~> 0.111'
|
27
|
-
dependency 'infobar', '~> 0.
|
27
|
+
dependency 'infobar', '~> 0.8'
|
28
28
|
dependency 'term-ansicolor', '~> 1.11'
|
29
29
|
dependency 'kramdown-parser-gfm', '~> 1.1'
|
30
30
|
dependency 'terminal-table', '~> 3.0'
|
@@ -34,13 +34,12 @@ GemHadar do
|
|
34
34
|
dependency 'sorted_set', '~> 1.0'
|
35
35
|
dependency 'mime-types', '~> 3.0'
|
36
36
|
dependency 'reverse_markdown', '~> 2.0'
|
37
|
-
dependency 'complex_config', '~> 0.
|
37
|
+
dependency 'complex_config', '~> 0.22'
|
38
38
|
dependency 'search_ui', '~> 0.0'
|
39
39
|
dependency 'amatch', '~> 0.4.1'
|
40
40
|
dependency 'pdf-reader', '~> 2.0'
|
41
41
|
development_dependency 'all_images', '~> 0.4'
|
42
42
|
development_dependency 'rspec', '~> 3.2'
|
43
|
-
development_dependency 'utils'
|
44
43
|
development_dependency 'webmock'
|
45
44
|
|
46
45
|
licenses << 'MIT'
|
data/bin/ollama_chat
CHANGED
@@ -26,7 +26,12 @@ class OllamaChatConfig
|
|
26
26
|
name: <%= ENV.fetch('OLLAMA_CHAT_MODEL', 'llama3.1') %>
|
27
27
|
options:
|
28
28
|
num_ctx: 8192
|
29
|
-
|
29
|
+
prompts:
|
30
|
+
system: <%= ENV.fetch('OLLAMA_CHAT_SYSTEM', 'null') %>
|
31
|
+
summarize: |
|
32
|
+
Generate an abstract summary of the content in this document:
|
33
|
+
|
34
|
+
%s
|
30
35
|
voice: Samantha
|
31
36
|
markdown: true
|
32
37
|
embedding:
|
@@ -50,7 +55,7 @@ class OllamaChatConfig
|
|
50
55
|
|
51
56
|
def initialize(filename = nil)
|
52
57
|
@filename = filename || default_path
|
53
|
-
@config = Provider.config(@filename)
|
58
|
+
@config = Provider.config(@filename, '⚙️')
|
54
59
|
retried = false
|
55
60
|
rescue ConfigurationFileMissing
|
56
61
|
if @filename == default_path && !retried
|
@@ -115,22 +120,33 @@ class FollowChat
|
|
115
120
|
@say.call(response)
|
116
121
|
end
|
117
122
|
if response.done
|
118
|
-
@output.puts
|
119
|
-
eval_stats = {
|
120
|
-
eval_duration: Tins::Duration.new(response.eval_duration / 1e9),
|
121
|
-
eval_count: response.eval_count,
|
122
|
-
prompt_eval_duration: Tins::Duration.new(response.prompt_eval_duration / 1e9),
|
123
|
-
prompt_eval_count: response.prompt_eval_count,
|
124
|
-
total_duration: Tins::Duration.new(response.total_duration / 1e9),
|
125
|
-
load_duration: Tins::Duration.new(response.load_duration / 1e9),
|
126
|
-
}.map { _1 * '=' } * ' '
|
127
|
-
@output.puts '📊 ' + color(111) { Utils::Width.wrap(eval_stats, percentage: 90) }
|
123
|
+
@output.puts "", eval_stats(response)
|
128
124
|
end
|
129
125
|
self
|
130
126
|
end
|
127
|
+
|
128
|
+
def eval_stats(response)
|
129
|
+
eval_duration = response.eval_duration / 1e9
|
130
|
+
prompt_eval_duration = response.prompt_eval_duration / 1e9
|
131
|
+
stats_text = {
|
132
|
+
eval_duration: Tins::Duration.new(eval_duration),
|
133
|
+
eval_count: response.eval_count,
|
134
|
+
eval_rate: bold { "%.2f c/s" % (response.eval_count / eval_duration) } + color(111),
|
135
|
+
prompt_eval_duration: Tins::Duration.new(prompt_eval_duration),
|
136
|
+
prompt_eval_count: response.prompt_eval_count,
|
137
|
+
prompt_eval_rate: bold { "%.2f c/s" % (response.prompt_eval_count / prompt_eval_duration) } + color(111),
|
138
|
+
total_duration: Tins::Duration.new(response.total_duration / 1e9),
|
139
|
+
load_duration: Tins::Duration.new(response.load_duration / 1e9),
|
140
|
+
}.map { _1 * '=' } * ' '
|
141
|
+
'📊 ' + color(111) {
|
142
|
+
Utils::Width.wrap(stats_text, percentage: 90).gsub(/(?<!\A)^/, ' ')
|
143
|
+
}
|
144
|
+
end
|
131
145
|
end
|
132
146
|
|
133
|
-
def search_web(query, n =
|
147
|
+
def search_web(query, n = nil)
|
148
|
+
n = n.to_i
|
149
|
+
n < 1 and n = 1
|
134
150
|
query = URI.encode_uri_component(query)
|
135
151
|
url = "https://www.duckduckgo.com/html/?q=#{query}"
|
136
152
|
Ollama::Utils::Fetcher.new.get(url) do |tmp|
|
@@ -312,7 +328,7 @@ def import_document(source_io, source)
|
|
312
328
|
STDOUT.puts "Embedding disabled, I won't import any documents, try: /summarize"
|
313
329
|
return
|
314
330
|
end
|
315
|
-
|
331
|
+
puts "Importing #{italic { source_io&.content_type }} document #{source.to_s.inspect}."
|
316
332
|
text = parse_source(source_io) or return
|
317
333
|
text.downcase!
|
318
334
|
splitter_config = $config.embedding.splitter
|
@@ -340,7 +356,7 @@ def import_document(source_io, source)
|
|
340
356
|
end
|
341
357
|
|
342
358
|
def add_image(images, source_io, source)
|
343
|
-
STDERR.puts "Adding #{source_io
|
359
|
+
STDERR.puts "Adding #{source_io&.content_type} image #{source.to_s.inspect}."
|
344
360
|
image = Image.for_io(source_io, path: source.to_s)
|
345
361
|
(images << image).uniq!
|
346
362
|
end
|
@@ -365,16 +381,15 @@ rescue => e
|
|
365
381
|
end
|
366
382
|
|
367
383
|
def summarize(source)
|
368
|
-
puts
|
384
|
+
puts "Now summarizing #{source.to_s.inspect}."
|
369
385
|
source_content =
|
370
386
|
fetch_source(source) do |source_io|
|
371
|
-
parse_source(source_io) or return
|
387
|
+
content = parse_source(source_io) or return
|
388
|
+
source_io.rewind
|
389
|
+
import_document(source_io, source)
|
390
|
+
content
|
372
391
|
end
|
373
|
-
|
374
|
-
# Generate an abstract summary of the content in this document:
|
375
|
-
|
376
|
-
#{source_content}
|
377
|
-
end
|
392
|
+
$config.prompts.summarize % source_content
|
378
393
|
end
|
379
394
|
|
380
395
|
def parse_content(content, images)
|
@@ -459,6 +474,7 @@ def display_chat_help
|
|
459
474
|
/markdown toggle markdown output
|
460
475
|
/list list the messages of the conversation
|
461
476
|
/clear clear the conversation messages
|
477
|
+
/clobber clear conversation messages and collection
|
462
478
|
/pop [n] pop the last n exchanges, defaults to 1
|
463
479
|
/model change the model
|
464
480
|
/regenerate the last answer message
|
@@ -501,8 +517,7 @@ $config = config.config
|
|
501
517
|
|
502
518
|
opts[?h] and usage
|
503
519
|
|
504
|
-
puts "Configuration read from #{config.filename.inspect} is:"
|
505
|
-
y $config.to_h
|
520
|
+
puts "Configuration read from #{config.filename.inspect} is:", $config
|
506
521
|
|
507
522
|
base_url = opts[?u] || $config.url
|
508
523
|
$ollama = Client.new(base_url:, debug: $config.debug)
|
@@ -540,7 +555,7 @@ if $config.embedding.enabled
|
|
540
555
|
File.expand_path(doc)
|
541
556
|
end
|
542
557
|
end
|
543
|
-
|
558
|
+
puts "Collection #{bold{collection}}: Adding #{document_list.size} documents…"
|
544
559
|
document_list.each_slice(25) do |docs|
|
545
560
|
docs.each do |doc|
|
546
561
|
fetch_source(doc) do |doc_io|
|
@@ -563,7 +578,7 @@ if opts[?c]
|
|
563
578
|
messages.concat load_conversation(opts[?c])
|
564
579
|
else
|
565
580
|
if system = Ollama::Utils::FileArgument.
|
566
|
-
get_file_argument(opts[?s], default: $config.system? || model_system)
|
581
|
+
get_file_argument(opts[?s], default: $config.prompts.system? || model_system)
|
567
582
|
messages << Message.new(role: 'system', content: system)
|
568
583
|
puts "Configured system prompt is:\n#{italic { system }}"
|
569
584
|
end
|
@@ -584,7 +599,7 @@ loop do
|
|
584
599
|
when %r(^/quit$)
|
585
600
|
puts "Goodbye."
|
586
601
|
exit 0
|
587
|
-
when %r(^/markdown)
|
602
|
+
when %r(^/markdown$)
|
588
603
|
markdown = set_markdown(!markdown)
|
589
604
|
next
|
590
605
|
when %r(^/list$)
|
@@ -594,6 +609,11 @@ loop do
|
|
594
609
|
messages.clear
|
595
610
|
puts "Cleared messages."
|
596
611
|
next
|
612
|
+
when %r(^/clobber$)
|
613
|
+
messages.clear
|
614
|
+
$documents.clear
|
615
|
+
puts "Cleared messages and collection."
|
616
|
+
next
|
597
617
|
when %r(^/collection\s+(clear|stats|change|new)(?:\s+(.+))?$)
|
598
618
|
command, arg = $1, $2
|
599
619
|
case command
|
@@ -633,16 +653,24 @@ loop do
|
|
633
653
|
puts "Not enough messages in this conversation."
|
634
654
|
redo
|
635
655
|
end
|
656
|
+
parse_content = false
|
657
|
+
content
|
636
658
|
when %r(^/summarize\s+(.+))
|
637
659
|
parse_content = false
|
638
660
|
content = summarize($1) or next
|
639
|
-
when %r(^/web\s+(?:(\d+)\s+)?(.+)
|
640
|
-
parse_content
|
641
|
-
urls
|
661
|
+
when %r(^/web\s+(?:(\d+)\s+)?(.+))
|
662
|
+
parse_content = false
|
663
|
+
urls = search_web($2, $1.to_i)
|
664
|
+
urls.each do |url|
|
665
|
+
fetch_source(url) do |url_io|
|
666
|
+
import_document(url_io, url)
|
667
|
+
end
|
668
|
+
end
|
669
|
+
urls_summarized = urls.map { summarize(_1) }
|
642
670
|
content = <<~end
|
643
|
-
Answer the the query #{$2.inspect} using these sources:
|
671
|
+
Answer the the query #{$2.inspect} using these sources and summaries:
|
644
672
|
|
645
|
-
#{urls *
|
673
|
+
#{urls.zip(urls_summarized).map { |u, s| "%s as \n:%s" % [ u, s ] } * "\n\n"}
|
646
674
|
end
|
647
675
|
when %r(^/save\s+(.+)$)
|
648
676
|
save_conversation($1, messages)
|
@@ -652,12 +680,15 @@ loop do
|
|
652
680
|
messages = load_conversation($1)
|
653
681
|
puts "Loaded conversation from #$1."
|
654
682
|
next
|
655
|
-
when %r(^/
|
683
|
+
when %r(^/)
|
656
684
|
display_chat_help
|
657
685
|
next
|
658
|
-
when
|
686
|
+
when ''
|
659
687
|
puts "Type /quit to quit."
|
660
688
|
next
|
689
|
+
when nil
|
690
|
+
puts "Goodbye."
|
691
|
+
exit 0
|
661
692
|
end
|
662
693
|
|
663
694
|
content, tags = if parse_content
|
data/lib/ollama/utils/chooser.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require 'amatch'
|
2
2
|
require 'search_ui'
|
3
|
+
require 'term/ansicolor'
|
3
4
|
|
4
5
|
module Ollama::Utils::Chooser
|
5
6
|
include SearchUI
|
7
|
+
include Term::ANSIColor
|
6
8
|
|
7
9
|
module_function
|
8
10
|
|
@@ -17,7 +19,7 @@ module Ollama::Utils::Chooser
|
|
17
19
|
},
|
18
20
|
query: -> _answer, matches, selector {
|
19
21
|
matches.each_with_index.map { |m, i|
|
20
|
-
i == selector ? "#{
|
22
|
+
i == selector ? "#{blue{?⮕}} #{on_blue{m}}" : " #{m}"
|
21
23
|
} * ?\n
|
22
24
|
},
|
23
25
|
found: -> _answer, matches, selector {
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module Ollama::Utils::FileArgument
|
2
2
|
module_function
|
3
3
|
|
4
|
-
def get_file_argument(
|
5
|
-
if
|
6
|
-
File.basename(
|
7
|
-
File.exist?(
|
4
|
+
def get_file_argument(path_or_content, default: nil)
|
5
|
+
if path_or_content.present? && path_or_content.size < 2 ** 15 &&
|
6
|
+
File.basename(path_or_content).size < 2 ** 8 &&
|
7
|
+
File.exist?(path_or_content)
|
8
8
|
then
|
9
|
-
File.read(
|
10
|
-
elsif
|
11
|
-
|
9
|
+
File.read(path_or_content)
|
10
|
+
elsif path_or_content.present?
|
11
|
+
path_or_content
|
12
12
|
else
|
13
13
|
default
|
14
14
|
end
|
data/lib/ollama/utils/width.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'tins/terminal'
|
2
2
|
|
3
3
|
module Ollama::Utils::Width
|
4
|
+
include Term::ANSIColor
|
5
|
+
|
4
6
|
module_function
|
5
7
|
|
6
8
|
def width(percentage: 100.0)
|
@@ -12,7 +14,7 @@ module Ollama::Utils::Width
|
|
12
14
|
raise ArgumentError, "either pass percentage or length argument"
|
13
15
|
percentage and length ||= width(percentage:)
|
14
16
|
text.gsub(/(?<!\n)\n(?!\n)/, ' ').lines.map do |line|
|
15
|
-
if length >= 1 && line.length > length
|
17
|
+
if length >= 1 && uncolor { line }.length > length
|
16
18
|
line.gsub(/(.{1,#{length}})(\s+|$)/, "\\1\n").strip
|
17
19
|
else
|
18
20
|
line.strip
|
data/lib/ollama/version.rb
CHANGED
data/ollama-ruby.gemspec
CHANGED
@@ -1,36 +1,35 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: ollama-ruby 0.3.
|
2
|
+
# stub: ollama-ruby 0.3.2 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "ollama-ruby".freeze
|
6
|
-
s.version = "0.3.
|
6
|
+
s.version = "0.3.2".freeze
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Florian Frank".freeze]
|
11
|
-
s.date = "2024-09-
|
11
|
+
s.date = "2024-09-15"
|
12
12
|
s.description = "Library that allows interacting with the Ollama API".freeze
|
13
13
|
s.email = "flori@ping.de".freeze
|
14
14
|
s.executables = ["ollama_console".freeze, "ollama_chat".freeze, "ollama_update".freeze, "ollama_cli".freeze]
|
15
15
|
s.extra_rdoc_files = ["README.md".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/documents.rb".freeze, "lib/ollama/documents/memory_cache.rb".freeze, "lib/ollama/documents/redis_cache.rb".freeze, "lib/ollama/documents/splitters/character.rb".freeze, "lib/ollama/documents/splitters/semantic.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/utils/ansi_markdown.rb".freeze, "lib/ollama/utils/chooser.rb".freeze, "lib/ollama/utils/colorize_texts.rb".freeze, "lib/ollama/utils/fetcher.rb".freeze, "lib/ollama/utils/file_argument.rb".freeze, "lib/ollama/utils/math.rb".freeze, "lib/ollama/utils/tags.rb".freeze, "lib/ollama/utils/width.rb".freeze, "lib/ollama/version.rb".freeze]
|
16
|
-
s.files = [".envrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_chat".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_update".freeze, "config/redis.conf".freeze, "docker-compose.yml".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/documents.rb".freeze, "lib/ollama/documents/memory_cache.rb".freeze, "lib/ollama/documents/redis_cache.rb".freeze, "lib/ollama/documents/splitters/character.rb".freeze, "lib/ollama/documents/splitters/semantic.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/utils/ansi_markdown.rb".freeze, "lib/ollama/utils/chooser.rb".freeze, "lib/ollama/utils/colorize_texts.rb".freeze, "lib/ollama/utils/fetcher.rb".freeze, "lib/ollama/utils/file_argument.rb".freeze, "lib/ollama/utils/math.rb".freeze, "lib/ollama/utils/tags.rb".freeze, "lib/ollama/utils/width.rb".freeze, "lib/ollama/version.rb".freeze, "ollama-ruby.gemspec".freeze, "spec/assets/embeddings.json".freeze, "spec/assets/kitten.jpg".freeze, "spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/documents/memory_cache_spec.rb".freeze, "spec/ollama/documents/redis_cache_spec.rb".freeze, "spec/ollama/documents/splitters/character_spec.rb".freeze, "spec/ollama/documents/splitters/semantic_spec.rb".freeze, "spec/ollama/documents_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/ollama/utils/ansi_markdown_spec.rb".freeze, "spec/ollama/utils/fetcher_spec.rb".freeze, "spec/ollama/utils/tags_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
|
16
|
+
s.files = [".envrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_chat".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_update".freeze, "config/redis.conf".freeze, "docker-compose.yml".freeze, "lib/ollama.rb".freeze, "lib/ollama/client.rb".freeze, "lib/ollama/client/command.rb".freeze, "lib/ollama/client/doc.rb".freeze, "lib/ollama/commands/chat.rb".freeze, "lib/ollama/commands/copy.rb".freeze, "lib/ollama/commands/create.rb".freeze, "lib/ollama/commands/delete.rb".freeze, "lib/ollama/commands/embed.rb".freeze, "lib/ollama/commands/embeddings.rb".freeze, "lib/ollama/commands/generate.rb".freeze, "lib/ollama/commands/ps.rb".freeze, "lib/ollama/commands/pull.rb".freeze, "lib/ollama/commands/push.rb".freeze, "lib/ollama/commands/show.rb".freeze, "lib/ollama/commands/tags.rb".freeze, "lib/ollama/documents.rb".freeze, "lib/ollama/documents/memory_cache.rb".freeze, "lib/ollama/documents/redis_cache.rb".freeze, "lib/ollama/documents/splitters/character.rb".freeze, "lib/ollama/documents/splitters/semantic.rb".freeze, "lib/ollama/dto.rb".freeze, "lib/ollama/errors.rb".freeze, "lib/ollama/handlers.rb".freeze, "lib/ollama/handlers/collector.rb".freeze, "lib/ollama/handlers/concern.rb".freeze, "lib/ollama/handlers/dump_json.rb".freeze, "lib/ollama/handlers/dump_yaml.rb".freeze, "lib/ollama/handlers/markdown.rb".freeze, "lib/ollama/handlers/nop.rb".freeze, "lib/ollama/handlers/print.rb".freeze, "lib/ollama/handlers/progress.rb".freeze, "lib/ollama/handlers/say.rb".freeze, "lib/ollama/handlers/single.rb".freeze, "lib/ollama/image.rb".freeze, "lib/ollama/message.rb".freeze, "lib/ollama/options.rb".freeze, "lib/ollama/response.rb".freeze, "lib/ollama/tool.rb".freeze, "lib/ollama/tool/function.rb".freeze, "lib/ollama/tool/function/parameters.rb".freeze, "lib/ollama/tool/function/parameters/property.rb".freeze, "lib/ollama/utils/ansi_markdown.rb".freeze, "lib/ollama/utils/chooser.rb".freeze, "lib/ollama/utils/colorize_texts.rb".freeze, "lib/ollama/utils/fetcher.rb".freeze, "lib/ollama/utils/file_argument.rb".freeze, "lib/ollama/utils/math.rb".freeze, "lib/ollama/utils/tags.rb".freeze, "lib/ollama/utils/width.rb".freeze, "lib/ollama/version.rb".freeze, "ollama-ruby.gemspec".freeze, "spec/assets/embeddings.json".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/prompt.txt".freeze, "spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/documents/memory_cache_spec.rb".freeze, "spec/ollama/documents/redis_cache_spec.rb".freeze, "spec/ollama/documents/splitters/character_spec.rb".freeze, "spec/ollama/documents/splitters/semantic_spec.rb".freeze, "spec/ollama/documents_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/ollama/utils/ansi_markdown_spec.rb".freeze, "spec/ollama/utils/fetcher_spec.rb".freeze, "spec/ollama/utils/file_argument_spec.rb".freeze, "spec/ollama/utils/tags_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
|
17
17
|
s.homepage = "https://github.com/flori/ollama-ruby".freeze
|
18
18
|
s.licenses = ["MIT".freeze]
|
19
19
|
s.rdoc_options = ["--title".freeze, "Ollama-ruby - Interacting with the Ollama API".freeze, "--main".freeze, "README.md".freeze]
|
20
20
|
s.required_ruby_version = Gem::Requirement.new("~> 3.1".freeze)
|
21
21
|
s.rubygems_version = "3.5.18".freeze
|
22
22
|
s.summary = "Interacting with the Ollama API".freeze
|
23
|
-
s.test_files = ["spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/documents/memory_cache_spec.rb".freeze, "spec/ollama/documents/redis_cache_spec.rb".freeze, "spec/ollama/documents/splitters/character_spec.rb".freeze, "spec/ollama/documents/splitters/semantic_spec.rb".freeze, "spec/ollama/documents_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/ollama/utils/ansi_markdown_spec.rb".freeze, "spec/ollama/utils/fetcher_spec.rb".freeze, "spec/ollama/utils/tags_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
23
|
+
s.test_files = ["spec/ollama/client/doc_spec.rb".freeze, "spec/ollama/client_spec.rb".freeze, "spec/ollama/commands/chat_spec.rb".freeze, "spec/ollama/commands/copy_spec.rb".freeze, "spec/ollama/commands/create_spec.rb".freeze, "spec/ollama/commands/delete_spec.rb".freeze, "spec/ollama/commands/embed_spec.rb".freeze, "spec/ollama/commands/embeddings_spec.rb".freeze, "spec/ollama/commands/generate_spec.rb".freeze, "spec/ollama/commands/ps_spec.rb".freeze, "spec/ollama/commands/pull_spec.rb".freeze, "spec/ollama/commands/push_spec.rb".freeze, "spec/ollama/commands/show_spec.rb".freeze, "spec/ollama/commands/tags_spec.rb".freeze, "spec/ollama/documents/memory_cache_spec.rb".freeze, "spec/ollama/documents/redis_cache_spec.rb".freeze, "spec/ollama/documents/splitters/character_spec.rb".freeze, "spec/ollama/documents/splitters/semantic_spec.rb".freeze, "spec/ollama/documents_spec.rb".freeze, "spec/ollama/handlers/collector_spec.rb".freeze, "spec/ollama/handlers/dump_json_spec.rb".freeze, "spec/ollama/handlers/dump_yaml_spec.rb".freeze, "spec/ollama/handlers/markdown_spec.rb".freeze, "spec/ollama/handlers/nop_spec.rb".freeze, "spec/ollama/handlers/print_spec.rb".freeze, "spec/ollama/handlers/progress_spec.rb".freeze, "spec/ollama/handlers/say_spec.rb".freeze, "spec/ollama/handlers/single_spec.rb".freeze, "spec/ollama/image_spec.rb".freeze, "spec/ollama/message_spec.rb".freeze, "spec/ollama/options_spec.rb".freeze, "spec/ollama/tool_spec.rb".freeze, "spec/ollama/utils/ansi_markdown_spec.rb".freeze, "spec/ollama/utils/fetcher_spec.rb".freeze, "spec/ollama/utils/file_argument_spec.rb".freeze, "spec/ollama/utils/tags_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
24
24
|
|
25
25
|
s.specification_version = 4
|
26
26
|
|
27
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.17.
|
27
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.17.1".freeze])
|
28
28
|
s.add_development_dependency(%q<all_images>.freeze, ["~> 0.4".freeze])
|
29
29
|
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.2".freeze])
|
30
|
-
s.add_development_dependency(%q<utils>.freeze, [">= 0".freeze])
|
31
30
|
s.add_development_dependency(%q<webmock>.freeze, [">= 0".freeze])
|
32
31
|
s.add_runtime_dependency(%q<excon>.freeze, ["~> 0.111".freeze])
|
33
|
-
s.add_runtime_dependency(%q<infobar>.freeze, ["~> 0.
|
32
|
+
s.add_runtime_dependency(%q<infobar>.freeze, ["~> 0.8".freeze])
|
34
33
|
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
|
35
34
|
s.add_runtime_dependency(%q<kramdown-parser-gfm>.freeze, ["~> 1.1".freeze])
|
36
35
|
s.add_runtime_dependency(%q<terminal-table>.freeze, ["~> 3.0".freeze])
|
@@ -40,7 +39,7 @@ Gem::Specification.new do |s|
|
|
40
39
|
s.add_runtime_dependency(%q<sorted_set>.freeze, ["~> 1.0".freeze])
|
41
40
|
s.add_runtime_dependency(%q<mime-types>.freeze, ["~> 3.0".freeze])
|
42
41
|
s.add_runtime_dependency(%q<reverse_markdown>.freeze, ["~> 2.0".freeze])
|
43
|
-
s.add_runtime_dependency(%q<complex_config>.freeze, ["~> 0.
|
42
|
+
s.add_runtime_dependency(%q<complex_config>.freeze, ["~> 0.22".freeze])
|
44
43
|
s.add_runtime_dependency(%q<search_ui>.freeze, ["~> 0.0".freeze])
|
45
44
|
s.add_runtime_dependency(%q<amatch>.freeze, ["~> 0.4.1".freeze])
|
46
45
|
s.add_runtime_dependency(%q<pdf-reader>.freeze, ["~> 2.0".freeze])
|
@@ -0,0 +1 @@
|
|
1
|
+
You are a test prompt just used for testing.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Ollama::Utils::FileArgument do
|
4
|
+
it 'it can return content' do
|
5
|
+
expect(described_class.get_file_argument('foo')).to eq 'foo'
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'it can return content at path' do
|
9
|
+
expect(described_class.get_file_argument(asset('prompt.txt'))).to include\
|
10
|
+
'test prompt'
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'it can return default content' do
|
14
|
+
expect(described_class.get_file_argument('', default: 'foo')).to eq 'foo'
|
15
|
+
expect(described_class.get_file_argument(nil, default: 'foo')).to eq 'foo'
|
16
|
+
end
|
17
|
+
end
|
@@ -6,7 +6,7 @@ RSpec.describe Ollama::Utils::Tags do
|
|
6
6
|
end
|
7
7
|
|
8
8
|
it 'can contain unique tags and is sorted' do
|
9
|
-
tags = described_class.new([
|
9
|
+
tags = described_class.new(%w[ bar foo ])
|
10
10
|
expect(tags.to_a).to eq %w[ bar foo ]
|
11
11
|
end
|
12
12
|
|
@@ -14,11 +14,11 @@ RSpec.describe Ollama::Utils::Tags do
|
|
14
14
|
tags = described_class.new([ 'foo' ])
|
15
15
|
tags.add 'bar'
|
16
16
|
expect(tags.to_a).to eq %w[ bar foo ]
|
17
|
-
tags.merge [
|
17
|
+
tags.merge %w[ baz baz2 ]
|
18
18
|
expect(tags.to_a).to eq %w[ bar baz baz2 foo ]
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'can be output nicely' do
|
22
|
-
expect(described_class.new(%w[foo bar]).to_s).to eq '#bar #foo'
|
22
|
+
expect(described_class.new(%w[ foo bar ]).to_s).to eq '#bar #foo'
|
23
23
|
end
|
24
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ollama-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Frank
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-09-
|
11
|
+
date: 2024-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.17.
|
19
|
+
version: 1.17.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.17.
|
26
|
+
version: 1.17.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: all_images
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.2'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: utils
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: webmock
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +86,14 @@ dependencies:
|
|
100
86
|
requirements:
|
101
87
|
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
89
|
+
version: '0.8'
|
104
90
|
type: :runtime
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
96
|
+
version: '0.8'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: term-ansicolor
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -240,14 +226,14 @@ dependencies:
|
|
240
226
|
requirements:
|
241
227
|
- - "~>"
|
242
228
|
- !ruby/object:Gem::Version
|
243
|
-
version: '0.
|
229
|
+
version: '0.22'
|
244
230
|
type: :runtime
|
245
231
|
prerelease: false
|
246
232
|
version_requirements: !ruby/object:Gem::Requirement
|
247
233
|
requirements:
|
248
234
|
- - "~>"
|
249
235
|
- !ruby/object:Gem::Version
|
250
|
-
version: '0.
|
236
|
+
version: '0.22'
|
251
237
|
- !ruby/object:Gem::Dependency
|
252
238
|
name: search_ui
|
253
239
|
requirement: !ruby/object:Gem::Requirement
|
@@ -418,6 +404,7 @@ files:
|
|
418
404
|
- ollama-ruby.gemspec
|
419
405
|
- spec/assets/embeddings.json
|
420
406
|
- spec/assets/kitten.jpg
|
407
|
+
- spec/assets/prompt.txt
|
421
408
|
- spec/ollama/client/doc_spec.rb
|
422
409
|
- spec/ollama/client_spec.rb
|
423
410
|
- spec/ollama/commands/chat_spec.rb
|
@@ -452,6 +439,7 @@ files:
|
|
452
439
|
- spec/ollama/tool_spec.rb
|
453
440
|
- spec/ollama/utils/ansi_markdown_spec.rb
|
454
441
|
- spec/ollama/utils/fetcher_spec.rb
|
442
|
+
- spec/ollama/utils/file_argument_spec.rb
|
455
443
|
- spec/ollama/utils/tags_spec.rb
|
456
444
|
- spec/spec_helper.rb
|
457
445
|
- tmp/.keep
|
@@ -517,5 +505,6 @@ test_files:
|
|
517
505
|
- spec/ollama/tool_spec.rb
|
518
506
|
- spec/ollama/utils/ansi_markdown_spec.rb
|
519
507
|
- spec/ollama/utils/fetcher_spec.rb
|
508
|
+
- spec/ollama/utils/file_argument_spec.rb
|
520
509
|
- spec/ollama/utils/tags_spec.rb
|
521
510
|
- spec/spec_helper.rb
|