ollama-ruby 0.13.0 → 0.14.1
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 +39 -0
- data/README.md +68 -142
- data/Rakefile +3 -15
- data/bin/ollama_cli +37 -6
- data/lib/ollama/dto.rb +4 -0
- data/lib/ollama/version.rb +1 -1
- data/lib/ollama.rb +0 -7
- data/ollama-ruby.gemspec +9 -20
- data/spec/ollama/message_spec.rb +9 -0
- metadata +9 -191
- data/bin/ollama_chat +0 -1249
- data/config/redis.conf +0 -5
- data/docker-compose.yml +0 -10
- data/lib/ollama/utils/cache_fetcher.rb +0 -38
- data/lib/ollama/utils/chooser.rb +0 -52
- data/lib/ollama/utils/fetcher.rb +0 -175
- data/lib/ollama/utils/file_argument.rb +0 -34
- data/spec/assets/prompt.txt +0 -1
- data/spec/ollama/utils/cache_fetcher_spec.rb +0 -43
- data/spec/ollama/utils/fetcher_spec.rb +0 -137
- data/spec/ollama/utils/file_argument_spec.rb +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca130b81b4baf0c93d2b727beef4f87a13fe7a1b97006963e780620372091d7f
|
4
|
+
data.tar.gz: 95dcad426a570bd1b78abf24bc868be1b1ce3836fd52c7a02ae4d9b857371500
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 208bbe4f45666e567e4f1ddb34c642490efd62ba2945386f83b4fdfeedbcfc9bda30780ded742be631d371c26b6e69c2b7fa487470f70a19491017f44eab9773
|
7
|
+
data.tar.gz: 6f272e0d919b65a567c67f509e2e5571d1358f3357087578e6931b1a0dc6db0ede94f181d012268dea0c303016206e349634496bc02f790b04789b5e790e7709
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,44 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## 2025-01-29 v0.14.1
|
4
|
+
|
5
|
+
* Removed dependency on `Documentrix`:
|
6
|
+
* Dependency removed from Rakefile
|
7
|
+
* Dependency removed from `ollama-ruby.gemspec`
|
8
|
+
|
9
|
+
## 2025-01-29 v0.14.0
|
10
|
+
|
11
|
+
* Removed `term-ansicolor`, `redis`, `mime-types`, `reverse_markdown`,
|
12
|
+
`complex_config`, `search_ui`, `amatch`, `pdf-reader`, and `logger`
|
13
|
+
dependencies from gemspec.
|
14
|
+
* Added `kramdown-ansi` dependency to gemspec.
|
15
|
+
* Moved `ollama_chat` executable to its own gem.
|
16
|
+
* Refactored Ollama library by removing no longer used utils files, and specs.
|
17
|
+
* Removed test prompt from spec/assets/prompt.txt file.
|
18
|
+
* Removed Redis configuration.
|
19
|
+
* Removed docker-compose.yml.
|
20
|
+
* Removed corpus from .gitignore.
|
21
|
+
* Updated Docker setup for Gem installation:
|
22
|
+
+ Updated `.all_images.yml` to remove unnecessary `gem update --system` and
|
23
|
+
`gem install bundler` commands.
|
24
|
+
* Added new image configuration for **ruby:3.4-alpine** container:
|
25
|
+
+ Update `.all_images.yml` to include `ruby:3.4-alpine` environment.
|
26
|
+
* Implemented equals method for Ollama::DTO and added tests for it:
|
27
|
+
+ Added `==` method to `Ollama::DTO` class.
|
28
|
+
+ Added two new specs to `message_spec.rb`:
|
29
|
+
- Test that a message is equal to itself using the `eq` matcher.
|
30
|
+
- Test that a message is not equal to its duplicate using the `equal` matcher.
|
31
|
+
* Simplified System Prompt Changer:
|
32
|
+
+ Removed redundant variable assignments for `chosen` and `system`.
|
33
|
+
+ Introduced a simple prompt selection logic when only one option is available.
|
34
|
+
+ Added options to exit or create a new prompt in the chooser interface.
|
35
|
+
* Improvements to system prompt display:
|
36
|
+
+ Added system prompt length display using **bold** formatting.
|
37
|
+
* Added new command to output current configuration:
|
38
|
+
+ Added `/config` command to display current chat configuration in `ollama_chat.rb`
|
39
|
+
+ Modified `display_chat_help` method to include `/config` option
|
40
|
+
+ Implemented pager functionality for displaying large configurations.
|
41
|
+
|
3
42
|
## 2024-12-07 v0.13.0
|
4
43
|
|
5
44
|
* Refactor: Extract documents database logic into separate gem `documentrix`.
|
data/README.md
CHANGED
@@ -12,7 +12,7 @@ To install Ollama, you can use the following methods:
|
|
12
12
|
|
13
13
|
1. Type
|
14
14
|
|
15
|
-
```
|
15
|
+
```bash
|
16
16
|
gem install ollama-ruby
|
17
17
|
```
|
18
18
|
|
@@ -20,7 +20,7 @@ in your terminal.
|
|
20
20
|
|
21
21
|
1. Or add the line
|
22
22
|
|
23
|
-
```
|
23
|
+
```bash
|
24
24
|
gem 'ollama-ruby'
|
25
25
|
```
|
26
26
|
|
@@ -48,8 +48,8 @@ This is an interactive console where you can try out the different commands
|
|
48
48
|
provided by an `Ollama::Client` instance. For example, this command generates a
|
49
49
|
response and displays it on the screen using the Markdown handler:
|
50
50
|
|
51
|
-
```
|
52
|
-
|
51
|
+
```bash
|
52
|
+
ollama_console
|
53
53
|
Commands: chat,copy,create,delete,embeddings,generate,help,ps,pull,push,show,tags
|
54
54
|
>> generate(model: 'llama3.1', stream: true, prompt: 'tell story w/ emoji and markdown', &Markdown)
|
55
55
|
```
|
@@ -312,159 +312,85 @@ For more generic errors an `Ollama::Errors::Error` is raised.
|
|
312
312
|
|
313
313
|
## Other executables
|
314
314
|
|
315
|
-
### ollama\
|
315
|
+
### ollama\_cli
|
316
316
|
|
317
|
-
|
318
|
-
|
317
|
+
The `ollama_cli` executable is a command-line interface for interacting with
|
318
|
+
the Ollama API. It allows users to generate text, and perform other tasks using
|
319
|
+
a variety of options.
|
319
320
|
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
-c CHAT a saved chat conversation to load
|
328
|
-
-C COLLECTION name of the collection used in this conversation
|
329
|
-
-D DOCUMENT load document and add to embeddings collection (multiple)
|
330
|
-
-M use (empty) MemoryCache for this chat session
|
331
|
-
-E disable embeddings for this chat session
|
332
|
-
-V display the current version number and quit
|
333
|
-
-h this help
|
321
|
+
#### Usage
|
322
|
+
|
323
|
+
To use `ollama_cli`, simply run it from the command line and follow the usage
|
324
|
+
instructions:
|
325
|
+
|
326
|
+
```bash
|
327
|
+
ollama_cli [OPTIONS]
|
334
328
|
```
|
335
329
|
|
336
|
-
The
|
337
|
-
is derived from the environment variable `OLLAMA_HOST`. The default model to
|
338
|
-
connect can be configured in the environment variable `OLLAMA_MODEL`.
|
330
|
+
The available options are:
|
339
331
|
|
340
|
-
|
341
|
-
|
332
|
+
* `-u URL`: The Ollama base URL. Can be set as an environment variable
|
333
|
+
`OLLAMA_URL`.
|
334
|
+
* `-m MODEL`: The Ollama model to chat with. Defaults to `llama3.1` if not
|
335
|
+
specified.
|
336
|
+
* `-M OPTIONS`: The Ollama model options to use. Can be set as an environment
|
337
|
+
variable `OLLAMA_MODEL_OPTIONS`.
|
338
|
+
* `-s SYSTEM`: The system prompt to use as a file. Can be set as an environment
|
339
|
+
variable `OLLAMA_SYSTEM`.
|
340
|
+
* `-p PROMPT`: The user prompt to use as a file. If it contains `%{stdin}`, it
|
341
|
+
will be substituted with the standard input. If not given, stdin will be used
|
342
|
+
as the prompt.
|
343
|
+
* `-P VARIABLE`: Sets a prompt variable, e.g. `foo=bar`. Can be used multiple
|
344
|
+
times.
|
345
|
+
* `-H HANDLER`: The handler to use for the response. Defaults to `Print`.
|
346
|
+
* `-S`: Use streaming for generation.
|
342
347
|
|
343
|
-
|
344
|
-
---
|
345
|
-
url: <%= ENV['OLLAMA_URL'] || 'http://%s' % ENV.fetch('OLLAMA_HOST') %>
|
346
|
-
model:
|
347
|
-
name: <%= ENV.fetch('OLLAMA_CHAT_MODEL', 'llama3.1') %>
|
348
|
-
options:
|
349
|
-
num_ctx: 8192
|
350
|
-
system: <%= ENV.fetch('OLLAMA_CHAT_SYSTEM', 'null') %>
|
351
|
-
voice: Samantha
|
352
|
-
markdown: true
|
353
|
-
embedding:
|
354
|
-
enabled: true
|
355
|
-
model:
|
356
|
-
name: mxbai-embed-large
|
357
|
-
options: {}
|
358
|
-
collection: <%= ENV.fetch('OLLAMA_CHAT_COLLECTION', 'ollama_chat') %>
|
359
|
-
found_texts_size: 4096
|
360
|
-
splitter:
|
361
|
-
name: RecursiveCharacter
|
362
|
-
chunk_size: 1024
|
363
|
-
cache: Ollama::Documents::RedisCache
|
364
|
-
redis:
|
365
|
-
url: <%= ENV.fetch('REDIS_URL', 'null') %>
|
366
|
-
debug: <%= ENV['OLLAMA_CHAT_DEBUG'].to_i == 1 ? true : false %>
|
367
|
-
```
|
348
|
+
#### Environment Variables
|
368
349
|
|
369
|
-
|
370
|
-
`
|
371
|
-
connect to a Redis server. Without this setup, embeddings will only be stored
|
372
|
-
in process memory, which is less durable.
|
350
|
+
The following environment variables can be set to customize the behavior of
|
351
|
+
`ollama_cli`:
|
373
352
|
|
374
|
-
|
375
|
-
|
353
|
+
* `OLLAMA_URL`: The Ollama base URL.
|
354
|
+
* `OLLAMA_MODEL`: The Ollama model to chat with.
|
355
|
+
* `OLLAMA_MODEL_OPTIONS`: The Ollama model options to use.
|
356
|
+
* `OLLAMA_SYSTEM`: The system prompt to use as a file.
|
357
|
+
* `OLLAMA_PROMPT`: The user prompt to use as a file.
|
376
358
|
|
377
|
-
|
378
|
-
$ ollama_chat -s sherlock.txt
|
379
|
-
Model with architecture llama found.
|
380
|
-
Connecting to llama3.1@http://ollama.local.net:11434 now…
|
381
|
-
Configured system prompt is:
|
382
|
-
You are Sherlock Holmes and the user is your new client, Dr. Watson is also in
|
383
|
-
the room. You will talk and act in the typical manner of Sherlock Holmes do and
|
384
|
-
try to solve the user's case using logic and deduction.
|
385
|
-
|
386
|
-
Type /help to display the chat help.
|
387
|
-
📨 user:
|
388
|
-
Good morning.
|
389
|
-
📨 assistant:
|
390
|
-
Ah, good morning, my dear fellow! It is a pleasure to make your acquaintance. I
|
391
|
-
am Sherlock Holmes, the renowned detective, and this is my trusty sidekick, Dr.
|
392
|
-
Watson. Please, have a seat and tell us about the nature of your visit. What
|
393
|
-
seems to be the problem that has brought you to our humble abode at 221B Baker
|
394
|
-
Street?
|
395
|
-
|
396
|
-
(Watson nods in encouragement as he takes notes)
|
397
|
-
|
398
|
-
Now, pray tell, what is it that puzzles you, my dear client? A missing item,
|
399
|
-
perhaps? Or a mysterious occurrence that requires clarification? The game, as
|
400
|
-
they say, is afoot!
|
401
|
-
```
|
359
|
+
#### Debug Mode
|
402
360
|
|
403
|
-
|
404
|
-
|
361
|
+
If the `DEBUG` environment variable is set to `1`, `ollama_cli` will print out
|
362
|
+
the values of various variables, including the base URL, model, system prompt,
|
363
|
+
and options. This can be useful for debugging purposes.
|
405
364
|
|
406
|
-
|
365
|
+
#### Handler Options
|
407
366
|
|
408
|
-
|
409
|
-
|
410
|
-
Model with architecture llama found.
|
411
|
-
Connecting to llava-llama3@http://localhost:11434 now…
|
412
|
-
Type /help to display the chat help.
|
413
|
-
📸 user> What's on this image? ./spec/assets/kitten.jpg
|
414
|
-
📨 assistant:
|
415
|
-
The image captures a moment of tranquility featuring a young cat. The cat,
|
416
|
-
adorned with gray and white fur marked by black stripes on its face and legs,
|
417
|
-
is the central figure in this scene. Its eyes, a striking shade of blue, are
|
418
|
-
wide open and directed towards the camera, giving an impression of curiosity or
|
419
|
-
alertness.
|
420
|
-
|
421
|
-
The cat is comfortably nestled on a red blanket, which contrasts vividly with
|
422
|
-
its fur. The blanket, soft and inviting, provides a sense of warmth to the
|
423
|
-
image. In the background, partially obscured by the cat's head, is another
|
424
|
-
blanket of similar red hue. The repetition of the color adds a sense of harmony
|
425
|
-
to the composition.
|
426
|
-
|
427
|
-
The cat's position on the right side of the photo creates an interesting
|
428
|
-
asymmetry with the camera lens, which occupies the left side of the frame. This
|
429
|
-
visual balance enhances the overall composition of the image.
|
430
|
-
|
431
|
-
There are no discernible texts or other objects in the image. The focus is
|
432
|
-
solely on the cat and its immediate surroundings. The image does not provide
|
433
|
-
any information about the location or setting beyond what has been described.
|
434
|
-
The simplicity of the scene allows the viewer to concentrate on the main
|
435
|
-
subject - the young, blue-eyed cat.
|
436
|
-
```
|
367
|
+
The `-H` option specifies the handler to use for the response. The available
|
368
|
+
handlers are:
|
437
369
|
|
438
|
-
|
370
|
+
* `Print`: Prints the response to the console. This is the default.
|
371
|
+
* `Markdown`: Prints the response to the console as markdown.
|
372
|
+
* `DumpJSON`: Dumps all responses as JSON to the output.
|
373
|
+
* `DumpYAML`: Dumps all responses as YAML to the output.
|
374
|
+
* `Say`: Outputs the response with a voice.
|
439
375
|
|
376
|
+
#### Streaming
|
377
|
+
|
378
|
+
The `-S` option enables streaming for generation. This allows the model to
|
379
|
+
generate text in chunks, rather than waiting for the entire response to be
|
380
|
+
generated.
|
381
|
+
|
382
|
+
### ollama\_chat
|
383
|
+
|
384
|
+
This is a chat client that allows you to connect to an Ollama server and engage
|
385
|
+
in conversations with Large Language Models (LLMs). It can be installed using
|
386
|
+
the following command:
|
387
|
+
|
388
|
+
```bash
|
389
|
+
gem install ollama-chat
|
440
390
|
```
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
/stream toggle stream output
|
445
|
-
/location toggle location submission
|
446
|
-
/voice( change) toggle voice output or change the voice
|
447
|
-
/list [n] list the last n / all conversation exchanges
|
448
|
-
/clear clear the whole conversation
|
449
|
-
/clobber clear the conversation and collection
|
450
|
-
/pop [n] pop the last n exchanges, defaults to 1
|
451
|
-
/model change the model
|
452
|
-
/system change system prompt (clears conversation)
|
453
|
-
/regenerate the last answer message
|
454
|
-
/collection( clear|change) change (default) collection or clear
|
455
|
-
/info show information for current session
|
456
|
-
/document_policy pick a scan policy for document references
|
457
|
-
/import source import the source's content
|
458
|
-
/summarize [n] source summarize the source's content in n words
|
459
|
-
/embedding toggle embedding paused or not
|
460
|
-
/embed source embed the source's content
|
461
|
-
/web [n] query query web search & return n or 1 results
|
462
|
-
/links( clear) display (or clear) links used in the chat
|
463
|
-
/save filename store conversation messages
|
464
|
-
/load filename load conversation messages
|
465
|
-
/quit to quit
|
466
|
-
/help to view this help
|
467
|
-
```
|
391
|
+
|
392
|
+
Once installed, you can run `ollama_chat` from your terminal or command prompt.
|
393
|
+
This will launch a chat interface where you can interact with an LLM.
|
468
394
|
|
469
395
|
## Download
|
470
396
|
|
data/Rakefile
CHANGED
@@ -14,34 +14,22 @@ GemHadar do
|
|
14
14
|
test_dir 'spec'
|
15
15
|
ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.AppleDouble', '.bundle',
|
16
16
|
'.yardoc', 'doc', 'tags', 'errors.lst', 'cscope.out', 'coverage', 'tmp',
|
17
|
-
'
|
17
|
+
'yard'
|
18
18
|
package_ignore '.all_images.yml', '.tool-versions', '.gitignore', 'VERSION',
|
19
19
|
'.rspec', *Dir.glob('.github/**/*', File::FNM_DOTMATCH)
|
20
20
|
readme 'README.md'
|
21
21
|
|
22
|
-
executables << 'ollama_console' << '
|
23
|
-
'ollama_update' << 'ollama_cli'
|
22
|
+
executables << 'ollama_console' << 'ollama_update' << 'ollama_cli'
|
24
23
|
|
25
24
|
required_ruby_version '~> 3.1'
|
26
25
|
|
27
26
|
dependency 'excon', '~> 1.0'
|
28
27
|
dependency 'infobar', '~> 0.8'
|
29
|
-
dependency 'term-ansicolor', '~> 1.11'
|
30
|
-
dependency 'redis', '~> 5.0'
|
31
|
-
dependency 'mime-types', '~> 3.0'
|
32
|
-
dependency 'reverse_markdown', '~> 3.0'
|
33
|
-
dependency 'complex_config', '~> 0.22', '>= 0.22.2'
|
34
|
-
dependency 'search_ui', '~> 0.0'
|
35
|
-
dependency 'amatch', '~> 0.4.1'
|
36
|
-
dependency 'pdf-reader', '~> 2.0'
|
37
|
-
dependency 'logger', '~> 1.0'
|
38
28
|
dependency 'json', '~> 2.0'
|
39
|
-
dependency 'xdg', '~> 7.0'
|
40
29
|
dependency 'tins', '~> 1.34'
|
30
|
+
dependency 'term-ansicolor', '~> 1.11'
|
41
31
|
dependency 'kramdown-ansi', '~> 0.0', '>= 0.0.1'
|
42
32
|
dependency 'ostruct', '~> 0.0'
|
43
|
-
dependency 'rss', '~> 0.3'
|
44
|
-
dependency 'documentrix', '~> 0.0'
|
45
33
|
development_dependency 'all_images', '~> 0.6'
|
46
34
|
development_dependency 'rspec', '~> 3.2'
|
47
35
|
development_dependency 'kramdown', '~> 2.0'
|
data/bin/ollama_cli
CHANGED
@@ -2,20 +2,51 @@
|
|
2
2
|
|
3
3
|
require 'ollama'
|
4
4
|
include Ollama
|
5
|
-
include Ollama::Utils::FileArgument
|
6
5
|
require 'tins'
|
7
6
|
include Tins::GO
|
8
7
|
require 'json'
|
9
8
|
|
9
|
+
# Returns the contents of a file or string, or a default value if neither is provided.
|
10
|
+
#
|
11
|
+
# @param [String] path_or_content The path to a file or a string containing
|
12
|
+
# the content.
|
13
|
+
#
|
14
|
+
# @param [String] default The default value to return if no valid input is
|
15
|
+
# given. Defaults to nil.
|
16
|
+
#
|
17
|
+
# @return [String] The contents of the file, the string, or the default value.
|
18
|
+
#
|
19
|
+
# @example Get the contents of a file
|
20
|
+
# get_file_argument('path/to/file')
|
21
|
+
#
|
22
|
+
# @example Use a string as content
|
23
|
+
# get_file_argument('string content')
|
24
|
+
#
|
25
|
+
# @example Return a default value if no valid input is given
|
26
|
+
# get_file_argument(nil, default: 'default content')
|
27
|
+
def get_file_argument(path_or_content, default: nil)
|
28
|
+
if path_or_content.present? && path_or_content.size < 2 ** 15 &&
|
29
|
+
File.basename(path_or_content).size < 2 ** 8 &&
|
30
|
+
File.exist?(path_or_content)
|
31
|
+
then
|
32
|
+
File.read(path_or_content)
|
33
|
+
elsif path_or_content.present?
|
34
|
+
path_or_content
|
35
|
+
else
|
36
|
+
default
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# Outputs usage information for the `ollama_cli`.
|
10
41
|
def usage
|
11
42
|
puts <<~EOT
|
12
43
|
Usage: #{File.basename($0)} [OPTIONS]
|
13
44
|
|
14
|
-
-u URL the ollama base url, OLLAMA_URL
|
15
|
-
-m MODEL the ollama model to chat with, OLLAMA_MODEL
|
16
|
-
-M OPTIONS the ollama model options to use, OLLAMA_MODEL_OPTIONS
|
17
|
-
-s SYSTEM the system prompt to use as a file, OLLAMA_SYSTEM
|
18
|
-
-p PROMPT the user prompt to use as a file, OLLAMA_PROMPT
|
45
|
+
-u URL the ollama base url, $OLLAMA_URL
|
46
|
+
-m MODEL the ollama model to chat with, $OLLAMA_MODEL
|
47
|
+
-M OPTIONS the ollama model options to use, $OLLAMA_MODEL_OPTIONS
|
48
|
+
-s SYSTEM the system prompt to use as a file, $OLLAMA_SYSTEM
|
49
|
+
-p PROMPT the user prompt to use as a file, $OLLAMA_PROMPT
|
19
50
|
if it contains %{stdin} it is substituted by stdin input
|
20
51
|
-P VARIABLE sets prompt var %{foo} to "bar" if VARIABLE is foo=bar
|
21
52
|
-H HANDLER the handler to use for the response, defaults to Print
|
data/lib/ollama/dto.rb
CHANGED
data/lib/ollama/version.rb
CHANGED
data/lib/ollama.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'json'
|
2
|
-
require 'logger'
|
3
2
|
require 'excon'
|
4
3
|
require 'tins'
|
5
4
|
require 'tins/xt/full'
|
@@ -14,12 +13,6 @@ module Ollama
|
|
14
13
|
include Ollama::Handlers
|
15
14
|
end
|
16
15
|
|
17
|
-
module Ollama::Utils
|
18
|
-
end
|
19
|
-
require 'ollama/utils/fetcher'
|
20
|
-
require 'ollama/utils/chooser'
|
21
|
-
require 'ollama/utils/file_argument'
|
22
|
-
|
23
16
|
require 'ollama/version'
|
24
17
|
require 'ollama/errors'
|
25
18
|
require 'ollama/dto'
|
data/ollama-ruby.gemspec
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: ollama-ruby 0.
|
2
|
+
# stub: ollama-ruby 0.14.1 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "ollama-ruby".freeze
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "0.14.1".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 = "
|
11
|
+
s.date = "2025-01-29"
|
12
12
|
s.description = "Library that allows interacting with the Ollama API".freeze
|
13
13
|
s.email = "flori@ping.de".freeze
|
14
|
-
s.executables = ["ollama_console".freeze, "
|
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/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/
|
16
|
-
s.files = [".envrc".freeze, ".yardopts".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/
|
14
|
+
s.executables = ["ollama_console".freeze, "ollama_update".freeze, "ollama_cli".freeze]
|
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/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/version.rb".freeze]
|
16
|
+
s.files = [".envrc".freeze, ".yardopts".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_cli".freeze, "bin/ollama_console".freeze, "bin/ollama_update".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/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/version.rb".freeze, "ollama-ruby.gemspec".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/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/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
|
-
s.rubygems_version = "3.
|
21
|
+
s.rubygems_version = "3.6.2".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/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/
|
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/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/spec_helper.rb".freeze]
|
24
24
|
|
25
25
|
s.specification_version = 4
|
26
26
|
|
@@ -33,20 +33,9 @@ Gem::Specification.new do |s|
|
|
33
33
|
s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
|
34
34
|
s.add_runtime_dependency(%q<excon>.freeze, ["~> 1.0".freeze])
|
35
35
|
s.add_runtime_dependency(%q<infobar>.freeze, ["~> 0.8".freeze])
|
36
|
-
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
|
37
|
-
s.add_runtime_dependency(%q<redis>.freeze, ["~> 5.0".freeze])
|
38
|
-
s.add_runtime_dependency(%q<mime-types>.freeze, ["~> 3.0".freeze])
|
39
|
-
s.add_runtime_dependency(%q<reverse_markdown>.freeze, ["~> 3.0".freeze])
|
40
|
-
s.add_runtime_dependency(%q<complex_config>.freeze, ["~> 0.22".freeze, ">= 0.22.2".freeze])
|
41
|
-
s.add_runtime_dependency(%q<search_ui>.freeze, ["~> 0.0".freeze])
|
42
|
-
s.add_runtime_dependency(%q<amatch>.freeze, ["~> 0.4.1".freeze])
|
43
|
-
s.add_runtime_dependency(%q<pdf-reader>.freeze, ["~> 2.0".freeze])
|
44
|
-
s.add_runtime_dependency(%q<logger>.freeze, ["~> 1.0".freeze])
|
45
36
|
s.add_runtime_dependency(%q<json>.freeze, ["~> 2.0".freeze])
|
46
|
-
s.add_runtime_dependency(%q<xdg>.freeze, ["~> 7.0".freeze])
|
47
37
|
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.34".freeze])
|
38
|
+
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
|
48
39
|
s.add_runtime_dependency(%q<kramdown-ansi>.freeze, ["~> 0.0".freeze, ">= 0.0.1".freeze])
|
49
40
|
s.add_runtime_dependency(%q<ostruct>.freeze, ["~> 0.0".freeze])
|
50
|
-
s.add_runtime_dependency(%q<rss>.freeze, ["~> 0.3".freeze])
|
51
|
-
s.add_runtime_dependency(%q<documentrix>.freeze, ["~> 0.0".freeze])
|
52
41
|
end
|
data/spec/ollama/message_spec.rb
CHANGED
@@ -33,4 +33,13 @@ RSpec.describe Ollama::Message do
|
|
33
33
|
{"role":"user","content":"hello world","images":["dGVzdA==\n"]}
|
34
34
|
end
|
35
35
|
end
|
36
|
+
|
37
|
+
it 'can be eq(ual) to itself' do
|
38
|
+
expect(message).to eq message
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'can be eq(ual) to other message' do
|
42
|
+
expect(message).to eq message.dup
|
43
|
+
expect(message).not_to equal message.dup
|
44
|
+
end
|
36
45
|
end
|