ox-ai-workers 1.1.4.2 → 1.1.5
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/lib/oxaiworkers/iterator.rb +3 -3
- data/lib/oxaiworkers/module_request.rb +6 -5
- data/lib/oxaiworkers/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5784dfd8d79874e6db22d56d3e311777e1bddc4b68686881b7d41d6a0b25fed
|
4
|
+
data.tar.gz: 6ef196f9d45a183fa3bec41d5782afbf0bb60158df14847a2e3682012143a3da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 878ddf667e5e7198e0b007ad3cb7b41f268929f3ea678a6be0d20667ca7ecaa3fbad190c99a8e01bf9d4152bf7ca9af1f9de1d7d3d92cdf324d26974e1472d01
|
7
|
+
data.tar.gz: 2f23c2a05a207bc0a258e16c67724af7c9093aac3aba0bd8d72402a1d7d6887a383bee08965fac45ce1a8423810758a35a6063254b827e6a96530a00147e0589
|
data/lib/oxaiworkers/iterator.rb
CHANGED
@@ -178,7 +178,7 @@ module OxAiWorkers
|
|
178
178
|
def next_iteration
|
179
179
|
# Check call_stack before continuing iteration
|
180
180
|
if should_finish_iteration?
|
181
|
-
OxAiWorkers.logger.info
|
181
|
+
OxAiWorkers.logger.info 'Iterator::Call stack is empty or contains only finish_it. Finishing iteration.'
|
182
182
|
finish_it
|
183
183
|
return
|
184
184
|
end
|
@@ -196,9 +196,9 @@ module OxAiWorkers
|
|
196
196
|
def should_finish_iteration?
|
197
197
|
return false if @worker.call_stack.nil?
|
198
198
|
return false unless @worker.respond_to?(:call_stack) && @worker.call_stack.present?
|
199
|
-
|
199
|
+
|
200
200
|
finish_it_function = OxAiWorkers::Iterator.full_function_name(:finish_it)
|
201
|
-
|
201
|
+
|
202
202
|
# Check if the call queue is empty or contains only finish_it
|
203
203
|
@worker.call_stack.empty? || @worker.call_stack.all? { |call| call == finish_it_function }
|
204
204
|
end
|
@@ -55,11 +55,7 @@ module OxAiWorkers
|
|
55
55
|
filtered_functions = []
|
56
56
|
filtered_functions << @last_call if @stop_double_calls.include?(@last_call)
|
57
57
|
|
58
|
-
tool_choice = if @call_stack&.any?
|
59
|
-
func1 = @call_stack.first
|
60
|
-
@call_stack = @call_stack.drop(1)
|
61
|
-
func1
|
62
|
-
end
|
58
|
+
tool_choice = (@call_stack.first if @call_stack&.any?)
|
63
59
|
|
64
60
|
@model.build_parameters(
|
65
61
|
messages: @messages,
|
@@ -87,6 +83,11 @@ module OxAiWorkers
|
|
87
83
|
@tool_calls += tool_calls
|
88
84
|
end
|
89
85
|
@last_call = @tool_calls.last[:name] if @tool_calls.any?
|
86
|
+
|
87
|
+
# Remove the first element from call_stack only after successful tool call
|
88
|
+
if @tool_calls.any? && @call_stack&.any?
|
89
|
+
@call_stack = @call_stack.drop(1)
|
90
|
+
end
|
90
91
|
end
|
91
92
|
end
|
92
93
|
end
|
data/lib/oxaiworkers/version.rb
CHANGED