ruby_llm 0.1.0.pre46 → 0.1.0.pre48

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 047c20a013a29b030be1c93064a7d1545c570f56845e32c864d20a3fe501a964
4
- data.tar.gz: f5bfc01bc51e19a6a2d197ae4e9ac50e0fb36757850552a028466a4fcdb35dce
3
+ metadata.gz: 93bca3eb1b8f4fe872f0c7ca05604aaa8ee472edcfde8c2859a309f635bac0a6
4
+ data.tar.gz: b73f4db74067fcdeb6d7ba4fa1d5333c4599e2b776a90dbc2392793a1e5474b9
5
5
  SHA512:
6
- metadata.gz: 9888bfab59a6a366dd8b4139586f1fa01ed5fb05a93b0256102b2a5ac3bba3bfb912f48f911f050c2e23a0d432dcc1eaa5d5a3044d1e5affe8f18fd7ac21618e
7
- data.tar.gz: dd8970bc6f942e5a523b545f9bc09d82e98d65228d081589273509f8deb7cd95ba3adda33cece93498bcf2e045b69b6decfb8aebd42e56ed52f6ca69057c3d59
6
+ metadata.gz: 0ca1b2967aaa1aed0b4a9636e5f3f1c5ca172b511e527666f90605fa58c4c48fdf923244d9c48999e916cac840ba2439147547750c7c3686f6fbb354f528e5fc
7
+ data.tar.gz: 5656e43b90e3822a7b11a3b25a64a70d609064da651df1f7a2123109fc06e2184a74df61651e1108d8b4c229172f38f49ef98f348d22178bf32090a9306b71ca
data/.rspec_status CHANGED
@@ -21,15 +21,15 @@ example_id | status | run_time |
21
21
  ./spec/ruby_llm/chat_streaming_spec.rb[1:1:2:1] | passed | 0.50088 seconds |
22
22
  ./spec/ruby_llm/chat_streaming_spec.rb[1:1:3:1] | passed | 5.69 seconds |
23
23
  ./spec/ruby_llm/chat_streaming_spec.rb[1:1:4:1] | passed | 1.22 seconds |
24
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:1:1] | passed | 3.75 seconds |
25
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:1:2] | passed | 6.1 seconds |
26
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:1:3] | passed | 5.32 seconds |
27
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:2:1] | passed | 1.21 seconds |
28
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:2:2] | passed | 2.36 seconds |
29
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:2:3] | passed | 2.78 seconds |
30
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:3:1] | passed | 1.87 seconds |
31
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:3:2] | passed | 3.12 seconds |
32
- ./spec/ruby_llm/chat_tools_spec.rb[1:1:3:3] | passed | 3.83 seconds |
24
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:1] | passed | 4.26 seconds |
25
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:2] | passed | 6.16 seconds |
26
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:3] | passed | 11.15 seconds |
27
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:4] | passed | 1.3 seconds |
28
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:5] | passed | 2.71 seconds |
29
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:6] | passed | 2.43 seconds |
30
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:7] | passed | 2.71 seconds |
31
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:8] | passed | 4 seconds |
32
+ ./spec/ruby_llm/chat_tools_spec.rb[1:1:9] | passed | 2.81 seconds |
33
33
  ./spec/ruby_llm/embeddings_spec.rb[1:1:1:1] | passed | 0.33357 seconds |
34
34
  ./spec/ruby_llm/embeddings_spec.rb[1:1:1:2] | passed | 0.43632 seconds |
35
35
  ./spec/ruby_llm/embeddings_spec.rb[1:1:2:1] | passed | 0.65614 seconds |
@@ -96,7 +96,7 @@ module RubyLLM
96
96
  private
97
97
 
98
98
  def persist_new_message
