ollama_chat 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.all_images.yml +17 -0
  3. data/.gitignore +9 -0
  4. data/Gemfile +5 -0
  5. data/README.md +159 -0
  6. data/Rakefile +58 -0
  7. data/VERSION +1 -0
  8. data/bin/ollama_chat +5 -0
  9. data/lib/ollama_chat/chat.rb +398 -0
  10. data/lib/ollama_chat/clipboard.rb +23 -0
  11. data/lib/ollama_chat/dialog.rb +94 -0
  12. data/lib/ollama_chat/document_cache.rb +16 -0
  13. data/lib/ollama_chat/follow_chat.rb +60 -0
  14. data/lib/ollama_chat/information.rb +113 -0
  15. data/lib/ollama_chat/message_list.rb +216 -0
  16. data/lib/ollama_chat/message_type.rb +5 -0
  17. data/lib/ollama_chat/model_handling.rb +29 -0
  18. data/lib/ollama_chat/ollama_chat_config.rb +103 -0
  19. data/lib/ollama_chat/parsing.rb +159 -0
  20. data/lib/ollama_chat/source_fetching.rb +173 -0
  21. data/lib/ollama_chat/switches.rb +119 -0
  22. data/lib/ollama_chat/utils/cache_fetcher.rb +38 -0
  23. data/lib/ollama_chat/utils/chooser.rb +53 -0
  24. data/lib/ollama_chat/utils/fetcher.rb +175 -0
  25. data/lib/ollama_chat/utils/file_argument.rb +34 -0
  26. data/lib/ollama_chat/utils.rb +7 -0
  27. data/lib/ollama_chat/version.rb +8 -0
  28. data/lib/ollama_chat.rb +20 -0
  29. data/ollama_chat.gemspec +50 -0
  30. data/spec/assets/api_show.json +63 -0
  31. data/spec/assets/api_tags.json +21 -0
  32. data/spec/assets/conversation.json +14 -0
  33. data/spec/assets/duckduckgo.html +757 -0
  34. data/spec/assets/example.atom +26 -0
  35. data/spec/assets/example.csv +5 -0
  36. data/spec/assets/example.html +10 -0
  37. data/spec/assets/example.pdf +139 -0
  38. data/spec/assets/example.ps +4 -0
  39. data/spec/assets/example.rb +1 -0
  40. data/spec/assets/example.rss +25 -0
  41. data/spec/assets/example.xml +7 -0
  42. data/spec/assets/kitten.jpg +0 -0
  43. data/spec/assets/prompt.txt +1 -0
  44. data/spec/ollama_chat/chat_spec.rb +105 -0
  45. data/spec/ollama_chat/clipboard_spec.rb +29 -0
  46. data/spec/ollama_chat/follow_chat_spec.rb +46 -0
  47. data/spec/ollama_chat/information_spec.rb +50 -0
  48. data/spec/ollama_chat/message_list_spec.rb +132 -0
  49. data/spec/ollama_chat/model_handling_spec.rb +35 -0
  50. data/spec/ollama_chat/parsing_spec.rb +240 -0
  51. data/spec/ollama_chat/source_fetching_spec.rb +54 -0
  52. data/spec/ollama_chat/switches_spec.rb +167 -0
  53. data/spec/ollama_chat/utils/cache_fetcher_spec.rb +43 -0
  54. data/spec/ollama_chat/utils/fetcher_spec.rb +137 -0
  55. data/spec/ollama_chat/utils/file_argument_spec.rb +17 -0
  56. data/spec/spec_helper.rb +46 -0
  57. data/tmp/.keep +0 -0
  58. metadata +476 -0
