ruby_bots 0.0.14 → 0.0.16
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/ruby_bots/tool.rb +17 -3
- data/lib/ruby_bots/tools/openai_tool.rb +0 -8
- data/lib/ruby_bots/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: 8edabf893242432d5b0a513a2fdac99ea2799a504e06a5b3e1fa02b39c701a64
|
4
|
+
data.tar.gz: 149731352ba25091b61fa16ac1cf70069a0f21fd355e8a2c261c10916ce900e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e77831c3296c2913280c7c31f24a62a911f9b046deef425afc959fbcd7a5291ff35255fc81b21ce0f222b707f4015a5fbd41e599fcb2ea55f456e8d3263b111b
|
7
|
+
data.tar.gz: dd4e5b2ac95e560f744397ba84d2b2e43b1e5d9857e2c9e28d7ac3d96f2c5810ca98063ae537c448cb82bb66eec250e6bc25a3b1aa7609c7b6badde661c99589
|
data/lib/ruby_bots/tool.rb
CHANGED
@@ -24,13 +24,21 @@ module RubyBots
|
|
24
24
|
|
25
25
|
def response(input)
|
26
26
|
@@input_validators.each do |validator|
|
27
|
-
validator
|
27
|
+
send(validator, input)
|
28
28
|
end
|
29
29
|
|
30
|
-
|
30
|
+
if @errors.empty?
|
31
|
+
output = run(input)
|
32
|
+
else
|
33
|
+
raise RubyBots::Errors::InvalidInputError.new(errors: @errors)
|
34
|
+
end
|
31
35
|
|
32
36
|
@@output_validators.each do |validator|
|
33
|
-
validator
|
37
|
+
send(validator, output)
|
38
|
+
end
|
39
|
+
|
40
|
+
if @errors.any?
|
41
|
+
raise RubyBots::Errors::InvalidOutputError.new(errors: @errors)
|
34
42
|
end
|
35
43
|
end
|
36
44
|
|
@@ -39,5 +47,11 @@ module RubyBots
|
|
39
47
|
def run(inputs)
|
40
48
|
raise NotImplementedError
|
41
49
|
end
|
50
|
+
|
51
|
+
def is_json(param)
|
52
|
+
JSON.parse(param)
|
53
|
+
rescue JSON::ParserError
|
54
|
+
errors << "invalid JSON"
|
55
|
+
end
|
42
56
|
end
|
43
57
|
end
|
@@ -2,8 +2,6 @@ require 'openai'
|
|
2
2
|
|
3
3
|
module RubyBots
|
4
4
|
class OpenAITool < Tool
|
5
|
-
validate_inputs :input_is_json
|
6
|
-
|
7
5
|
DEFAULT_DESCRIPTION = "This tool will use open ai to determine the output."
|
8
6
|
|
9
7
|
def initialize(name: "OpenAI Tool", description: DEFAULT_DESCRIPTION)
|
@@ -39,11 +37,5 @@ module RubyBots
|
|
39
37
|
|
40
38
|
response.dig("choices", 0, "message", "content")
|
41
39
|
end
|
42
|
-
|
43
|
-
def input_is_json(input)
|
44
|
-
JSON.parse(input)
|
45
|
-
rescue JSON::ParserError
|
46
|
-
errors.add(:input, "must be valid JSON")
|
47
|
-
end
|
48
40
|
end
|
49
41
|
end
|
data/lib/ruby_bots/version.rb
CHANGED