99
- messages.create!(
99
+ @message = messages.create!(
100
100
  role: :assistant,
101
101
  content: String.new
102
102
  )
@@ -110,7 +110,7 @@ module RubyLLM
110
110
  end
111
111
 
112
112
  transaction do
113
- messages.last.update!(
113
+ @message.update!(
114
114
  role: message.role,
115
115
  content: message.content,
116
116
  model_id: message.model_id,
@@ -126,7 +126,7 @@ module RubyLLM
126
126
  tool_calls.each_value do |tool_call|
127
127
  attributes = tool_call.to_h
128
128
  attributes[:tool_call_id] = attributes.delete(:id)
129
- messages.last.tool_calls.create!(**attributes)
129
+ @message.tool_calls.create!(**attributes)
130
130
  end
131
131
  end
132
132
  end
@@ -60,7 +60,7 @@ module RubyLLM
60
60
  raise RateLimitError.new(response, message || 'Rate limit exceeded - please wait a moment')
61
61
  when 500
62
62
  raise ServerError.new(response, message || 'API server error - please try again')
63
- when 503
63
+ when 502..503
64
64
  raise ServiceUnavailableError.new(response, message || 'API server unavailable - please try again later')
65
65
  else
66
66
  raise Error.new(response, message || 'An unknown error occurred')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyLLM
4
- VERSION = '0.1.0.pre46'
4
+ VERSION = '0.1.0.pre48'
5
5
  end
data/lib/ruby_llm.rb CHANGED
@@ -58,7 +58,7 @@ module RubyLLM
58
58
  @logger ||= Logger.new(
59
59
  $stdout,
60
60
  progname: 'RubyLLM',
61
- level: ENV['RUBY_LLM_DEBUG'] ? Logger::DEBUG : Logger::INFO
61
+ level: ENV['RUBYLLM_DEBUG'] ? Logger::DEBUG : Logger::INFO
62
62
  )
63
63
  end
64
64
  end
data/ruby_llm.gemspec CHANGED
@@ -35,9 +35,9 @@ Gem::Specification.new do |spec|
35
35
  spec.require_paths = ['lib']
36
36
 
37
37
  # Runtime dependencies
38
- spec.add_dependency 'event_stream_parser', '>= 0.3.0', '< 2.0.0'
39
- spec.add_dependency 'faraday', '>= 2.0'
40
- spec.add_dependency 'faraday-multipart', '>= 1.0'
41
- spec.add_dependency 'faraday-retry', '>= 2.0'
42
- spec.add_dependency 'zeitwerk', '>= 2.6'
38
+ spec.add_dependency 'event_stream_parser', '~> 1'
39
+ spec.add_dependency 'faraday', '~> 2'
40
+ spec.add_dependency 'faraday-multipart', '~> 1'
41
+ spec.add_dependency 'faraday-retry', '~> 2'
42
+ spec.add_dependency 'zeitwerk', '~> 2'
43
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre46
4
+ version: 0.1.0.pre48
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carmine Paolino
@@ -14,78 +14,72 @@ dependencies:
14
14
  name: event_stream_parser
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.0
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 2.0.0
19
+ version: '1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.3.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: 2.0.0
26
+ version: '1'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: faraday
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
31
+ - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '2.0'
33
+ version: '2'
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
- - - ">="
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '2.0'
40
+ version: '2'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: faraday-multipart
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ">="
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '1.0'
47
+ version: '1'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ">="
52
+ - - "~>"
59
53
  - !ruby/object:Gem::Version
60
- version: '1.0'
54
+ version: '1'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: faraday-retry
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - ">="
59
+ - - "~>"
66
60
  - !ruby/object:Gem::Version
67
- version: '2.0'
61
+ version: '2'
68
62
  type: :runtime
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - ">="
66
+ - - "~>"
73
67
  - !ruby/object:Gem::Version
74
- version: '2.0'
68
+ version: '2'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: zeitwerk
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
- - - ">="
73
+ - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '2.6'
75
+ version: '2'
82
76
  type: :runtime
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - ">="
80
+ - - "~>"
87
81
  - !ruby/object:Gem::Version
88
- version: '2.6'
82
+ version: '2'
89
83
  description: A delightful Ruby way to work with AI. Chat in text, analyze and generate
90
84
  images, understand audio, and use tools through a unified interface to OpenAI, Anthropic,
91
85
  Google, and DeepSeek. Built for developer happiness with automatic token counting,