metadata ADDED
@@ -0,0 +1,476 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ollama_chat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Florian Frank
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2025-01-29 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: gem_hadar
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.19'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.19'
26
+ - !ruby/object:Gem::Dependency
27
+ name: all_images
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.6'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.6'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rspec
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.2'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.2'
54
+ - !ruby/object:Gem::Dependency
55
+ name: kramdown
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: webmock
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: debug
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: simplecov
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: excon
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.0'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: ollama-ruby
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.14'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.14'
138
+ - !ruby/object:Gem::Dependency
139
+ name: documentrix
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.0'
145
+ type: :runtime
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rss
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0.3'
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '0.3'
166
+ - !ruby/object:Gem::Dependency
167
+ name: term-ansicolor
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '1.11'
173
+ type: :runtime
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.11'
180
+ - !ruby/object:Gem::Dependency
181
+ name: redis
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '5.0'
187
+ type: :runtime
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '5.0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: mime-types
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '3.0'
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '3.0'
208
+ - !ruby/object:Gem::Dependency
209
+ name: reverse_markdown
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '3.0'
215
+ type: :runtime
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '3.0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: xdg
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '7.0'
229
+ type: :runtime
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '7.0'
236
+ - !ruby/object:Gem::Dependency
237
+ name: kramdown-ansi
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - "~>"
241
+ - !ruby/object:Gem::Version
242
+ version: '0.0'
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: 0.0.1
246
+ type: :runtime
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - "~>"
251
+ - !ruby/object:Gem::Version
252
+ version: '0.0'
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: 0.0.1
256
+ - !ruby/object:Gem::Dependency
257
+ name: complex_config
258
+ requirement: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: '0.22'
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: 0.22.2
266
+ type: :runtime
267
+ prerelease: false
268
+ version_requirements: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - "~>"
271
+ - !ruby/object:Gem::Version
272
+ version: '0.22'
273
+ - - ">="
274
+ - !ruby/object:Gem::Version
275
+ version: 0.22.2
276
+ - !ruby/object:Gem::Dependency
277
+ name: tins
278
+ requirement: !ruby/object:Gem::Requirement
279
+ requirements:
280
+ - - "~>"
281
+ - !ruby/object:Gem::Version
282
+ version: '1.34'
283
+ type: :runtime
284
+ prerelease: false
285
+ version_requirements: !ruby/object:Gem::Requirement
286
+ requirements:
287
+ - - "~>"
288
+ - !ruby/object:Gem::Version
289
+ version: '1.34'
290
+ - !ruby/object:Gem::Dependency
291
+ name: search_ui
292
+ requirement: !ruby/object:Gem::Requirement
293
+ requirements:
294
+ - - "~>"
295
+ - !ruby/object:Gem::Version
296
+ version: '0.0'
297
+ type: :runtime
298
+ prerelease: false
299
+ version_requirements: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - "~>"
302
+ - !ruby/object:Gem::Version
303
+ version: '0.0'
304
+ - !ruby/object:Gem::Dependency
305
+ name: amatch
306
+ requirement: !ruby/object:Gem::Requirement
307
+ requirements:
308
+ - - "~>"
309
+ - !ruby/object:Gem::Version
310
+ version: 0.4.1
311
+ type: :runtime
312
+ prerelease: false
313
+ version_requirements: !ruby/object:Gem::Requirement
314
+ requirements:
315
+ - - "~>"
316
+ - !ruby/object:Gem::Version
317
+ version: 0.4.1
318
+ - !ruby/object:Gem::Dependency
319
+ name: pdf-reader
320
+ requirement: !ruby/object:Gem::Requirement
321
+ requirements:
322
+ - - "~>"
323
+ - !ruby/object:Gem::Version
324
+ version: '2.0'
325
+ type: :runtime
326
+ prerelease: false
327
+ version_requirements: !ruby/object:Gem::Requirement
328
+ requirements:
329
+ - - "~>"
330
+ - !ruby/object:Gem::Version
331
+ version: '2.0'
332
+ - !ruby/object:Gem::Dependency
333
+ name: csv
334
+ requirement: !ruby/object:Gem::Requirement
335
+ requirements:
336
+ - - "~>"
337
+ - !ruby/object:Gem::Version
338
+ version: '3.0'
339
+ type: :runtime
340
+ prerelease: false
341
+ version_requirements: !ruby/object:Gem::Requirement
342
+ requirements:
343
+ - - "~>"
344
+ - !ruby/object:Gem::Version
345
+ version: '3.0'
346
+ description: |
347
+ The app provides a command-line interface (CLI) to an Ollama AI model,
348
+ allowing users to engage in text-based conversations and generate
349
+ human-like responses. Users can import data from local files or web pages,
350
+ which are then processed through three different modes: fully importing the
351
+ content into the conversation context, summarizing the information for
352
+ concise reference, or storing it in an embedding vector database for later
353
+ retrieval based on the conversation.
354
+ email: flori@ping.de
355
+ executables:
356
+ - ollama_chat
357
+ extensions: []
358
+ extra_rdoc_files:
359
+ - README.md
360
+ - lib/ollama_chat.rb
361
+ - lib/ollama_chat/chat.rb
362
+ - lib/ollama_chat/clipboard.rb
363
+ - lib/ollama_chat/dialog.rb
364
+ - lib/ollama_chat/document_cache.rb
365
+ - lib/ollama_chat/follow_chat.rb
366
+ - lib/ollama_chat/information.rb
367
+ - lib/ollama_chat/message_list.rb
368
+ - lib/ollama_chat/message_type.rb
369
+ - lib/ollama_chat/model_handling.rb
370
+ - lib/ollama_chat/ollama_chat_config.rb
371
+ - lib/ollama_chat/parsing.rb
372
+ - lib/ollama_chat/source_fetching.rb
373
+ - lib/ollama_chat/switches.rb
374
+ - lib/ollama_chat/utils.rb
375
+ - lib/ollama_chat/utils/cache_fetcher.rb
376
+ - lib/ollama_chat/utils/chooser.rb
377
+ - lib/ollama_chat/utils/fetcher.rb
378
+ - lib/ollama_chat/utils/file_argument.rb
379
+ - lib/ollama_chat/version.rb
380
+ files:
381
+ - ".all_images.yml"
382
+ - ".gitignore"
383
+ - Gemfile
384
+ - README.md
385
+ - Rakefile
386
+ - VERSION
387
+ - bin/ollama_chat
388
+ - lib/ollama_chat.rb
389
+ - lib/ollama_chat/chat.rb
390
+ - lib/ollama_chat/clipboard.rb
391
+ - lib/ollama_chat/dialog.rb
392
+ - lib/ollama_chat/document_cache.rb
393
+ - lib/ollama_chat/follow_chat.rb
394
+ - lib/ollama_chat/information.rb
395
+ - lib/ollama_chat/message_list.rb
396
+ - lib/ollama_chat/message_type.rb
397
+ - lib/ollama_chat/model_handling.rb
398
+ - lib/ollama_chat/ollama_chat_config.rb
399
+ - lib/ollama_chat/parsing.rb
400
+ - lib/ollama_chat/source_fetching.rb
401
+ - lib/ollama_chat/switches.rb
402
+ - lib/ollama_chat/utils.rb
403
+ - lib/ollama_chat/utils/cache_fetcher.rb
404
+ - lib/ollama_chat/utils/chooser.rb
405
+ - lib/ollama_chat/utils/fetcher.rb
406
+ - lib/ollama_chat/utils/file_argument.rb
407
+ - lib/ollama_chat/version.rb
408
+ - ollama_chat.gemspec
409
+ - spec/assets/api_show.json
410
+ - spec/assets/api_tags.json
411
+ - spec/assets/conversation.json
412
+ - spec/assets/duckduckgo.html
413
+ - spec/assets/example.atom
414
+ - spec/assets/example.csv
415
+ - spec/assets/example.html
416
+ - spec/assets/example.pdf
417
+ - spec/assets/example.ps
418
+ - spec/assets/example.rb
419
+ - spec/assets/example.rss
420
+ - spec/assets/example.xml
421
+ - spec/assets/kitten.jpg
422
+ - spec/assets/prompt.txt
423
+ - spec/ollama_chat/chat_spec.rb
424
+ - spec/ollama_chat/clipboard_spec.rb
425
+ - spec/ollama_chat/follow_chat_spec.rb
426
+ - spec/ollama_chat/information_spec.rb
427
+ - spec/ollama_chat/message_list_spec.rb
428
+ - spec/ollama_chat/model_handling_spec.rb
429
+ - spec/ollama_chat/parsing_spec.rb
430
+ - spec/ollama_chat/source_fetching_spec.rb
431
+ - spec/ollama_chat/switches_spec.rb
432
+ - spec/ollama_chat/utils/cache_fetcher_spec.rb
433
+ - spec/ollama_chat/utils/fetcher_spec.rb
434
+ - spec/ollama_chat/utils/file_argument_spec.rb
435
+ - spec/spec_helper.rb
436
+ - tmp/.keep
437
+ homepage: https://github.com/flori/ollama_chat
438
+ licenses:
439
+ - MIT
440
+ metadata: {}
441
+ rdoc_options:
442
+ - "--title"
443
+ - OllamaChat - A command-line interface (CLI) for interacting with an Ollama AI model.
444
+ - "--main"
445
+ - README.md
446
+ require_paths:
447
+ - lib
448
+ required_ruby_version: !ruby/object:Gem::Requirement
449
+ requirements:
450
+ - - "~>"
451
+ - !ruby/object:Gem::Version
452
+ version: '3.1'
453
+ required_rubygems_version: !ruby/object:Gem::Requirement
454
+ requirements:
455
+ - - ">="
456
+ - !ruby/object:Gem::Version
457
+ version: '0'
458
+ requirements: []
459
+ rubygems_version: 3.6.2
460
+ specification_version: 4
461
+ summary: A command-line interface (CLI) for interacting with an Ollama AI model.
462
+ test_files:
463
+ - spec/assets/example.rb
464
+ - spec/ollama_chat/chat_spec.rb
465
+ - spec/ollama_chat/clipboard_spec.rb
466
+ - spec/ollama_chat/follow_chat_spec.rb
467
+ - spec/ollama_chat/information_spec.rb
468
+ - spec/ollama_chat/message_list_spec.rb
469
+ - spec/ollama_chat/model_handling_spec.rb
470
+ - spec/ollama_chat/parsing_spec.rb
471
+ - spec/ollama_chat/source_fetching_spec.rb
472
+ - spec/ollama_chat/switches_spec.rb
473
+ - spec/ollama_chat/utils/cache_fetcher_spec.rb
474
+ - spec/ollama_chat/utils/fetcher_spec.rb
475
+ - spec/ollama_chat/utils/file_argument_spec.rb
476
+ - spec/spec_helper.rb