deeprails 0.18.0 → 0.24.0
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/CHANGELOG.md +92 -0
- data/README.md +1 -1
- data/lib/deeprails/internal/stream.rb +29 -0
- data/lib/deeprails/internal/transport/base_client.rb +3 -1
- data/lib/deeprails/internal/transport/pooled_net_requester.rb +13 -11
- data/lib/deeprails/internal/type/base_stream.rb +83 -0
- data/lib/deeprails/internal/util.rb +39 -3
- data/lib/deeprails/models/defend_create_workflow_params.rb +14 -1
- data/lib/deeprails/models/defend_response.rb +134 -10
- data/lib/deeprails/models/defend_retrieve_event_params.rb +7 -1
- data/lib/deeprails/models/defend_retrieve_workflow_params.rb +8 -1
- data/lib/deeprails/models/defend_submit_and_stream_event_params.rb +92 -0
- data/lib/deeprails/models/defend_submit_and_stream_event_response.rb +7 -0
- data/lib/deeprails/models/defend_submit_event_params.rb +70 -20
- data/lib/deeprails/models/defend_update_response.rb +9 -1
- data/lib/deeprails/models/defend_update_workflow_params.rb +138 -5
- data/lib/deeprails/models/monitor_create_params.rb +14 -1
- data/lib/deeprails/models/monitor_detail_response.rb +60 -17
- data/lib/deeprails/models/monitor_event_detail_response.rb +11 -5
- data/lib/deeprails/models/monitor_retrieve_event_params.rb +7 -1
- data/lib/deeprails/models/monitor_retrieve_params.rb +8 -1
- data/lib/deeprails/models/monitor_submit_event_params.rb +70 -20
- data/lib/deeprails/models/monitor_update_params.rb +53 -5
- data/lib/deeprails/models/workflow_event_detail_response.rb +99 -16
- data/lib/deeprails/models/workflow_event_response.rb +9 -1
- data/lib/deeprails/models.rb +2 -0
- data/lib/deeprails/resources/defend.rb +70 -5
- data/lib/deeprails/resources/monitor.rb +16 -7
- data/lib/deeprails/version.rb +1 -1
- data/lib/deeprails.rb +5 -0
- data/manifest.yaml +1 -0
- data/rbi/deeprails/internal/stream.rbi +20 -0
- data/rbi/deeprails/internal/transport/base_client.rbi +18 -2
- data/rbi/deeprails/internal/type/base_stream.rbi +75 -0
- data/rbi/deeprails/internal/util.rbi +21 -1
- data/rbi/deeprails/models/defend_create_workflow_params.rbi +21 -0
- data/rbi/deeprails/models/defend_response.rbi +286 -14
- data/rbi/deeprails/models/defend_retrieve_event_params.rbi +10 -2
- data/rbi/deeprails/models/defend_retrieve_workflow_params.rbi +10 -1
- data/rbi/deeprails/models/defend_submit_and_stream_event_params.rbi +155 -0
- data/rbi/deeprails/models/defend_submit_and_stream_event_response.rbi +7 -0
- data/rbi/deeprails/models/defend_submit_event_params.rbi +134 -31
- data/rbi/deeprails/models/defend_update_response.rbi +14 -3
- data/rbi/deeprails/models/defend_update_workflow_params.rbi +304 -4
- data/rbi/deeprails/models/monitor_create_params.rbi +21 -0
- data/rbi/deeprails/models/monitor_detail_response.rbi +122 -28
- data/rbi/deeprails/models/monitor_event_detail_response.rbi +20 -8
- data/rbi/deeprails/models/monitor_retrieve_event_params.rbi +10 -2
- data/rbi/deeprails/models/monitor_retrieve_params.rbi +10 -1
- data/rbi/deeprails/models/monitor_submit_event_params.rbi +134 -31
- data/rbi/deeprails/models/monitor_update_params.rbi +113 -4
- data/rbi/deeprails/models/workflow_event_detail_response.rbi +204 -24
- data/rbi/deeprails/models/workflow_event_response.rbi +8 -0
- data/rbi/deeprails/models.rbi +3 -0
- data/rbi/deeprails/resources/defend.rbi +101 -6
- data/rbi/deeprails/resources/monitor.rbi +31 -8
- data/sig/deeprails/internal/stream.rbs +9 -0
- data/sig/deeprails/internal/type/base_stream.rbs +38 -0
- data/sig/deeprails/internal/util.rbs +10 -0
- data/sig/deeprails/models/defend_create_workflow_params.rbs +7 -0
- data/sig/deeprails/models/defend_response.rbs +114 -8
- data/sig/deeprails/models/defend_retrieve_event_params.rbs +6 -1
- data/sig/deeprails/models/defend_retrieve_workflow_params.rbs +6 -1
- data/sig/deeprails/models/defend_submit_and_stream_event_params.rbs +73 -0
- data/sig/deeprails/models/defend_submit_and_stream_event_response.rbs +5 -0
- data/sig/deeprails/models/defend_submit_event_params.rbs +53 -13
- data/sig/deeprails/models/defend_update_response.rbs +10 -3
- data/sig/deeprails/models/defend_update_workflow_params.rbs +108 -1
- data/sig/deeprails/models/monitor_create_params.rbs +7 -0
- data/sig/deeprails/models/monitor_detail_response.rbs +48 -13
- data/sig/deeprails/models/monitor_event_detail_response.rbs +12 -4
- data/sig/deeprails/models/monitor_retrieve_event_params.rbs +6 -1
- data/sig/deeprails/models/monitor_retrieve_params.rbs +6 -1
- data/sig/deeprails/models/monitor_submit_event_params.rbs +53 -13
- data/sig/deeprails/models/monitor_update_params.rbs +50 -1
- data/sig/deeprails/models/workflow_event_detail_response.rbs +100 -15
- data/sig/deeprails/models/workflow_event_response.rbs +5 -0
- data/sig/deeprails/models.rbs +2 -0
- data/sig/deeprails/resources/defend.rbs +20 -0
- data/sig/deeprails/resources/monitor.rbs +4 -0
- metadata +28 -2
|
@@ -11,14 +11,44 @@ module Deeprails
|
|
|
11
11
|
T.any(Deeprails::MonitorUpdateParams, Deeprails::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
sig { returns(String) }
|
|
15
|
+
attr_accessor :monitor_id
|
|
16
|
+
|
|
17
|
+
# New description of the monitor.
|
|
15
18
|
sig { returns(T.nilable(String)) }
|
|
16
19
|
attr_reader :description
|
|
17
20
|
|
|
18
21
|
sig { params(description: String).void }
|
|
19
22
|
attr_writer :description
|
|
20
23
|
|
|
21
|
-
#
|
|
24
|
+
# An array of file IDs to search in the monitor's evaluations. Files must be
|
|
25
|
+
# uploaded via the DeepRails API first.
|
|
26
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
27
|
+
attr_reader :file_search
|
|
28
|
+
|
|
29
|
+
sig { params(file_search: T::Array[String]).void }
|
|
30
|
+
attr_writer :file_search
|
|
31
|
+
|
|
32
|
+
# An array of the new guardrail metrics that model input and output pairs will be
|
|
33
|
+
# evaluated on.
|
|
34
|
+
sig do
|
|
35
|
+
returns(
|
|
36
|
+
T.nilable(
|
|
37
|
+
T::Array[Deeprails::MonitorUpdateParams::GuardrailMetric::OrSymbol]
|
|
38
|
+
)
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
attr_reader :guardrail_metrics
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
params(
|
|
45
|
+
guardrail_metrics:
|
|
46
|
+
T::Array[Deeprails::MonitorUpdateParams::GuardrailMetric::OrSymbol]
|
|
47
|
+
).void
|
|
48
|
+
end
|
|
49
|
+
attr_writer :guardrail_metrics
|
|
50
|
+
|
|
51
|
+
# New name of the monitor.
|
|
22
52
|
sig { returns(T.nilable(String)) }
|
|
23
53
|
attr_reader :name
|
|
24
54
|
|
|
@@ -37,22 +67,43 @@ module Deeprails
|
|
|
37
67
|
end
|
|
38
68
|
attr_writer :status
|
|
39
69
|
|
|
70
|
+
# Whether to enable web search for this monitor's evaluations.
|
|
71
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
72
|
+
attr_reader :web_search
|
|
73
|
+
|
|
74
|
+
sig { params(web_search: T::Boolean).void }
|
|
75
|
+
attr_writer :web_search
|
|
76
|
+
|
|
40
77
|
sig do
|
|
41
78
|
params(
|
|
79
|
+
monitor_id: String,
|
|
42
80
|
description: String,
|
|
81
|
+
file_search: T::Array[String],
|
|
82
|
+
guardrail_metrics:
|
|
83
|
+
T::Array[Deeprails::MonitorUpdateParams::GuardrailMetric::OrSymbol],
|
|
43
84
|
name: String,
|
|
44
85
|
status: Deeprails::MonitorUpdateParams::Status::OrSymbol,
|
|
86
|
+
web_search: T::Boolean,
|
|
45
87
|
request_options: Deeprails::RequestOptions::OrHash
|
|
46
88
|
).returns(T.attached_class)
|
|
47
89
|
end
|
|
48
90
|
def self.new(
|
|
49
|
-
|
|
91
|
+
monitor_id:,
|
|
92
|
+
# New description of the monitor.
|
|
50
93
|
description: nil,
|
|
51
|
-
#
|
|
94
|
+
# An array of file IDs to search in the monitor's evaluations. Files must be
|
|
95
|
+
# uploaded via the DeepRails API first.
|
|
96
|
+
file_search: nil,
|
|
97
|
+
# An array of the new guardrail metrics that model input and output pairs will be
|
|
98
|
+
# evaluated on.
|
|
99
|
+
guardrail_metrics: nil,
|
|
100
|
+
# New name of the monitor.
|
|
52
101
|
name: nil,
|
|
53
102
|
# Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
|
|
54
103
|
# longer record and evaluate events.
|
|
55
104
|
status: nil,
|
|
105
|
+
# Whether to enable web search for this monitor's evaluations.
|
|
106
|
+
web_search: nil,
|
|
56
107
|
request_options: {}
|
|
57
108
|
)
|
|
58
109
|
end
|
|
@@ -60,9 +111,16 @@ module Deeprails
|
|
|
60
111
|
sig do
|
|
61
112
|
override.returns(
|
|
62
113
|
{
|
|
114
|
+
monitor_id: String,
|
|
63
115
|
description: String,
|
|
116
|
+
file_search: T::Array[String],
|
|
117
|
+
guardrail_metrics:
|
|
118
|
+
T::Array[
|
|
119
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::OrSymbol
|
|
120
|
+
],
|
|
64
121
|
name: String,
|
|
65
122
|
status: Deeprails::MonitorUpdateParams::Status::OrSymbol,
|
|
123
|
+
web_search: T::Boolean,
|
|
66
124
|
request_options: Deeprails::RequestOptions
|
|
67
125
|
}
|
|
68
126
|
)
|
|
@@ -70,6 +128,57 @@ module Deeprails
|
|
|
70
128
|
def to_hash
|
|
71
129
|
end
|
|
72
130
|
|
|
131
|
+
module GuardrailMetric
|
|
132
|
+
extend Deeprails::Internal::Type::Enum
|
|
133
|
+
|
|
134
|
+
TaggedSymbol =
|
|
135
|
+
T.type_alias do
|
|
136
|
+
T.all(Symbol, Deeprails::MonitorUpdateParams::GuardrailMetric)
|
|
137
|
+
end
|
|
138
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
139
|
+
|
|
140
|
+
CORRECTNESS =
|
|
141
|
+
T.let(
|
|
142
|
+
:correctness,
|
|
143
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
144
|
+
)
|
|
145
|
+
COMPLETENESS =
|
|
146
|
+
T.let(
|
|
147
|
+
:completeness,
|
|
148
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
149
|
+
)
|
|
150
|
+
INSTRUCTION_ADHERENCE =
|
|
151
|
+
T.let(
|
|
152
|
+
:instruction_adherence,
|
|
153
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
154
|
+
)
|
|
155
|
+
CONTEXT_ADHERENCE =
|
|
156
|
+
T.let(
|
|
157
|
+
:context_adherence,
|
|
158
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
159
|
+
)
|
|
160
|
+
GROUND_TRUTH_ADHERENCE =
|
|
161
|
+
T.let(
|
|
162
|
+
:ground_truth_adherence,
|
|
163
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
164
|
+
)
|
|
165
|
+
COMPREHENSIVE_SAFETY =
|
|
166
|
+
T.let(
|
|
167
|
+
:comprehensive_safety,
|
|
168
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
sig do
|
|
172
|
+
override.returns(
|
|
173
|
+
T::Array[
|
|
174
|
+
Deeprails::MonitorUpdateParams::GuardrailMetric::TaggedSymbol
|
|
175
|
+
]
|
|
176
|
+
)
|
|
177
|
+
end
|
|
178
|
+
def self.values
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
73
182
|
# Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
|
|
74
183
|
# longer record and evaluate events.
|
|
75
184
|
module Status
|
|
@@ -11,6 +11,9 @@ module Deeprails
|
|
|
11
11
|
)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
sig { returns(T::Array[String]) }
|
|
15
|
+
attr_accessor :analysis_of_failures
|
|
16
|
+
|
|
14
17
|
# History of evaluations for the event.
|
|
15
18
|
sig do
|
|
16
19
|
returns(
|
|
@@ -45,7 +48,12 @@ module Deeprails
|
|
|
45
48
|
end
|
|
46
49
|
attr_accessor :improvement_action
|
|
47
50
|
|
|
48
|
-
# Status of the improvement tool used to improve the event.
|
|
51
|
+
# Status of the improvement tool used to improve the event. `improvement_required`
|
|
52
|
+
# indicates that the evaluation is complete and the improvement action is needed
|
|
53
|
+
# but is not taking place. `improved` and `improvement_failed` indicate when the
|
|
54
|
+
# improvement action concludes, successfully and unsuccessfully, respectively.
|
|
55
|
+
# `no_improvement_required` means that the first evaluation passed all its
|
|
56
|
+
# metrics!
|
|
49
57
|
sig do
|
|
50
58
|
returns(
|
|
51
59
|
T.nilable(
|
|
@@ -55,6 +63,13 @@ module Deeprails
|
|
|
55
63
|
end
|
|
56
64
|
attr_accessor :improvement_tool_status
|
|
57
65
|
|
|
66
|
+
sig do
|
|
67
|
+
returns(
|
|
68
|
+
T::Array[Deeprails::WorkflowEventDetailResponse::KeyImprovement]
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
attr_accessor :key_improvements
|
|
72
|
+
|
|
58
73
|
# Status of the event.
|
|
59
74
|
sig do
|
|
60
75
|
returns(Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol)
|
|
@@ -98,8 +113,8 @@ module Deeprails
|
|
|
98
113
|
end
|
|
99
114
|
attr_writer :automatic_hallucination_tolerance_levels
|
|
100
115
|
|
|
101
|
-
# Extended AI capabilities available to the event, if any. Can be `web_search
|
|
102
|
-
# and/or `
|
|
116
|
+
# Extended AI capabilities available to the event, if any. Can be `web_search`,
|
|
117
|
+
# `file_search`, and/or `context_awareness`.
|
|
103
118
|
sig do
|
|
104
119
|
returns(
|
|
105
120
|
T.nilable(
|
|
@@ -145,8 +160,17 @@ module Deeprails
|
|
|
145
160
|
end
|
|
146
161
|
attr_writer :files
|
|
147
162
|
|
|
163
|
+
# The maximum number of improvement attempts to be applied to one event before it
|
|
164
|
+
# is considered failed.
|
|
165
|
+
sig { returns(T.nilable(Integer)) }
|
|
166
|
+
attr_reader :max_improvement_attempts
|
|
167
|
+
|
|
168
|
+
sig { params(max_improvement_attempts: Integer).void }
|
|
169
|
+
attr_writer :max_improvement_attempts
|
|
170
|
+
|
|
148
171
|
sig do
|
|
149
172
|
params(
|
|
173
|
+
analysis_of_failures: T::Array[String],
|
|
150
174
|
evaluation_history:
|
|
151
175
|
T::Array[
|
|
152
176
|
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::OrHash
|
|
@@ -161,6 +185,10 @@ module Deeprails
|
|
|
161
185
|
T.nilable(
|
|
162
186
|
Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::OrSymbol
|
|
163
187
|
),
|
|
188
|
+
key_improvements:
|
|
189
|
+
T::Array[
|
|
190
|
+
Deeprails::WorkflowEventDetailResponse::KeyImprovement::OrHash
|
|
191
|
+
],
|
|
164
192
|
status: Deeprails::WorkflowEventDetailResponse::Status::OrSymbol,
|
|
165
193
|
threshold_type:
|
|
166
194
|
Deeprails::WorkflowEventDetailResponse::ThresholdType::OrSymbol,
|
|
@@ -175,10 +203,12 @@ module Deeprails
|
|
|
175
203
|
Deeprails::WorkflowEventDetailResponse::Capability::OrHash
|
|
176
204
|
],
|
|
177
205
|
custom_hallucination_threshold_values: T::Hash[Symbol, Float],
|
|
178
|
-
files: T::Array[Deeprails::WorkflowEventDetailResponse::File::OrHash]
|
|
206
|
+
files: T::Array[Deeprails::WorkflowEventDetailResponse::File::OrHash],
|
|
207
|
+
max_improvement_attempts: Integer
|
|
179
208
|
).returns(T.attached_class)
|
|
180
209
|
end
|
|
181
210
|
def self.new(
|
|
211
|
+
analysis_of_failures:,
|
|
182
212
|
# History of evaluations for the event.
|
|
183
213
|
evaluation_history:,
|
|
184
214
|
# Evaluation result consisting of average scores and rationales for each of the
|
|
@@ -193,8 +223,14 @@ module Deeprails
|
|
|
193
223
|
improved_model_output:,
|
|
194
224
|
# Type of improvement action used to improve the event.
|
|
195
225
|
improvement_action:,
|
|
196
|
-
# Status of the improvement tool used to improve the event.
|
|
226
|
+
# Status of the improvement tool used to improve the event. `improvement_required`
|
|
227
|
+
# indicates that the evaluation is complete and the improvement action is needed
|
|
228
|
+
# but is not taking place. `improved` and `improvement_failed` indicate when the
|
|
229
|
+
# improvement action concludes, successfully and unsuccessfully, respectively.
|
|
230
|
+
# `no_improvement_required` means that the first evaluation passed all its
|
|
231
|
+
# metrics!
|
|
197
232
|
improvement_tool_status:,
|
|
233
|
+
key_improvements:,
|
|
198
234
|
# Status of the event.
|
|
199
235
|
status:,
|
|
200
236
|
# Type of thresholds used to evaluate the event.
|
|
@@ -204,21 +240,25 @@ module Deeprails
|
|
|
204
240
|
# Mapping of guardrail metric names to tolerance values. Values are strings
|
|
205
241
|
# (`low`, `medium`, `high`) representing automatic tolerance levels.
|
|
206
242
|
automatic_hallucination_tolerance_levels: nil,
|
|
207
|
-
# Extended AI capabilities available to the event, if any. Can be `web_search
|
|
208
|
-
# and/or `
|
|
243
|
+
# Extended AI capabilities available to the event, if any. Can be `web_search`,
|
|
244
|
+
# `file_search`, and/or `context_awareness`.
|
|
209
245
|
capabilities: nil,
|
|
210
246
|
# Mapping of guardrail metric names to threshold values. Values are floating point
|
|
211
247
|
# numbers (0.0-1.0) representing custom thresholds.
|
|
212
248
|
custom_hallucination_threshold_values: nil,
|
|
213
249
|
# List of files available to the event, if any. Will only be present if
|
|
214
250
|
# `file_search` is enabled.
|
|
215
|
-
files: nil
|
|
251
|
+
files: nil,
|
|
252
|
+
# The maximum number of improvement attempts to be applied to one event before it
|
|
253
|
+
# is considered failed.
|
|
254
|
+
max_improvement_attempts: nil
|
|
216
255
|
)
|
|
217
256
|
end
|
|
218
257
|
|
|
219
258
|
sig do
|
|
220
259
|
override.returns(
|
|
221
260
|
{
|
|
261
|
+
analysis_of_failures: T::Array[String],
|
|
222
262
|
evaluation_history:
|
|
223
263
|
T::Array[
|
|
224
264
|
Deeprails::WorkflowEventDetailResponse::EvaluationHistory
|
|
@@ -233,6 +273,8 @@ module Deeprails
|
|
|
233
273
|
T.nilable(
|
|
234
274
|
Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
|
|
235
275
|
),
|
|
276
|
+
key_improvements:
|
|
277
|
+
T::Array[Deeprails::WorkflowEventDetailResponse::KeyImprovement],
|
|
236
278
|
status:
|
|
237
279
|
Deeprails::WorkflowEventDetailResponse::Status::TaggedSymbol,
|
|
238
280
|
threshold_type:
|
|
@@ -246,7 +288,8 @@ module Deeprails
|
|
|
246
288
|
capabilities:
|
|
247
289
|
T::Array[Deeprails::WorkflowEventDetailResponse::Capability],
|
|
248
290
|
custom_hallucination_threshold_values: T::Hash[Symbol, Float],
|
|
249
|
-
files: T::Array[Deeprails::WorkflowEventDetailResponse::File]
|
|
291
|
+
files: T::Array[Deeprails::WorkflowEventDetailResponse::File],
|
|
292
|
+
max_improvement_attempts: Integer
|
|
250
293
|
}
|
|
251
294
|
)
|
|
252
295
|
end
|
|
@@ -262,6 +305,12 @@ module Deeprails
|
|
|
262
305
|
)
|
|
263
306
|
end
|
|
264
307
|
|
|
308
|
+
sig { returns(T.nilable(String)) }
|
|
309
|
+
attr_reader :analysis_of_failures
|
|
310
|
+
|
|
311
|
+
sig { params(analysis_of_failures: String).void }
|
|
312
|
+
attr_writer :analysis_of_failures
|
|
313
|
+
|
|
265
314
|
sig { returns(T.nilable(String)) }
|
|
266
315
|
attr_reader :attempt
|
|
267
316
|
|
|
@@ -304,6 +353,29 @@ module Deeprails
|
|
|
304
353
|
sig { params(guardrail_metrics: T::Array[String]).void }
|
|
305
354
|
attr_writer :guardrail_metrics
|
|
306
355
|
|
|
356
|
+
sig do
|
|
357
|
+
returns(
|
|
358
|
+
T.nilable(
|
|
359
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
|
|
360
|
+
)
|
|
361
|
+
)
|
|
362
|
+
end
|
|
363
|
+
attr_reader :improvement_tool_status
|
|
364
|
+
|
|
365
|
+
sig do
|
|
366
|
+
params(
|
|
367
|
+
improvement_tool_status:
|
|
368
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::OrSymbol
|
|
369
|
+
).void
|
|
370
|
+
end
|
|
371
|
+
attr_writer :improvement_tool_status
|
|
372
|
+
|
|
373
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
374
|
+
attr_reader :key_improvements
|
|
375
|
+
|
|
376
|
+
sig { params(key_improvements: T::Array[String]).void }
|
|
377
|
+
attr_writer :key_improvements
|
|
378
|
+
|
|
307
379
|
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
|
308
380
|
attr_reader :model_input
|
|
309
381
|
|
|
@@ -316,12 +388,6 @@ module Deeprails
|
|
|
316
388
|
sig { params(model_output: String).void }
|
|
317
389
|
attr_writer :model_output
|
|
318
390
|
|
|
319
|
-
sig { returns(T.nilable(Time)) }
|
|
320
|
-
attr_reader :modified_at
|
|
321
|
-
|
|
322
|
-
sig { params(modified_at: Time).void }
|
|
323
|
-
attr_writer :modified_at
|
|
324
|
-
|
|
325
391
|
sig { returns(T.nilable(String)) }
|
|
326
392
|
attr_reader :nametag
|
|
327
393
|
|
|
@@ -342,6 +408,7 @@ module Deeprails
|
|
|
342
408
|
|
|
343
409
|
sig do
|
|
344
410
|
params(
|
|
411
|
+
analysis_of_failures: String,
|
|
345
412
|
attempt: String,
|
|
346
413
|
created_at: Time,
|
|
347
414
|
error_message: String,
|
|
@@ -349,15 +416,18 @@ module Deeprails
|
|
|
349
416
|
evaluation_status: String,
|
|
350
417
|
evaluation_total_cost: Float,
|
|
351
418
|
guardrail_metrics: T::Array[String],
|
|
419
|
+
improvement_tool_status:
|
|
420
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::OrSymbol,
|
|
421
|
+
key_improvements: T::Array[String],
|
|
352
422
|
model_input: T::Hash[Symbol, T.anything],
|
|
353
423
|
model_output: String,
|
|
354
|
-
modified_at: Time,
|
|
355
424
|
nametag: String,
|
|
356
425
|
progress: Integer,
|
|
357
426
|
run_mode: String
|
|
358
427
|
).returns(T.attached_class)
|
|
359
428
|
end
|
|
360
429
|
def self.new(
|
|
430
|
+
analysis_of_failures: nil,
|
|
361
431
|
attempt: nil,
|
|
362
432
|
created_at: nil,
|
|
363
433
|
error_message: nil,
|
|
@@ -365,9 +435,10 @@ module Deeprails
|
|
|
365
435
|
evaluation_status: nil,
|
|
366
436
|
evaluation_total_cost: nil,
|
|
367
437
|
guardrail_metrics: nil,
|
|
438
|
+
improvement_tool_status: nil,
|
|
439
|
+
key_improvements: nil,
|
|
368
440
|
model_input: nil,
|
|
369
441
|
model_output: nil,
|
|
370
|
-
modified_at: nil,
|
|
371
442
|
nametag: nil,
|
|
372
443
|
progress: nil,
|
|
373
444
|
run_mode: nil
|
|
@@ -377,6 +448,7 @@ module Deeprails
|
|
|
377
448
|
sig do
|
|
378
449
|
override.returns(
|
|
379
450
|
{
|
|
451
|
+
analysis_of_failures: String,
|
|
380
452
|
attempt: String,
|
|
381
453
|
created_at: Time,
|
|
382
454
|
error_message: String,
|
|
@@ -384,9 +456,11 @@ module Deeprails
|
|
|
384
456
|
evaluation_status: String,
|
|
385
457
|
evaluation_total_cost: Float,
|
|
386
458
|
guardrail_metrics: T::Array[String],
|
|
459
|
+
improvement_tool_status:
|
|
460
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol,
|
|
461
|
+
key_improvements: T::Array[String],
|
|
387
462
|
model_input: T::Hash[Symbol, T.anything],
|
|
388
463
|
model_output: String,
|
|
389
|
-
modified_at: Time,
|
|
390
464
|
nametag: String,
|
|
391
465
|
progress: Integer,
|
|
392
466
|
run_mode: String
|
|
@@ -395,6 +469,50 @@ module Deeprails
|
|
|
395
469
|
end
|
|
396
470
|
def to_hash
|
|
397
471
|
end
|
|
472
|
+
|
|
473
|
+
module ImprovementToolStatus
|
|
474
|
+
extend Deeprails::Internal::Type::Enum
|
|
475
|
+
|
|
476
|
+
TaggedSymbol =
|
|
477
|
+
T.type_alias do
|
|
478
|
+
T.all(
|
|
479
|
+
Symbol,
|
|
480
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus
|
|
481
|
+
)
|
|
482
|
+
end
|
|
483
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
484
|
+
|
|
485
|
+
IMPROVED =
|
|
486
|
+
T.let(
|
|
487
|
+
:improved,
|
|
488
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
|
|
489
|
+
)
|
|
490
|
+
IMPROVEMENT_FAILED =
|
|
491
|
+
T.let(
|
|
492
|
+
:improvement_failed,
|
|
493
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
|
|
494
|
+
)
|
|
495
|
+
NO_IMPROVEMENT_REQUIRED =
|
|
496
|
+
T.let(
|
|
497
|
+
:no_improvement_required,
|
|
498
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
|
|
499
|
+
)
|
|
500
|
+
IMPROVEMENT_REQUIRED =
|
|
501
|
+
T.let(
|
|
502
|
+
:improvement_required,
|
|
503
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
|
|
504
|
+
)
|
|
505
|
+
|
|
506
|
+
sig do
|
|
507
|
+
override.returns(
|
|
508
|
+
T::Array[
|
|
509
|
+
Deeprails::WorkflowEventDetailResponse::EvaluationHistory::ImprovementToolStatus::TaggedSymbol
|
|
510
|
+
]
|
|
511
|
+
)
|
|
512
|
+
end
|
|
513
|
+
def self.values
|
|
514
|
+
end
|
|
515
|
+
end
|
|
398
516
|
end
|
|
399
517
|
|
|
400
518
|
# Type of improvement action used to improve the event.
|
|
@@ -437,7 +555,12 @@ module Deeprails
|
|
|
437
555
|
end
|
|
438
556
|
end
|
|
439
557
|
|
|
440
|
-
# Status of the improvement tool used to improve the event.
|
|
558
|
+
# Status of the improvement tool used to improve the event. `improvement_required`
|
|
559
|
+
# indicates that the evaluation is complete and the improvement action is needed
|
|
560
|
+
# but is not taking place. `improved` and `improvement_failed` indicate when the
|
|
561
|
+
# improvement action concludes, successfully and unsuccessfully, respectively.
|
|
562
|
+
# `no_improvement_required` means that the first evaluation passed all its
|
|
563
|
+
# metrics!
|
|
441
564
|
module ImprovementToolStatus
|
|
442
565
|
extend Deeprails::Internal::Type::Enum
|
|
443
566
|
|
|
@@ -455,9 +578,14 @@ module Deeprails
|
|
|
455
578
|
:improved,
|
|
456
579
|
Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
|
|
457
580
|
)
|
|
458
|
-
|
|
581
|
+
IMPROVEMENT_FAILED =
|
|
582
|
+
T.let(
|
|
583
|
+
:improvement_failed,
|
|
584
|
+
Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
|
|
585
|
+
)
|
|
586
|
+
NO_IMPROVEMENT_REQUIRED =
|
|
459
587
|
T.let(
|
|
460
|
-
:
|
|
588
|
+
:no_improvement_required,
|
|
461
589
|
Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus::TaggedSymbol
|
|
462
590
|
)
|
|
463
591
|
IMPROVEMENT_REQUIRED =
|
|
@@ -477,6 +605,32 @@ module Deeprails
|
|
|
477
605
|
end
|
|
478
606
|
end
|
|
479
607
|
|
|
608
|
+
class KeyImprovement < Deeprails::Internal::Type::BaseModel
|
|
609
|
+
OrHash =
|
|
610
|
+
T.type_alias do
|
|
611
|
+
T.any(
|
|
612
|
+
Deeprails::WorkflowEventDetailResponse::KeyImprovement,
|
|
613
|
+
Deeprails::Internal::AnyHash
|
|
614
|
+
)
|
|
615
|
+
end
|
|
616
|
+
|
|
617
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
618
|
+
attr_reader :key_improvement
|
|
619
|
+
|
|
620
|
+
sig { params(key_improvement: T::Array[String]).void }
|
|
621
|
+
attr_writer :key_improvement
|
|
622
|
+
|
|
623
|
+
sig do
|
|
624
|
+
params(key_improvement: T::Array[String]).returns(T.attached_class)
|
|
625
|
+
end
|
|
626
|
+
def self.new(key_improvement: nil)
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
sig { override.returns({ key_improvement: T::Array[String] }) }
|
|
630
|
+
def to_hash
|
|
631
|
+
end
|
|
632
|
+
end
|
|
633
|
+
|
|
480
634
|
# Status of the event.
|
|
481
635
|
module Status
|
|
482
636
|
extend Deeprails::Internal::Type::Enum
|
|
@@ -631,19 +785,45 @@ module Deeprails
|
|
|
631
785
|
sig { params(file_size: Integer).void }
|
|
632
786
|
attr_writer :file_size
|
|
633
787
|
|
|
788
|
+
sig { returns(T.nilable(String)) }
|
|
789
|
+
attr_reader :presigned_url
|
|
790
|
+
|
|
791
|
+
sig { params(presigned_url: String).void }
|
|
792
|
+
attr_writer :presigned_url
|
|
793
|
+
|
|
794
|
+
sig { returns(T.nilable(Time)) }
|
|
795
|
+
attr_reader :presigned_url_expires_at
|
|
796
|
+
|
|
797
|
+
sig { params(presigned_url_expires_at: Time).void }
|
|
798
|
+
attr_writer :presigned_url_expires_at
|
|
799
|
+
|
|
634
800
|
sig do
|
|
635
801
|
params(
|
|
636
802
|
file_id: String,
|
|
637
803
|
file_name: String,
|
|
638
|
-
file_size: Integer
|
|
804
|
+
file_size: Integer,
|
|
805
|
+
presigned_url: String,
|
|
806
|
+
presigned_url_expires_at: Time
|
|
639
807
|
).returns(T.attached_class)
|
|
640
808
|
end
|
|
641
|
-
def self.new(
|
|
809
|
+
def self.new(
|
|
810
|
+
file_id: nil,
|
|
811
|
+
file_name: nil,
|
|
812
|
+
file_size: nil,
|
|
813
|
+
presigned_url: nil,
|
|
814
|
+
presigned_url_expires_at: nil
|
|
815
|
+
)
|
|
642
816
|
end
|
|
643
817
|
|
|
644
818
|
sig do
|
|
645
819
|
override.returns(
|
|
646
|
-
{
|
|
820
|
+
{
|
|
821
|
+
file_id: String,
|
|
822
|
+
file_name: String,
|
|
823
|
+
file_size: Integer,
|
|
824
|
+
presigned_url: String,
|
|
825
|
+
presigned_url_expires_at: Time
|
|
826
|
+
}
|
|
647
827
|
)
|
|
648
828
|
end
|
|
649
829
|
def to_hash
|
|
@@ -8,6 +8,10 @@ module Deeprails
|
|
|
8
8
|
T.any(Deeprails::WorkflowEventResponse, Deeprails::Internal::AnyHash)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
+
# The ID of the billing request for the event.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :billing_request_id
|
|
14
|
+
|
|
11
15
|
# The time the event was created in UTC.
|
|
12
16
|
sig { returns(Time) }
|
|
13
17
|
attr_accessor :created_at
|
|
@@ -26,6 +30,7 @@ module Deeprails
|
|
|
26
30
|
|
|
27
31
|
sig do
|
|
28
32
|
params(
|
|
33
|
+
billing_request_id: String,
|
|
29
34
|
created_at: Time,
|
|
30
35
|
event_id: String,
|
|
31
36
|
status: Deeprails::WorkflowEventResponse::Status::OrSymbol,
|
|
@@ -33,6 +38,8 @@ module Deeprails
|
|
|
33
38
|
).returns(T.attached_class)
|
|
34
39
|
end
|
|
35
40
|
def self.new(
|
|
41
|
+
# The ID of the billing request for the event.
|
|
42
|
+
billing_request_id:,
|
|
36
43
|
# The time the event was created in UTC.
|
|
37
44
|
created_at:,
|
|
38
45
|
# A unique workflow event ID.
|
|
@@ -47,6 +54,7 @@ module Deeprails
|
|
|
47
54
|
sig do
|
|
48
55
|
override.returns(
|
|
49
56
|
{
|
|
57
|
+
billing_request_id: String,
|
|
50
58
|
created_at: Time,
|
|
51
59
|
event_id: String,
|
|
52
60
|
status: Deeprails::WorkflowEventResponse::Status::TaggedSymbol,
|
data/rbi/deeprails/models.rbi
CHANGED
|
@@ -11,6 +11,9 @@ module Deeprails
|
|
|
11
11
|
|
|
12
12
|
DefendRetrieveWorkflowParams = Deeprails::Models::DefendRetrieveWorkflowParams
|
|
13
13
|
|
|
14
|
+
DefendSubmitAndStreamEventParams =
|
|
15
|
+
Deeprails::Models::DefendSubmitAndStreamEventParams
|
|
16
|
+
|
|
14
17
|
DefendSubmitEventParams = Deeprails::Models::DefendSubmitEventParams
|
|
15
18
|
|
|
16
19
|
DefendUpdateResponse = Deeprails::Models::DefendUpdateResponse
|