ollama-ruby 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +20 -0
- data/Rakefile +1 -2
- data/bin/ollama_chat +13 -3
- data/lib/ollama/utils/chooser.rb +3 -1
- data/lib/ollama/utils/file_argument.rb +7 -7
- data/lib/ollama/version.rb +1 -1
- data/ollama-ruby.gemspec +5 -6
- 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 +5 -16
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,25 @@
|
|
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
|
+
|
3
23
|
## 2024-09-12 v0.3.1
|
4
24
|
|
5
25
|
* Update dependencies and date in gemspec files:
|
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' <<
|
@@ -40,7 +40,6 @@ GemHadar do
|
|
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
@@ -144,7 +144,9 @@ class FollowChat
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
def search_web(query, n =
|
147
|
+
def search_web(query, n = nil)
|
148
|
+
n = n.to_i
|
149
|
+
n < 1 and n = 1
|
148
150
|
query = URI.encode_uri_component(query)
|
149
151
|
url = "https://www.duckduckgo.com/html/?q=#{query}"
|
150
152
|
Ollama::Utils::Fetcher.new.get(url) do |tmp|
|
@@ -382,7 +384,10 @@ def summarize(source)
|
|
382
384
|
puts "Now summarizing #{source.to_s.inspect}."
|
383
385
|
source_content =
|
384
386
|
fetch_source(source) do |source_io|
|
385
|
-
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
|
386
391
|
end
|
387
392
|
$config.prompts.summarize % source_content
|
388
393
|
end
|
@@ -648,6 +653,8 @@ loop do
|
|
648
653
|
puts "Not enough messages in this conversation."
|
649
654
|
redo
|
650
655
|
end
|
656
|
+
parse_content = false
|
657
|
+
content
|
651
658
|
when %r(^/summarize\s+(.+))
|
652
659
|
parse_content = false
|
653
660
|
content = summarize($1) or next
|
@@ -676,9 +683,12 @@ loop do
|
|
676
683
|
when %r(^/)
|
677
684
|
display_chat_help
|
678
685
|
next
|
679
|
-
when
|
686
|
+
when ''
|
680
687
|
puts "Type /quit to quit."
|
681
688
|
next
|
689
|
+
when nil
|
690
|
+
puts "Goodbye."
|
691
|
+
exit 0
|
682
692
|
end
|
683
693
|
|
684
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/version.rb
CHANGED
data/ollama-ruby.gemspec
CHANGED
@@ -1,33 +1,32 @@
|
|
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
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
32
|
s.add_runtime_dependency(%q<infobar>.freeze, ["~> 0.8".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
|
@@ -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
|
@@ -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
|