deeprails 0.11.0 → 0.12.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 +18 -0
- data/README.md +26 -40
- data/lib/deeprails/internal/transport/base_client.rb +7 -1
- data/lib/deeprails/internal/transport/pooled_net_requester.rb +6 -2
- data/lib/deeprails/internal/type/base_model.rb +5 -5
- data/lib/deeprails/models/defend_create_response.rb +51 -0
- data/lib/deeprails/models/defend_create_workflow_params.rb +19 -19
- data/lib/deeprails/models/defend_response.rb +278 -38
- data/lib/deeprails/models/defend_retrieve_workflow_params.rb +13 -1
- data/lib/deeprails/models/defend_update_response.rb +51 -0
- data/lib/deeprails/models/file_response.rb +6 -22
- data/lib/deeprails/models/file_upload_params.rb +3 -3
- data/lib/deeprails/models/monitor_create_response.rb +51 -0
- data/lib/deeprails/models/monitor_detail_response.rb +69 -70
- data/lib/deeprails/models/monitor_event_detail_response.rb +182 -0
- data/lib/deeprails/models/monitor_event_response.rb +1 -9
- data/lib/deeprails/models/monitor_retrieve_params.rb +6 -2
- data/lib/deeprails/models/monitor_update_params.rb +11 -11
- data/lib/deeprails/models/monitor_update_response.rb +51 -0
- data/lib/deeprails/models/workflow_event_detail_response.rb +314 -0
- data/lib/deeprails/models/workflow_event_response.rb +29 -30
- data/lib/deeprails/models.rb +12 -2
- data/lib/deeprails/resources/defend.rb +20 -13
- data/lib/deeprails/resources/files.rb +1 -1
- data/lib/deeprails/resources/monitor.rb +11 -8
- data/lib/deeprails/version.rb +1 -1
- data/lib/deeprails.rb +7 -1
- data/manifest.yaml +1 -0
- data/rbi/deeprails/internal/transport/base_client.rbi +5 -0
- data/rbi/deeprails/internal/transport/pooled_net_requester.rbi +6 -2
- data/rbi/deeprails/internal/type/base_model.rbi +8 -4
- data/rbi/deeprails/models/defend_create_response.rbi +83 -0
- data/rbi/deeprails/models/defend_create_workflow_params.rbi +33 -27
- data/rbi/deeprails/models/defend_response.rbi +555 -72
- data/rbi/deeprails/models/defend_retrieve_workflow_params.rbi +23 -5
- data/rbi/deeprails/models/defend_update_response.rbi +83 -0
- data/rbi/deeprails/models/file_response.rbi +11 -39
- data/rbi/deeprails/models/file_upload_params.rbi +3 -6
- data/rbi/deeprails/models/monitor_create_response.rbi +83 -0
- data/rbi/deeprails/models/monitor_detail_response.rbi +144 -104
- data/rbi/deeprails/models/monitor_event_detail_response.rbi +383 -0
- data/rbi/deeprails/models/monitor_event_response.rbi +4 -18
- data/rbi/deeprails/models/monitor_retrieve_params.rbi +4 -2
- data/rbi/deeprails/models/monitor_update_params.rbi +21 -38
- data/rbi/deeprails/models/monitor_update_response.rbi +83 -0
- data/rbi/deeprails/models/workflow_event_detail_response.rbi +685 -0
- data/rbi/deeprails/models/workflow_event_response.rbi +49 -42
- data/rbi/deeprails/models.rbi +12 -2
- data/rbi/deeprails/resources/defend.rbi +17 -12
- data/rbi/deeprails/resources/files.rbi +1 -1
- data/rbi/deeprails/resources/monitor.rbi +8 -8
- data/sig/deeprails/internal/transport/base_client.rbs +2 -0
- data/sig/deeprails/internal/transport/pooled_net_requester.rbs +4 -1
- data/sig/deeprails/models/defend_create_response.rbs +41 -0
- data/sig/deeprails/models/defend_create_workflow_params.rbs +7 -7
- data/sig/deeprails/models/defend_response.rbs +297 -28
- data/sig/deeprails/models/defend_retrieve_workflow_params.rbs +13 -3
- data/sig/deeprails/models/defend_update_response.rbs +41 -0
- data/sig/deeprails/models/file_response.rbs +5 -27
- data/sig/deeprails/models/file_upload_params.rbs +4 -5
- data/sig/deeprails/models/monitor_create_response.rbs +41 -0
- data/sig/deeprails/models/monitor_detail_response.rbs +72 -61
- data/sig/deeprails/models/monitor_event_detail_response.rbs +181 -0
- data/sig/deeprails/models/monitor_event_response.rbs +2 -15
- data/sig/deeprails/models/monitor_update_params.rbs +13 -13
- data/sig/deeprails/models/monitor_update_response.rbs +41 -0
- data/sig/deeprails/models/workflow_event_detail_response.rbs +315 -0
- data/sig/deeprails/models/workflow_event_response.rbs +24 -24
- data/sig/deeprails/models.rbs +12 -2
- data/sig/deeprails/resources/defend.rbs +5 -4
- data/sig/deeprails/resources/files.rbs +1 -1
- data/sig/deeprails/resources/monitor.rbs +3 -3
- metadata +20 -5
- data/lib/deeprails/models/monitor_response.rb +0 -83
- data/rbi/deeprails/models/monitor_response.rbi +0 -142
- data/sig/deeprails/models/monitor_response.rbs +0 -73
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Deeprails
|
|
4
|
+
module Models
|
|
5
|
+
# @see Deeprails::Resources::Defend#retrieve_event
|
|
6
|
+
class WorkflowEventDetailResponse < Deeprails::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute event_id
|
|
8
|
+
# A unique workflow event ID.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :event_id, String
|
|
12
|
+
|
|
13
|
+
# @!attribute event_status
|
|
14
|
+
# Status of the event.
|
|
15
|
+
#
|
|
16
|
+
# @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::EventStatus]
|
|
17
|
+
required :event_status, enum: -> { Deeprails::WorkflowEventDetailResponse::EventStatus }
|
|
18
|
+
|
|
19
|
+
# @!attribute filtered
|
|
20
|
+
# Whether the event was filtered and requires improvement.
|
|
21
|
+
#
|
|
22
|
+
# @return [Boolean]
|
|
23
|
+
required :filtered, Deeprails::Internal::Type::Boolean
|
|
24
|
+
|
|
25
|
+
# @!attribute improvement_tool_type
|
|
26
|
+
# Type of improvement tool used to improve the event.
|
|
27
|
+
#
|
|
28
|
+
# @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolType]
|
|
29
|
+
required :improvement_tool_type, enum: -> { Deeprails::WorkflowEventDetailResponse::ImprovementToolType }
|
|
30
|
+
|
|
31
|
+
# @!attribute workflow_id
|
|
32
|
+
# Workflow ID associated with the event.
|
|
33
|
+
#
|
|
34
|
+
# @return [String]
|
|
35
|
+
required :workflow_id, String
|
|
36
|
+
|
|
37
|
+
# @!attribute automatic_hallucination_tolerance_levels
|
|
38
|
+
# Mapping of guardrail metric names to tolerance values. Values are strings
|
|
39
|
+
# (`low`, `medium`, `high`) representing automatic tolerance levels.
|
|
40
|
+
#
|
|
41
|
+
# @return [Hash{Symbol=>Symbol, Deeprails::Models::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel}, nil]
|
|
42
|
+
optional :automatic_hallucination_tolerance_levels,
|
|
43
|
+
-> { Deeprails::Internal::Type::HashOf[enum: Deeprails::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel] }
|
|
44
|
+
|
|
45
|
+
# @!attribute capabilities
|
|
46
|
+
# Extended AI capabilities available to the event, if any. Can be `web_search`
|
|
47
|
+
# and/or `file_search`.
|
|
48
|
+
#
|
|
49
|
+
# @return [Array<Deeprails::Models::WorkflowEventDetailResponse::Capability>, nil]
|
|
50
|
+
optional :capabilities,
|
|
51
|
+
-> { Deeprails::Internal::Type::ArrayOf[Deeprails::WorkflowEventDetailResponse::Capability] }
|
|
52
|
+
|
|
53
|
+
# @!attribute custom_hallucination_threshold_values
|
|
54
|
+
# Mapping of guardrail metric names to threshold values. Values are floating point
|
|
55
|
+
# numbers (0.0-1.0) representing custom thresholds.
|
|
56
|
+
#
|
|
57
|
+
# @return [Hash{Symbol=>Float}, nil]
|
|
58
|
+
optional :custom_hallucination_threshold_values, Deeprails::Internal::Type::HashOf[Float]
|
|
59
|
+
|
|
60
|
+
# @!attribute evaluation_history
|
|
61
|
+
# History of evaluations for the event.
|
|
62
|
+
#
|
|
63
|
+
# @return [Array<Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory>, nil]
|
|
64
|
+
optional :evaluation_history,
|
|
65
|
+
-> { Deeprails::Internal::Type::ArrayOf[Deeprails::WorkflowEventDetailResponse::EvaluationHistory] }
|
|
66
|
+
|
|
67
|
+
# @!attribute evaluation_result
|
|
68
|
+
# Evaluation result consisting of average scores and rationales for each of the
|
|
69
|
+
# evaluated guardrail metrics.
|
|
70
|
+
#
|
|
71
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
72
|
+
optional :evaluation_result, Deeprails::Internal::Type::HashOf[Deeprails::Internal::Type::Unknown]
|
|
73
|
+
|
|
74
|
+
# @!attribute files
|
|
75
|
+
# List of files available to the event, if any. Will only be present if
|
|
76
|
+
# `file_search` is enabled.
|
|
77
|
+
#
|
|
78
|
+
# @return [Array<Deeprails::Models::WorkflowEventDetailResponse::File>, nil]
|
|
79
|
+
optional :files, -> { Deeprails::Internal::Type::ArrayOf[Deeprails::WorkflowEventDetailResponse::File] }
|
|
80
|
+
|
|
81
|
+
# @!attribute improved_model_output
|
|
82
|
+
# Improved model output after improvement tool was applied and each metric passed
|
|
83
|
+
# evaluation.
|
|
84
|
+
#
|
|
85
|
+
# @return [String, nil]
|
|
86
|
+
optional :improved_model_output, String
|
|
87
|
+
|
|
88
|
+
# @!attribute improvement_tool_status
|
|
89
|
+
# Status of the improvement tool used to improve the event.
|
|
90
|
+
#
|
|
91
|
+
# @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolStatus, nil]
|
|
92
|
+
optional :improvement_tool_status,
|
|
93
|
+
enum: -> { Deeprails::WorkflowEventDetailResponse::ImprovementToolStatus },
|
|
94
|
+
nil?: true
|
|
95
|
+
|
|
96
|
+
# @!attribute threshold_type
|
|
97
|
+
# Type of thresholds used to evaluate the event.
|
|
98
|
+
#
|
|
99
|
+
# @return [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ThresholdType, nil]
|
|
100
|
+
optional :threshold_type, enum: -> { Deeprails::WorkflowEventDetailResponse::ThresholdType }
|
|
101
|
+
|
|
102
|
+
# @!method initialize(event_id:, event_status:, filtered:, improvement_tool_type:, workflow_id:, automatic_hallucination_tolerance_levels: nil, capabilities: nil, custom_hallucination_threshold_values: nil, evaluation_history: nil, evaluation_result: nil, files: nil, improved_model_output: nil, improvement_tool_status: nil, threshold_type: nil)
|
|
103
|
+
# Some parameter documentations has been truncated, see
|
|
104
|
+
# {Deeprails::Models::WorkflowEventDetailResponse} for more details.
|
|
105
|
+
#
|
|
106
|
+
# @param event_id [String] A unique workflow event ID.
|
|
107
|
+
#
|
|
108
|
+
# @param event_status [Symbol, Deeprails::Models::WorkflowEventDetailResponse::EventStatus] Status of the event.
|
|
109
|
+
#
|
|
110
|
+
# @param filtered [Boolean] Whether the event was filtered and requires improvement.
|
|
111
|
+
#
|
|
112
|
+
# @param improvement_tool_type [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolType] Type of improvement tool used to improve the event.
|
|
113
|
+
#
|
|
114
|
+
# @param workflow_id [String] Workflow ID associated with the event.
|
|
115
|
+
#
|
|
116
|
+
# @param automatic_hallucination_tolerance_levels [Hash{Symbol=>Symbol, Deeprails::Models::WorkflowEventDetailResponse::AutomaticHallucinationToleranceLevel}] Mapping of guardrail metric names to tolerance values. Values are strings (`low`
|
|
117
|
+
#
|
|
118
|
+
# @param capabilities [Array<Deeprails::Models::WorkflowEventDetailResponse::Capability>] Extended AI capabilities available to the event, if any. Can be `web_search` and
|
|
119
|
+
#
|
|
120
|
+
# @param custom_hallucination_threshold_values [Hash{Symbol=>Float}] Mapping of guardrail metric names to threshold values. Values are floating point
|
|
121
|
+
#
|
|
122
|
+
# @param evaluation_history [Array<Deeprails::Models::WorkflowEventDetailResponse::EvaluationHistory>] History of evaluations for the event.
|
|
123
|
+
#
|
|
124
|
+
# @param evaluation_result [Hash{Symbol=>Object}] Evaluation result consisting of average scores and rationales for each of the ev
|
|
125
|
+
#
|
|
126
|
+
# @param files [Array<Deeprails::Models::WorkflowEventDetailResponse::File>] List of files available to the event, if any. Will only be present if `file_sear
|
|
127
|
+
#
|
|
128
|
+
# @param improved_model_output [String] Improved model output after improvement tool was applied and each metric passed
|
|
129
|
+
#
|
|
130
|
+
# @param improvement_tool_status [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ImprovementToolStatus, nil] Status of the improvement tool used to improve the event.
|
|
131
|
+
#
|
|
132
|
+
# @param threshold_type [Symbol, Deeprails::Models::WorkflowEventDetailResponse::ThresholdType] Type of thresholds used to evaluate the event.
|
|
133
|
+
|
|
134
|
+
# Status of the event.
|
|
135
|
+
#
|
|
136
|
+
# @see Deeprails::Models::WorkflowEventDetailResponse#event_status
|
|
137
|
+
module EventStatus
|
|
138
|
+
extend Deeprails::Internal::Type::Enum
|
|
139
|
+
|
|
140
|
+
IN_PROGRESS = :"In Progress"
|
|
141
|
+
COMPLETED = :Completed
|
|
142
|
+
|
|
143
|
+
# @!method self.values
|
|
144
|
+
# @return [Array<Symbol>]
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Type of improvement tool used to improve the event.
|
|
148
|
+
#
|
|
149
|
+
# @see Deeprails::Models::WorkflowEventDetailResponse#improvement_tool_type
|
|
150
|
+
module ImprovementToolType
|
|
151
|
+
extend Deeprails::Internal::Type::Enum
|
|
152
|
+
|
|
153
|
+
REGEN = :regen
|
|
154
|
+
FIXIT = :fixit
|
|
155
|
+
DO_NOTHING = :do_nothing
|
|
156
|
+
|
|
157
|
+
# @!method self.values
|
|
158
|
+
# @return [Array<Symbol>]
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
module AutomaticHallucinationToleranceLevel
|
|
162
|
+
extend Deeprails::Internal::Type::Enum
|
|
163
|
+
|
|
164
|
+
LOW = :low
|
|
165
|
+
MEDIUM = :medium
|
|
166
|
+
HIGH = :high
|
|
167
|
+
|
|
168
|
+
# @!method self.values
|
|
169
|
+
# @return [Array<Symbol>]
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
class Capability < Deeprails::Internal::Type::BaseModel
|
|
173
|
+
# @!attribute capability
|
|
174
|
+
#
|
|
175
|
+
# @return [String, nil]
|
|
176
|
+
optional :capability, String
|
|
177
|
+
|
|
178
|
+
# @!method initialize(capability: nil)
|
|
179
|
+
# @param capability [String]
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
class EvaluationHistory < Deeprails::Internal::Type::BaseModel
|
|
183
|
+
# @!attribute attempt
|
|
184
|
+
#
|
|
185
|
+
# @return [String, nil]
|
|
186
|
+
optional :attempt, String
|
|
187
|
+
|
|
188
|
+
# @!attribute created_at
|
|
189
|
+
#
|
|
190
|
+
# @return [Time, nil]
|
|
191
|
+
optional :created_at, Time
|
|
192
|
+
|
|
193
|
+
# @!attribute error_message
|
|
194
|
+
#
|
|
195
|
+
# @return [String, nil]
|
|
196
|
+
optional :error_message, String
|
|
197
|
+
|
|
198
|
+
# @!attribute evaluation_result
|
|
199
|
+
#
|
|
200
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
201
|
+
optional :evaluation_result, Deeprails::Internal::Type::HashOf[Deeprails::Internal::Type::Unknown]
|
|
202
|
+
|
|
203
|
+
# @!attribute evaluation_status
|
|
204
|
+
#
|
|
205
|
+
# @return [String, nil]
|
|
206
|
+
optional :evaluation_status, String
|
|
207
|
+
|
|
208
|
+
# @!attribute evaluation_total_cost
|
|
209
|
+
#
|
|
210
|
+
# @return [Float, nil]
|
|
211
|
+
optional :evaluation_total_cost, Float
|
|
212
|
+
|
|
213
|
+
# @!attribute guardrail_metrics
|
|
214
|
+
#
|
|
215
|
+
# @return [Array<String>, nil]
|
|
216
|
+
optional :guardrail_metrics, Deeprails::Internal::Type::ArrayOf[String]
|
|
217
|
+
|
|
218
|
+
# @!attribute model_input
|
|
219
|
+
#
|
|
220
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
221
|
+
optional :model_input, Deeprails::Internal::Type::HashOf[Deeprails::Internal::Type::Unknown]
|
|
222
|
+
|
|
223
|
+
# @!attribute model_output
|
|
224
|
+
#
|
|
225
|
+
# @return [String, nil]
|
|
226
|
+
optional :model_output, String
|
|
227
|
+
|
|
228
|
+
# @!attribute modified_at
|
|
229
|
+
#
|
|
230
|
+
# @return [Time, nil]
|
|
231
|
+
optional :modified_at, Time
|
|
232
|
+
|
|
233
|
+
# @!attribute nametag
|
|
234
|
+
#
|
|
235
|
+
# @return [String, nil]
|
|
236
|
+
optional :nametag, String
|
|
237
|
+
|
|
238
|
+
# @!attribute progress
|
|
239
|
+
#
|
|
240
|
+
# @return [Integer, nil]
|
|
241
|
+
optional :progress, Integer
|
|
242
|
+
|
|
243
|
+
# @!attribute run_mode
|
|
244
|
+
#
|
|
245
|
+
# @return [String, nil]
|
|
246
|
+
optional :run_mode, String
|
|
247
|
+
|
|
248
|
+
# @!method initialize(attempt: nil, created_at: nil, error_message: nil, evaluation_result: nil, evaluation_status: nil, evaluation_total_cost: nil, guardrail_metrics: nil, model_input: nil, model_output: nil, modified_at: nil, nametag: nil, progress: nil, run_mode: nil)
|
|
249
|
+
# @param attempt [String]
|
|
250
|
+
# @param created_at [Time]
|
|
251
|
+
# @param error_message [String]
|
|
252
|
+
# @param evaluation_result [Hash{Symbol=>Object}]
|
|
253
|
+
# @param evaluation_status [String]
|
|
254
|
+
# @param evaluation_total_cost [Float]
|
|
255
|
+
# @param guardrail_metrics [Array<String>]
|
|
256
|
+
# @param model_input [Hash{Symbol=>Object}]
|
|
257
|
+
# @param model_output [String]
|
|
258
|
+
# @param modified_at [Time]
|
|
259
|
+
# @param nametag [String]
|
|
260
|
+
# @param progress [Integer]
|
|
261
|
+
# @param run_mode [String]
|
|
262
|
+
end
|
|
263
|
+
|
|
264
|
+
class File < Deeprails::Internal::Type::BaseModel
|
|
265
|
+
# @!attribute file_id
|
|
266
|
+
#
|
|
267
|
+
# @return [String, nil]
|
|
268
|
+
optional :file_id, String
|
|
269
|
+
|
|
270
|
+
# @!attribute file_name
|
|
271
|
+
#
|
|
272
|
+
# @return [String, nil]
|
|
273
|
+
optional :file_name, String
|
|
274
|
+
|
|
275
|
+
# @!attribute file_size
|
|
276
|
+
#
|
|
277
|
+
# @return [Integer, nil]
|
|
278
|
+
optional :file_size, Integer
|
|
279
|
+
|
|
280
|
+
# @!method initialize(file_id: nil, file_name: nil, file_size: nil)
|
|
281
|
+
# @param file_id [String]
|
|
282
|
+
# @param file_name [String]
|
|
283
|
+
# @param file_size [Integer]
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
# Status of the improvement tool used to improve the event.
|
|
287
|
+
#
|
|
288
|
+
# @see Deeprails::Models::WorkflowEventDetailResponse#improvement_tool_status
|
|
289
|
+
module ImprovementToolStatus
|
|
290
|
+
extend Deeprails::Internal::Type::Enum
|
|
291
|
+
|
|
292
|
+
IMPROVED = :improved
|
|
293
|
+
FAILED_ON_MAX_RETRIES = :"failed on max retries"
|
|
294
|
+
IMPROVEMENT_REQUIRED = :improvement_required
|
|
295
|
+
|
|
296
|
+
# @!method self.values
|
|
297
|
+
# @return [Array<Symbol>]
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# Type of thresholds used to evaluate the event.
|
|
301
|
+
#
|
|
302
|
+
# @see Deeprails::Models::WorkflowEventDetailResponse#threshold_type
|
|
303
|
+
module ThresholdType
|
|
304
|
+
extend Deeprails::Internal::Type::Enum
|
|
305
|
+
|
|
306
|
+
CUSTOM = :custom
|
|
307
|
+
AUTOMATIC = :automatic
|
|
308
|
+
|
|
309
|
+
# @!method self.values
|
|
310
|
+
# @return [Array<Symbol>]
|
|
311
|
+
end
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
@@ -2,54 +2,53 @@
|
|
|
2
2
|
|
|
3
3
|
module Deeprails
|
|
4
4
|
module Models
|
|
5
|
-
# @see Deeprails::Resources::Defend#
|
|
5
|
+
# @see Deeprails::Resources::Defend#submit_event
|
|
6
6
|
class WorkflowEventResponse < Deeprails::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute created_at
|
|
8
|
+
# The time the event was created in UTC.
|
|
9
|
+
#
|
|
10
|
+
# @return [Time]
|
|
11
|
+
required :created_at, Time
|
|
12
|
+
|
|
7
13
|
# @!attribute event_id
|
|
8
14
|
# A unique workflow event ID.
|
|
9
15
|
#
|
|
10
16
|
# @return [String]
|
|
11
17
|
required :event_id, String
|
|
12
18
|
|
|
19
|
+
# @!attribute status
|
|
20
|
+
# Status of the event.
|
|
21
|
+
#
|
|
22
|
+
# @return [Symbol, Deeprails::Models::WorkflowEventResponse::Status]
|
|
23
|
+
required :status, enum: -> { Deeprails::WorkflowEventResponse::Status }
|
|
24
|
+
|
|
13
25
|
# @!attribute workflow_id
|
|
14
26
|
# Workflow ID associated with the event.
|
|
15
27
|
#
|
|
16
28
|
# @return [String]
|
|
17
29
|
required :workflow_id, String
|
|
18
30
|
|
|
19
|
-
# @!
|
|
20
|
-
#
|
|
21
|
-
# previous improvement attempts failed.
|
|
22
|
-
#
|
|
23
|
-
# @return [Integer, nil]
|
|
24
|
-
optional :attempt_number, Integer
|
|
25
|
-
|
|
26
|
-
# @!attribute evaluation_id
|
|
27
|
-
# A unique evaluation ID associated with this event. Every event has one or more
|
|
28
|
-
# evaluation attempts.
|
|
29
|
-
#
|
|
30
|
-
# @return [String, nil]
|
|
31
|
-
optional :evaluation_id, String
|
|
32
|
-
|
|
33
|
-
# @!attribute filtered
|
|
34
|
-
# `False` if evaluation passed all of the guardrail metrics, `True` if evaluation
|
|
35
|
-
# failed any of the guardrail metrics.
|
|
36
|
-
#
|
|
37
|
-
# @return [Boolean, nil]
|
|
38
|
-
optional :filtered, Deeprails::Internal::Type::Boolean
|
|
39
|
-
|
|
40
|
-
# @!method initialize(event_id:, workflow_id:, attempt_number: nil, evaluation_id: nil, filtered: nil)
|
|
41
|
-
# Some parameter documentations has been truncated, see
|
|
42
|
-
# {Deeprails::Models::WorkflowEventResponse} for more details.
|
|
31
|
+
# @!method initialize(created_at:, event_id:, status:, workflow_id:)
|
|
32
|
+
# @param created_at [Time] The time the event was created in UTC.
|
|
43
33
|
#
|
|
44
34
|
# @param event_id [String] A unique workflow event ID.
|
|
45
35
|
#
|
|
46
|
-
# @param
|
|
47
|
-
#
|
|
48
|
-
# @param attempt_number [Integer] Count of improvement attempts for the event. If greater than one then all previ
|
|
36
|
+
# @param status [Symbol, Deeprails::Models::WorkflowEventResponse::Status] Status of the event.
|
|
49
37
|
#
|
|
50
|
-
# @param
|
|
38
|
+
# @param workflow_id [String] Workflow ID associated with the event.
|
|
39
|
+
|
|
40
|
+
# Status of the event.
|
|
51
41
|
#
|
|
52
|
-
#
|
|
42
|
+
# @see Deeprails::Models::WorkflowEventResponse#status
|
|
43
|
+
module Status
|
|
44
|
+
extend Deeprails::Internal::Type::Enum
|
|
45
|
+
|
|
46
|
+
IN_PROGRESS = :"In Progress"
|
|
47
|
+
COMPLETED = :Completed
|
|
48
|
+
|
|
49
|
+
# @!method self.values
|
|
50
|
+
# @return [Array<Symbol>]
|
|
51
|
+
end
|
|
53
52
|
end
|
|
54
53
|
end
|
|
55
54
|
end
|
data/lib/deeprails/models.rb
CHANGED
|
@@ -39,6 +39,8 @@ module Deeprails
|
|
|
39
39
|
mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
DefendCreateResponse = Deeprails::Models::DefendCreateResponse
|
|
43
|
+
|
|
42
44
|
DefendCreateWorkflowParams = Deeprails::Models::DefendCreateWorkflowParams
|
|
43
45
|
|
|
44
46
|
DefendResponse = Deeprails::Models::DefendResponse
|
|
@@ -49,6 +51,8 @@ module Deeprails
|
|
|
49
51
|
|
|
50
52
|
DefendSubmitEventParams = Deeprails::Models::DefendSubmitEventParams
|
|
51
53
|
|
|
54
|
+
DefendUpdateResponse = Deeprails::Models::DefendUpdateResponse
|
|
55
|
+
|
|
52
56
|
DefendUpdateWorkflowParams = Deeprails::Models::DefendUpdateWorkflowParams
|
|
53
57
|
|
|
54
58
|
FileResponse = Deeprails::Models::FileResponse
|
|
@@ -57,11 +61,13 @@ module Deeprails
|
|
|
57
61
|
|
|
58
62
|
MonitorCreateParams = Deeprails::Models::MonitorCreateParams
|
|
59
63
|
|
|
64
|
+
MonitorCreateResponse = Deeprails::Models::MonitorCreateResponse
|
|
65
|
+
|
|
60
66
|
MonitorDetailResponse = Deeprails::Models::MonitorDetailResponse
|
|
61
67
|
|
|
62
|
-
|
|
68
|
+
MonitorEventDetailResponse = Deeprails::Models::MonitorEventDetailResponse
|
|
63
69
|
|
|
64
|
-
|
|
70
|
+
MonitorEventResponse = Deeprails::Models::MonitorEventResponse
|
|
65
71
|
|
|
66
72
|
MonitorRetrieveParams = Deeprails::Models::MonitorRetrieveParams
|
|
67
73
|
|
|
@@ -69,5 +75,9 @@ module Deeprails
|
|
|
69
75
|
|
|
70
76
|
MonitorUpdateParams = Deeprails::Models::MonitorUpdateParams
|
|
71
77
|
|
|
78
|
+
MonitorUpdateResponse = Deeprails::Models::MonitorUpdateResponse
|
|
79
|
+
|
|
80
|
+
WorkflowEventDetailResponse = Deeprails::Models::WorkflowEventDetailResponse
|
|
81
|
+
|
|
72
82
|
WorkflowEventResponse = Deeprails::Models::WorkflowEventResponse
|
|
73
83
|
end
|
|
@@ -9,13 +9,13 @@ module Deeprails
|
|
|
9
9
|
# Use this endpoint to create a new guardrail workflow with optional guardrail
|
|
10
10
|
# thresholds and improvement actions
|
|
11
11
|
#
|
|
12
|
-
# @overload create_workflow(improvement_action:, name:,
|
|
12
|
+
# @overload create_workflow(improvement_action:, name:, threshold_type:, automatic_hallucination_tolerance_levels: nil, custom_hallucination_threshold_values: nil, description: nil, file_search: nil, max_improvement_attempts: nil, web_search: nil, request_options: {})
|
|
13
13
|
#
|
|
14
|
-
# @param improvement_action [Symbol, Deeprails::Models::DefendCreateWorkflowParams::ImprovementAction] The action used to improve outputs that fail one or guardrail metrics for
|
|
14
|
+
# @param improvement_action [Symbol, Deeprails::Models::DefendCreateWorkflowParams::ImprovementAction] The action used to improve outputs that fail one or more guardrail metrics for t
|
|
15
15
|
#
|
|
16
16
|
# @param name [String] Name of the workflow.
|
|
17
17
|
#
|
|
18
|
-
# @param
|
|
18
|
+
# @param threshold_type [Symbol, Deeprails::Models::DefendCreateWorkflowParams::ThresholdType] Type of thresholds to use for the workflow, either `automatic` or `custom`. Aut
|
|
19
19
|
#
|
|
20
20
|
# @param automatic_hallucination_tolerance_levels [Hash{Symbol=>Symbol, Deeprails::Models::DefendCreateWorkflowParams::AutomaticHallucinationToleranceLevel}] Mapping of guardrail metrics to hallucination tolerance levels
|
|
21
21
|
#
|
|
@@ -25,13 +25,13 @@ module Deeprails
|
|
|
25
25
|
#
|
|
26
26
|
# @param file_search [Array<String>] An array of file IDs to search in the workflow's evaluations. Files must be uplo
|
|
27
27
|
#
|
|
28
|
-
# @param max_improvement_attempts [Integer] Max. number of improvement action
|
|
28
|
+
# @param max_improvement_attempts [Integer] Max. number of improvement action attempts until a given event passes the guardr
|
|
29
29
|
#
|
|
30
30
|
# @param web_search [Boolean] Whether to enable web search for this workflow's evaluations. Defaults to false.
|
|
31
31
|
#
|
|
32
32
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
33
33
|
#
|
|
34
|
-
# @return [Deeprails::Models::
|
|
34
|
+
# @return [Deeprails::Models::DefendCreateResponse]
|
|
35
35
|
#
|
|
36
36
|
# @see Deeprails::Models::DefendCreateWorkflowParams
|
|
37
37
|
def create_workflow(params)
|
|
@@ -40,7 +40,7 @@ module Deeprails
|
|
|
40
40
|
method: :post,
|
|
41
41
|
path: "defend",
|
|
42
42
|
body: parsed,
|
|
43
|
-
model: Deeprails::
|
|
43
|
+
model: Deeprails::DefendCreateResponse,
|
|
44
44
|
options: options
|
|
45
45
|
)
|
|
46
46
|
end
|
|
@@ -55,7 +55,7 @@ module Deeprails
|
|
|
55
55
|
#
|
|
56
56
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
57
57
|
#
|
|
58
|
-
# @return [Deeprails::Models::
|
|
58
|
+
# @return [Deeprails::Models::WorkflowEventDetailResponse]
|
|
59
59
|
#
|
|
60
60
|
# @see Deeprails::Models::DefendRetrieveEventParams
|
|
61
61
|
def retrieve_event(event_id, params)
|
|
@@ -67,28 +67,35 @@ module Deeprails
|
|
|
67
67
|
@client.request(
|
|
68
68
|
method: :get,
|
|
69
69
|
path: ["defend/%1$s/events/%2$s", workflow_id, event_id],
|
|
70
|
-
model: Deeprails::
|
|
70
|
+
model: Deeprails::WorkflowEventDetailResponse,
|
|
71
71
|
options: options
|
|
72
72
|
)
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
+
# Some parameter documentations has been truncated, see
|
|
76
|
+
# {Deeprails::Models::DefendRetrieveWorkflowParams} for more details.
|
|
77
|
+
#
|
|
75
78
|
# Use this endpoint to retrieve the details for a specific defend workflow
|
|
76
79
|
#
|
|
77
|
-
# @overload retrieve_workflow(workflow_id, request_options: {})
|
|
80
|
+
# @overload retrieve_workflow(workflow_id, limit: nil, request_options: {})
|
|
78
81
|
#
|
|
79
82
|
# @param workflow_id [String] The ID of the workflow to retrieve.
|
|
80
83
|
#
|
|
84
|
+
# @param limit [Integer] Limit the number of returned events associated with this workflow. Defaults to
|
|
85
|
+
#
|
|
81
86
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
82
87
|
#
|
|
83
88
|
# @return [Deeprails::Models::DefendResponse]
|
|
84
89
|
#
|
|
85
90
|
# @see Deeprails::Models::DefendRetrieveWorkflowParams
|
|
86
91
|
def retrieve_workflow(workflow_id, params = {})
|
|
92
|
+
parsed, options = Deeprails::DefendRetrieveWorkflowParams.dump_request(params)
|
|
87
93
|
@client.request(
|
|
88
94
|
method: :get,
|
|
89
95
|
path: ["defend/%1$s", workflow_id],
|
|
96
|
+
query: parsed,
|
|
90
97
|
model: Deeprails::DefendResponse,
|
|
91
|
-
options:
|
|
98
|
+
options: options
|
|
92
99
|
)
|
|
93
100
|
end
|
|
94
101
|
|
|
@@ -128,7 +135,7 @@ module Deeprails
|
|
|
128
135
|
)
|
|
129
136
|
end
|
|
130
137
|
|
|
131
|
-
# Use this endpoint to update an existing
|
|
138
|
+
# Use this endpoint to update an existing defend workflow
|
|
132
139
|
#
|
|
133
140
|
# @overload update_workflow(workflow_id, description: nil, name: nil, request_options: {})
|
|
134
141
|
#
|
|
@@ -140,7 +147,7 @@ module Deeprails
|
|
|
140
147
|
#
|
|
141
148
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
142
149
|
#
|
|
143
|
-
# @return [Deeprails::Models::
|
|
150
|
+
# @return [Deeprails::Models::DefendUpdateResponse]
|
|
144
151
|
#
|
|
145
152
|
# @see Deeprails::Models::DefendUpdateWorkflowParams
|
|
146
153
|
def update_workflow(workflow_id, params = {})
|
|
@@ -149,7 +156,7 @@ module Deeprails
|
|
|
149
156
|
method: :put,
|
|
150
157
|
path: ["defend/%1$s", workflow_id],
|
|
151
158
|
body: parsed,
|
|
152
|
-
model: Deeprails::
|
|
159
|
+
model: Deeprails::DefendUpdateResponse,
|
|
153
160
|
options: options
|
|
154
161
|
)
|
|
155
162
|
end
|
|
@@ -7,7 +7,7 @@ module Deeprails
|
|
|
7
7
|
#
|
|
8
8
|
# @overload upload(file:, request_options: {})
|
|
9
9
|
#
|
|
10
|
-
# @param file [
|
|
10
|
+
# @param file [Array<String>] The contents of the file to upload.
|
|
11
11
|
#
|
|
12
12
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
13
13
|
#
|
|
@@ -23,7 +23,7 @@ module Deeprails
|
|
|
23
23
|
#
|
|
24
24
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
25
25
|
#
|
|
26
|
-
# @return [Deeprails::Models::
|
|
26
|
+
# @return [Deeprails::Models::MonitorCreateResponse]
|
|
27
27
|
#
|
|
28
28
|
# @see Deeprails::Models::MonitorCreateParams
|
|
29
29
|
def create(params)
|
|
@@ -32,11 +32,14 @@ module Deeprails
|
|
|
32
32
|
method: :post,
|
|
33
33
|
path: "monitor",
|
|
34
34
|
body: parsed,
|
|
35
|
-
model: Deeprails::
|
|
35
|
+
model: Deeprails::MonitorCreateResponse,
|
|
36
36
|
options: options
|
|
37
37
|
)
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
# Some parameter documentations has been truncated, see
|
|
41
|
+
# {Deeprails::Models::MonitorRetrieveParams} for more details.
|
|
42
|
+
#
|
|
40
43
|
# Use this endpoint to retrieve the details and evaluations associated with a
|
|
41
44
|
# specific monitor
|
|
42
45
|
#
|
|
@@ -44,7 +47,7 @@ module Deeprails
|
|
|
44
47
|
#
|
|
45
48
|
# @param monitor_id [String] The ID of the monitor to retrieve.
|
|
46
49
|
#
|
|
47
|
-
# @param limit [Integer] Limit the returned
|
|
50
|
+
# @param limit [Integer] Limit the number of returned evaluations associated with this monitor. Defaults
|
|
48
51
|
#
|
|
49
52
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
50
53
|
#
|
|
@@ -68,19 +71,19 @@ module Deeprails
|
|
|
68
71
|
# Use this endpoint to update the name, description, or status of an existing
|
|
69
72
|
# monitor
|
|
70
73
|
#
|
|
71
|
-
# @overload update(monitor_id, description: nil,
|
|
74
|
+
# @overload update(monitor_id, description: nil, name: nil, status: nil, request_options: {})
|
|
72
75
|
#
|
|
73
76
|
# @param monitor_id [String] The ID of the monitor to edit.
|
|
74
77
|
#
|
|
75
78
|
# @param description [String] Description of the monitor.
|
|
76
79
|
#
|
|
77
|
-
# @param monitor_status [Symbol, Deeprails::Models::MonitorUpdateParams::MonitorStatus] Status of the monitor. Can be `active` or `inactive`. Inactive monitors no lon
|
|
78
|
-
#
|
|
79
80
|
# @param name [String] Name of the monitor.
|
|
80
81
|
#
|
|
82
|
+
# @param status [Symbol, Deeprails::Models::MonitorUpdateParams::Status] Status of the monitor. Can be `active` or `inactive`. Inactive monitors no lon
|
|
83
|
+
#
|
|
81
84
|
# @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
82
85
|
#
|
|
83
|
-
# @return [Deeprails::Models::
|
|
86
|
+
# @return [Deeprails::Models::MonitorUpdateResponse]
|
|
84
87
|
#
|
|
85
88
|
# @see Deeprails::Models::MonitorUpdateParams
|
|
86
89
|
def update(monitor_id, params = {})
|
|
@@ -89,7 +92,7 @@ module Deeprails
|
|
|
89
92
|
method: :put,
|
|
90
93
|
path: ["monitor/%1$s", monitor_id],
|
|
91
94
|
body: parsed,
|
|
92
|
-
model: Deeprails::
|
|
95
|
+
model: Deeprails::MonitorUpdateResponse,
|
|
93
96
|
options: options
|
|
94
97
|
)
|
|
95
98
|
end
|
data/lib/deeprails/version.rb
CHANGED
data/lib/deeprails.rb
CHANGED
|
@@ -9,6 +9,7 @@ require "erb"
|
|
|
9
9
|
require "etc"
|
|
10
10
|
require "json"
|
|
11
11
|
require "net/http"
|
|
12
|
+
require "openssl"
|
|
12
13
|
require "pathname"
|
|
13
14
|
require "rbconfig"
|
|
14
15
|
require "securerandom"
|
|
@@ -50,21 +51,26 @@ require_relative "deeprails/errors"
|
|
|
50
51
|
require_relative "deeprails/internal/transport/base_client"
|
|
51
52
|
require_relative "deeprails/internal/transport/pooled_net_requester"
|
|
52
53
|
require_relative "deeprails/client"
|
|
54
|
+
require_relative "deeprails/models/defend_create_response"
|
|
53
55
|
require_relative "deeprails/models/defend_create_workflow_params"
|
|
54
56
|
require_relative "deeprails/models/defend_response"
|
|
55
57
|
require_relative "deeprails/models/defend_retrieve_event_params"
|
|
56
58
|
require_relative "deeprails/models/defend_retrieve_workflow_params"
|
|
57
59
|
require_relative "deeprails/models/defend_submit_event_params"
|
|
60
|
+
require_relative "deeprails/models/defend_update_response"
|
|
58
61
|
require_relative "deeprails/models/defend_update_workflow_params"
|
|
59
62
|
require_relative "deeprails/models/file_response"
|
|
60
63
|
require_relative "deeprails/models/file_upload_params"
|
|
61
64
|
require_relative "deeprails/models/monitor_create_params"
|
|
65
|
+
require_relative "deeprails/models/monitor_create_response"
|
|
62
66
|
require_relative "deeprails/models/monitor_detail_response"
|
|
67
|
+
require_relative "deeprails/models/monitor_event_detail_response"
|
|
63
68
|
require_relative "deeprails/models/monitor_event_response"
|
|
64
|
-
require_relative "deeprails/models/monitor_response"
|
|
65
69
|
require_relative "deeprails/models/monitor_retrieve_params"
|
|
66
70
|
require_relative "deeprails/models/monitor_submit_event_params"
|
|
67
71
|
require_relative "deeprails/models/monitor_update_params"
|
|
72
|
+
require_relative "deeprails/models/monitor_update_response"
|
|
73
|
+
require_relative "deeprails/models/workflow_event_detail_response"
|
|
68
74
|
require_relative "deeprails/models/workflow_event_response"
|
|
69
75
|
require_relative "deeprails/models"
|
|
70
76
|
require_relative "deeprails/resources/defend"
|