ollama-ruby 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +153 -110
- data/README.md +168 -166
- data/bin/ollama_chat +134 -76
- data/docker-compose.yml +1 -1
- data/lib/ollama/documents.rb +2 -1
- data/lib/ollama/handlers/markdown.rb +1 -2
- data/lib/ollama/utils/fetcher.rb +2 -0
- data/lib/ollama/version.rb +1 -1
- data/ollama-ruby.gemspec +4 -4
- data/spec/ollama/client_spec.rb +3 -3
- data/spec/ollama/documents/redis_backed_memory_cache_spec.rb +1 -1
- data/spec/ollama/documents/redis_cache_spec.rb +1 -1
- data/spec/ollama/documents_spec.rb +5 -5
- data/spec/ollama/handlers/markdown_spec.rb +0 -2
- data/spec/ollama/utils/fetcher_spec.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0b3ea2bd67e3f4fa2ca4da88a25cb869fc81e35578f1e7fd97ba43e84fc2278
|
4
|
+
data.tar.gz: 626c534bd2fd0580ab0520e8b70587489edbc963e179be0f800ee63235690b33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 149986d8144b1bc2c20771e245ead20f6e6bc07b46dbe26f8f355e0bc61eca146cc085a920dcbe3e3e08de65632693a35b6995c9dffef288aa929dd6b034de16
|
7
|
+
data.tar.gz: 4214aa2911db561635011b8ea200074d15c74b93bf7abb3c8e77af9c40ac5d8994e908e2ade8e5f288c2919678e03ea5d84d07684a63ba1f8039de52b6091a86
|
data/CHANGES.md
CHANGED
@@ -1,99 +1,142 @@
|
|
1
1
|
# Changes
|
2
2
|
|
3
|
+
## 2024-10-18 v0.9.0
|
4
|
+
|
5
|
+
* Add document policy chooser and modify embedding/importing/summarizing
|
6
|
+
behavior:
|
7
|
+
+ Add `/document_policy` command to choose a scan policy for document
|
8
|
+
references
|
9
|
+
+ Modify `embed_source`, `import_source`, and `summarize_source` methods to
|
10
|
+
use the chosen document policy
|
11
|
+
+ Update `choose_model` method to set `$document_policy` based on
|
12
|
+
configuration or chat command
|
13
|
+
* Fix regular expression in `ollama_chat` script:
|
14
|
+
+ Updated regular expression for `/info` to `/^/info$`
|
15
|
+
* Improve ask prompt to ask about clearing messages and collection.
|
16
|
+
* Update specs to use `expect` instead of `allow`
|
17
|
+
* Fix library homepage URL in README.md
|
18
|
+
* Refactor Markdown handler to remove unnecessary puts statement
|
19
|
+
* Reorder chapters in README.md a bit
|
20
|
+
|
21
|
+
## 2024-10-07 v0.8.0
|
22
|
+
|
23
|
+
* **Refactor source handling in Ollama chat**:
|
24
|
+
+ Update regular expression to match dot-dot, dot or tilde prefix for local files
|
25
|
+
+ Add error handling for non-existent files in `Utils::Fetcher.read`
|
26
|
+
+ Stop matching the "hostname" part in file:// URLs
|
27
|
+
* **Update voice list command to suppress errors**:
|
28
|
+
+ Changed `say` command in OllamaChatConfig to `-v ? 2>/dev/null`
|
29
|
+
* **Add 'List:' and list of collections to the collection stats output**
|
30
|
+
* **Update collection stats display**:
|
31
|
+
+ Added new stat: `#Tags` to `collection_stats` method in `ollama_chat.rb`
|
32
|
+
+ Displaying number of tags for the current document collection
|
33
|
+
* **Refactor embed_source function to include document count**:
|
34
|
+
+ Added `count` parameter to `embed_source` method
|
35
|
+
+ Updated `puts` statements in `embed_source` and main loop to display document counts
|
36
|
+
+ Incremented `count` variable in main loop to track total documents embedded
|
37
|
+
+ Passed `count:` keyword argument to `embed_source` method
|
38
|
+
* **Add config option for batch_size and update document adding logic**:
|
39
|
+
+ Added `batch_size` option to `OllamaChatConfig`
|
40
|
+
+ Updated `embed_source` method in `bin/ollama_chat` to use `batch_size` from `config`
|
41
|
+
+ Updated `add` method in `lib/ollama/documents.rb` to accept `batch_size` and default to 10
|
42
|
+
* **Update Redis image to valkey/valkey:7.2.7-alpine**:
|
43
|
+
+ Updated `image` in `docker-compose.yml` to `valkey/valkey:7.2.7-alpine`
|
44
|
+
* **Reformat CHANGES.md**
|
45
|
+
|
3
46
|
## 2024-10-03 v0.7.0
|
4
47
|
|
5
48
|
* **Refactor command line interface**
|
6
|
-
|
7
|
-
|
8
|
-
|
49
|
+
+ Moved case order
|
50
|
+
+ Renamed `/collection clear [tag]|change` to `/collection (clear|change)`
|
51
|
+
+ Improved help message, added /info
|
9
52
|
* **Update README.md**
|
10
|
-
|
53
|
+
+ Update README.md to reflect changed/added commands
|
11
54
|
* **Add support for reading PostScript**
|
12
|
-
|
13
|
-
|
14
|
-
|
55
|
+
+ Extracted `pdf_read` method to read PDF files using `PDF::Reader`
|
56
|
+
+ Added `ps_read` method to read PostScript files by converting them to PDF with Ghostscript and using `pdf_read`.
|
57
|
+
+ Updated `parse_source` method to handle PostScript files
|
15
58
|
* **Update read buffer size for tempfile writes**
|
16
|
-
|
59
|
+
+ Updated `tmp.write` to use a larger buffer size (**16KB**) in IO.popen block.
|
17
60
|
* **Refactor Collection Chooser and usages**
|
18
|
-
|
19
|
-
|
20
|
-
|
61
|
+
+ Added confirmation prompt before clearing collection
|
62
|
+
+ Improved collection chooser with `[EXIT]` and `[ALL]` options
|
63
|
+
+ Added `ask?` method for user input
|
21
64
|
* **Add prompt to choose method**
|
22
|
-
|
23
|
-
|
24
|
-
|
65
|
+
+ Added `prompt` parameter to `choose` method in `Ollama::Utils::Chooser`
|
66
|
+
+ Modified output formatting for selected entry in `choose` method
|
67
|
+
+ Updated `choose` method to handle cases better where no entry was chosen
|
25
68
|
* **Fix Redis cache expiration logic**
|
26
|
-
|
69
|
+
+ Update `set` method to delete key expiration time is less than 1 second.
|
27
70
|
* **Update dependencies and add source tracking**
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
71
|
+
- Remove `sorted_set` dependency from Rakefile
|
72
|
+
- Modify `Ollama::Documents` class to track source of tags
|
73
|
+
- Update `Ollama::Utils::Tags` class to include source in tag output and add methods for tracking source
|
74
|
+
- Update tests for `Ollama::Utils::Tags` class
|
32
75
|
* **Refactor width calculation and add tests for wrap and truncate methods.**
|
33
|
-
|
34
|
-
|
35
|
-
|
76
|
+
+ Extend `Term::ANSIColor` in `Ollama::Utils::Width`
|
77
|
+
+ Update `width` method to use ellipsis length when truncating text
|
78
|
+
+ Add tests for `wrap` and `truncate` methods with percentage and length arguments
|
36
79
|
* **Add attr_reader for data and update equality check**
|
37
|
-
|
38
|
-
|
39
|
-
|
80
|
+
+ Added `attr_reader :data` to Ollama::Image class
|
81
|
+
+ Updated `==` method in Ollama::Image class to use `other.data`
|
82
|
+
+ Added test case in `image_spec.rb` to verify equality of images
|
40
83
|
|
41
84
|
## 2024-09-30 v0.6.0
|
42
85
|
|
43
86
|
### Significant Changes
|
44
87
|
|
45
88
|
* **Added voice toggle and change functionality**:
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
89
|
+
+ Removed `-v` command line switch
|
90
|
+
+ Added new Switch class for voice output
|
91
|
+
+ Added new method `change_voice` to toggle or change voice output
|
92
|
+
+ Updated `info` method to display current voice output if enabled
|
93
|
+
+ Updated `display_chat_help` method to include /voice command
|
51
94
|
* **Added expiring cache support**:
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
95
|
+
+ Added `Ollama::Utils::CacheFetcher` class for caching HTTP responses
|
96
|
+
+ Modified `Ollama::Utils::Fetcher` to use the new cache class
|
97
|
+
+ Updated `ollama_chat` script to use the cache when fetching sources
|
98
|
+
+ Added specs for the new cache fetcher class
|
56
99
|
* **Added change system prompt feature**:
|
57
|
-
|
58
|
-
|
59
|
-
|
100
|
+
+ Added `/system` command to change system prompt
|
101
|
+
+ Implemented `set_system_prompt` and `change_system_prompt` methods in `bin/ollama_chat`
|
102
|
+
+ Updated help messages in `README.md`
|
60
103
|
|
61
104
|
### Other Changes
|
62
105
|
|
63
106
|
* **Updated dependencies**:
|
64
|
-
|
65
|
-
|
107
|
+
+ Updated version of `xdg` gem to **7.0**
|
108
|
+
+ Added `xdg` dependency to Rakefile
|
66
109
|
* **Refactored error handling**:
|
67
|
-
|
68
|
-
|
110
|
+
+ Warn message updated to include more context about the error
|
111
|
+
+ `warn` statement now mentions "while pulling model"
|
69
112
|
* **Updated chat commands and added clipboard functionality**:
|
70
|
-
|
71
|
-
|
72
|
-
|
113
|
+
+ Added `/copy` command to copy last response to clipboard
|
114
|
+
+ Implemented `copy_to_clipboard` method in `ollama_chat`
|
115
|
+
+ Updated chat help display to include new `/copy` command
|
73
116
|
* **Refactored Ollama::Utils::Fetcher**:
|
74
|
-
|
75
|
-
|
117
|
+
+ Made instance methods private and only exposed class methods
|
118
|
+
+ Added `expose` method to `Ollama::Utils::FetcherSpec` for testing
|
76
119
|
* **Added version command to ollama chat binary**:
|
77
|
-
|
78
|
-
|
79
|
-
|
120
|
+
+ Added `version` method to print Ollama version and exit
|
121
|
+
+ Updated `$opts` string in `ollama` script to include `-V` option for version command
|
122
|
+
+ Added call to `version` method when `-V` option is used
|
80
123
|
* **Updated system prompt display**:
|
81
|
-
|
124
|
+
+ Changed `Ollama::Utils::Width.wrap` to `Ollama::Utils::ANSIMarkdown.parse` in `show_system_prompt` method
|
82
125
|
* **Added system prompt configuration via search_ui for ? argument value**:
|
83
|
-
|
84
|
-
|
85
|
-
|
126
|
+
+ Added `show_system_prompt` method to print configured system prompt
|
127
|
+
+ Modified `info` method to include system prompt in output
|
128
|
+
+ Implemented option `-s ?` to choose or specify system prompt
|
86
129
|
|
87
130
|
## 2024-09-26 v0.5.0
|
88
131
|
|
89
132
|
### New Features
|
90
133
|
|
91
134
|
* Add stdin substitution and variable expansion to `ollama_cli`:
|
92
|
-
|
93
|
-
|
94
|
-
|
135
|
+
+ Added support for `%{stdin}` in prompts, substituting with actual input
|
136
|
+
+ Added `-P` option to set prompt variables from command line arguments
|
137
|
+
+ Added handling of multiple placeholders in prompts
|
95
138
|
* Add proxy support to Ollama chat client:
|
96
|
-
|
139
|
+
+ Add `tins/xt/hash_union` gem to dependencies
|
97
140
|
+ Update `OllamaChatConfig` with new `proxy` option
|
98
141
|
+ Modify `http_options` method to include proxy and SSL verify peer options
|
99
142
|
based on config settings
|
@@ -125,7 +168,7 @@
|
|
125
168
|
+ Added support for displaying a specific number of messages with `/list
|
126
169
|
[n]`
|
127
170
|
* Update chat commands' quit functionality:
|
128
|
-
|
171
|
+
+ Moved `/quit` command to exit the program
|
129
172
|
* Refactor OllamaChatConfig web prompt:
|
130
173
|
+ Add `web` prompt to `OllamaChatConfig` class
|
131
174
|
+ Replace hardcoded content with variable `content`
|
@@ -155,10 +198,10 @@
|
|
155
198
|
### Refactoring
|
156
199
|
|
157
200
|
* Refactor `file_argument.rb` for better readability:
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
201
|
+
+ Update conditionals in Ollama::Utils::FileArgument module
|
202
|
+
+ Simplify logic with improved variable usage
|
203
|
+
+ Remove unnecessary elsif statement
|
204
|
+
+ Use consistent indentation and spacing throughout the code
|
162
205
|
* Refactor Redis-backed memory cache:
|
163
206
|
+ Removed `pre` and `unpre` methods from `Ollama::Documents` use mixin
|
164
207
|
instead.
|
@@ -166,12 +209,12 @@
|
|
166
209
|
### Documentation
|
167
210
|
|
168
211
|
* Update README.md to reflect changes in `ollama_chat` functionality.
|
169
|
-
|
170
|
-
|
171
|
-
|
212
|
+
+ Modified commands:
|
213
|
+
- `/import source` to import the source's content
|
214
|
+
- `/embed source` to embed the source's content
|
172
215
|
- `/summarize [n] source` to summarize the source's content in n words
|
173
216
|
- `/embedding` to toggle embedding paused or not
|
174
|
-
|
217
|
+
- `/embed source` to embed the source's content
|
175
218
|
|
176
219
|
### Dependencies and Date Updates
|
177
220
|
|
@@ -179,13 +222,13 @@
|
|
179
222
|
+ Added `logger` (~> **1.0**) and `json` (~> **2.0**) as runtime
|
180
223
|
dependencies to Rakefile and ollama-ruby.gemspec.
|
181
224
|
+ Updated date in ollama-ruby.gemspec from "2024-09-21" to "2024-09-22".
|
182
|
-
|
225
|
+
+ Added `require 'logger'` to lib/ollama.rb.
|
183
226
|
|
184
227
|
### Other Changes
|
185
228
|
|
186
229
|
* Add SSL no verify option to OllamaChatConfig and Utils::Fetcher:
|
187
|
-
|
188
|
-
|
230
|
+
+ Added `ssl_no_verify` option to OllamaChatConfig
|
231
|
+
+ Updated Utils::Fetcher to take an
|
189
232
|
|
190
233
|
## 2024-09-21 v0.4.0
|
191
234
|
|
@@ -218,20 +261,20 @@
|
|
218
261
|
## 2024-09-15 v0.3.2
|
219
262
|
|
220
263
|
* Add color support to chooser module:
|
221
|
-
|
264
|
+
+ Include `Term::ANSIColor` in `Ollama::Utils::Chooser` module
|
222
265
|
+ Use `blue`, `on_blue` ANSI color for selected item in query method
|
223
266
|
* Refactor summarize method to also import sources:
|
224
|
-
|
225
|
-
|
226
|
-
|
267
|
+
+ Added `content` variable to store result of `parse_source`
|
268
|
+
+ Replaced `or return` with explicit assignment and return
|
269
|
+
+ Added calls to `source_io.rewind` and `import_document`
|
227
270
|
* Add new test for `file_argument_spec.rb`
|
228
271
|
* Refactor tag list initialization and merging:
|
229
|
-
|
230
|
-
|
272
|
+
+ Use array literals for initializing tags lists
|
273
|
+
+ Use array literals for passing to merge method
|
231
274
|
* Update dependencies and dates in Rakefile and gemspec:
|
232
|
-
|
233
|
-
|
234
|
-
|
275
|
+
+ Removed '.utilsrc' from ignored files in Rakefile
|
276
|
+
+ Updated date in `ollama-ruby.gemspec` to "2024-09-13"
|
277
|
+
+ Removed 'utils' development dependency from `ollama-ruby.gemspec`
|
235
278
|
* Refactor `search_web` method to allow n parameter to be optional and default
|
236
279
|
to 1.
|
237
280
|
|
@@ -306,31 +349,31 @@
|
|
306
349
|
### Changes
|
307
350
|
|
308
351
|
* **Added Web Search Functionality to `ollama_chat`**
|
309
|
-
|
310
|
-
|
311
|
-
|
352
|
+
+ Added `/web` command to fetch search results from DuckDuckGo
|
353
|
+
+ Updated `/summarize` command to handle cases where summarization fails
|
354
|
+
+ Fix bug in parsing content type of source document
|
312
355
|
* **Refactored Options Class and Usage**
|
313
|
-
|
314
|
-
|
315
|
-
|
356
|
+
+ Renamed `options` variable to use `Options[]` method in ollama_chat script
|
357
|
+
+ Added `[](value)` method to Ollama::Options class for casting hashes
|
358
|
+
+ Updated options_spec.rb with tests for casting hashes and error handling
|
316
359
|
* **Refactored Web Search Command**
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
360
|
+
+ Added support for specifying a page number in `/web` command
|
361
|
+
+ Updated regular expression to match new format
|
362
|
+
+ Passed page number as an argument to `search_web` method
|
363
|
+
+ Updated content string to reference the query and sources correctly
|
321
364
|
* **DTO Class Changes**
|
322
|
-
|
323
|
-
|
365
|
+
+ Renamed `json_create` method to `from_hash` in Ollama::DTO class
|
366
|
+
+ Updated `as_json` method to remove now unnecessary hash creation
|
324
367
|
* **Message and Tool Spec Changes**
|
325
|
-
|
326
|
-
|
368
|
+
+ Removed `json_class` from JSON serialization in message_spec
|
369
|
+
+ Removed `json_class` from JSON serialization in tool_spec
|
327
370
|
* **Command Spec Changes**
|
328
|
-
|
371
|
+
+ Removed `json_class` from JSON serialization in various command specs (e.g. generate_spec, pull_spec, etc.)
|
329
372
|
* **Miscellaneous Changes**
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
373
|
+
+ Improved width calculation for text truncation
|
374
|
+
+ Updated FollowChat class to display evaluation statistics
|
375
|
+
+ Update OllamaChatConfig to use EOT instead of end for heredoc syntax
|
376
|
+
+ Add .keep file to tmp directory
|
334
377
|
|
335
378
|
## 2024-08-30 v0.1.0
|
336
379
|
|
@@ -339,18 +382,18 @@
|
|
339
382
|
#### Significant Changes
|
340
383
|
|
341
384
|
* **Document Splitting and Embedding Functionality**: Added `Ollama::Documents` class with methods for adding documents, checking existence, deleting documents, and finding similar documents.
|
342
|
-
|
343
|
-
|
385
|
+
+ Introduced two types of caches: `MemoryCache` and `RedisCache`
|
386
|
+
+ Implemented `SemanticSplitter` class to split text into sentences based on semantic similarity
|
344
387
|
* **Improved Ollama Chat Client**: Added support for document embeddings and web/file RAG
|
345
|
-
|
346
|
-
|
388
|
+
+ Allowed configuration per yaml file
|
389
|
+
+ Parse user input for URLs or files to send images to multimodal models
|
347
390
|
* **Redis Docker Service**: Set `REDIS_URL` environment variable to `redis://localhost:9736`
|
348
|
-
|
391
|
+
+ Added Redis service to `docker-compose.yml`
|
349
392
|
* **Status Display and Progress Updates**: Added infobar.label = response.status when available
|
350
|
-
|
351
|
-
|
393
|
+
+ Updated infobar with progress message on each call if total and completed are set
|
394
|
+
+ Display error message from response.error if present
|
352
395
|
* **Refactored Chat Commands**: Simplified regular expression patterns for `/pop`, `/save`, `/load`, and `/image` commands
|
353
|
-
|
396
|
+
+ Added whitespace to some command patterns for better readability
|
354
397
|
|
355
398
|
#### Other Changes
|
356
399
|
|
@@ -366,13 +409,13 @@
|
|
366
409
|
## 2024-08-16 v0.0.1
|
367
410
|
|
368
411
|
* **New Features**
|
369
|
-
|
370
|
-
|
412
|
+
+ Added missing options parameter to Embed command
|
413
|
+
+ Documented new `/api/embed` endpoint
|
371
414
|
* **Improvements**
|
372
|
-
|
415
|
+
+ Improved example in README.md
|
373
416
|
* **Code Refactoring**
|
374
|
-
|
375
|
-
|
417
|
+
+ Renamed `client` to `ollama` in client and command specs
|
418
|
+
+ Updated expectations to use `ollama` instead of `client`
|
376
419
|
|
377
420
|
## 2024-08-12 v0.0.0
|
378
421
|
|