ruby-openai-swarm 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cbea41bea26f5e39c1441ed97500e665d40a690d70e7e1808b860a45acafd748
4
- data.tar.gz: 7bb5230432bd503ff5e6a6cd263d75acd2070846cc6df75442519cf35fd9ade8
3
+ metadata.gz: 143ab1b153e54393e27a5a2f02d77c94ecaa8ed477d6ecdc2f072730b63ffd1f
4
+ data.tar.gz: fa72888457647eefc2fedc5c5d97dcd1ccf7b2e35f1395eebf0500dc4a14fb22
5
5
  SHA512:
6
- metadata.gz: 1763ee7808957a4ae784681f6505c227af4dcadaddde476447dc0dd6837f64d6106e9b91f6b50be9fc3dc0b1da948c579a2850db4f4cd1b0843eaa6227c88333
7
- data.tar.gz: 07fc02cfef9035871e28726171d8f4de803332fa38be5d0964c985ee71b8473317f21dc2a839fad281c805a3822de890907113e9cf683db470987babce22a7ee
6
+ metadata.gz: 6b6830bb7dc3cb4e0512e0c5e0967ba7160b1967b5a44136923108df60cbb76450da27df55cadc9357a8a6c86d093db27dfbfdcf0f839e8db1e12114606055d7
7
+ data.tar.gz: f8f67a146f3e089973e333a9ae39d2310779fa89648b91459ebcfe83029b4b6328852085cfb4179ae6627e60d802ff974ddaa8bebeee2f638fedcd89f1020e2a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-openai-swarm (0.2.5)
4
+ ruby-openai-swarm (0.2.6)
5
5
  ruby-openai (~> 7.3)
6
6
 
7
7
  GEM
@@ -65,4 +65,4 @@ params:
65
65
  GUIDE_EXAMPLES
66
66
  puts guide_examples
67
67
 
68
- OpenAISwarm::Repl.run_demo_loop(triage_agent, context_variables: context_variables, debug: env_debug)
68
+ OpenAISwarm::Repl.run_demo_loop(triage_agent, context_variables: context_variables, stream: true, debug: env_debug)
@@ -46,6 +46,7 @@ Details:
46
46
  Example: “What’s the weather in NYC?”
47
47
  Action: Calls get_weather with location “New York City”.
48
48
  Response: Only provides weather details.
49
+
49
50
  2. Multiple Function Calls
50
51
  Example: “Tell me the weather in New York and the latest news headlines.”
51
52
  Action: Calls get_weather for weather and get_news for news.
@@ -58,4 +59,19 @@ GUIDE_EXAMPLES
58
59
 
59
60
  puts guide_examples
60
61
 
61
- OpenAISwarm::Repl.run_demo_loop(agent, stream: true, debug: env_debug)
62
+ # OpenAISwarm::Repl.run_demo_loop(agent, stream: true, debug: env_debug)
63
+
64
+ OpenAISwarm.new.run_and_stream(
65
+ agent: agent,
66
+ debug: true,
67
+ messages: [{"role" => "user", "content" => "Tell me the weather in New York and the latest news headlines."}]
68
+ ) do |chunk|
69
+ if chunk.key?("content") && !chunk["content"].nil?
70
+ puts ">>>#{chunk}"
71
+ end
72
+
73
+ if chunk.key?('response')
74
+ binding.pry
75
+ # log_llm_request(chunk['response'])
76
+ end
77
+ end
@@ -212,8 +212,16 @@ module OpenAISwarm
212
212
 
213
213
  yield({ delim: "start" }) if block_given?
214
214
  completion.each do |chunk|
215
-
216
- raise OpenAISwarm::Error.new(chunk['error']) if chunk['error']
215
+ if chunk['error']
216
+ details = {
217
+ 'response' =>
218
+ Response.new(
219
+ messages: messages,
220
+ agent: active_agent,
221
+ context_variables: context_variables)
222
+ }
223
+ raise OpenAISwarm::Error.new(chunk['error'], details)
224
+ end
217
225
 
218
226
  delta = chunk.dig('choices', 0, 'delta')
219
227
  if delta['role'] == "assistant"
@@ -1,3 +1,3 @@
1
1
  module OpenAISwarm
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
@@ -8,7 +8,13 @@ require 'ruby-openai-swarm/function_descriptor'
8
8
  require 'ruby-openai-swarm/repl'
9
9
 
10
10
  module OpenAISwarm
11
- class Error < StandardError; end
11
+ class Error < StandardError;
12
+ attr_reader :details
13
+ def initialize(message, details = {})
14
+ @details = details
15
+ super(message)
16
+ end
17
+ end
12
18
 
13
19
  class << self
14
20
  def new(client = nil)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-openai-swarm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grayson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-27 00:00:00.000000000 Z
11
+ date: 2024-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-openai