deeprails 0.1.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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +18 -0
- data/README.md +273 -0
- data/SECURITY.md +27 -0
- data/lib/deeprails/client.rb +82 -0
- data/lib/deeprails/errors.rb +228 -0
- data/lib/deeprails/file_part.rb +58 -0
- data/lib/deeprails/internal/transport/base_client.rb +567 -0
- data/lib/deeprails/internal/transport/pooled_net_requester.rb +198 -0
- data/lib/deeprails/internal/type/array_of.rb +168 -0
- data/lib/deeprails/internal/type/base_model.rb +531 -0
- data/lib/deeprails/internal/type/base_page.rb +55 -0
- data/lib/deeprails/internal/type/boolean.rb +77 -0
- data/lib/deeprails/internal/type/converter.rb +327 -0
- data/lib/deeprails/internal/type/enum.rb +131 -0
- data/lib/deeprails/internal/type/file_input.rb +111 -0
- data/lib/deeprails/internal/type/hash_of.rb +188 -0
- data/lib/deeprails/internal/type/request_parameters.rb +42 -0
- data/lib/deeprails/internal/type/union.rb +237 -0
- data/lib/deeprails/internal/type/unknown.rb +81 -0
- data/lib/deeprails/internal/util.rb +915 -0
- data/lib/deeprails/internal.rb +20 -0
- data/lib/deeprails/models/api_response.rb +119 -0
- data/lib/deeprails/models/defend_create_workflow_params.rb +132 -0
- data/lib/deeprails/models/defend_response.rb +123 -0
- data/lib/deeprails/models/defend_retrieve_event_params.rb +20 -0
- data/lib/deeprails/models/defend_retrieve_workflow_params.rb +14 -0
- data/lib/deeprails/models/defend_submit_event_params.rb +98 -0
- data/lib/deeprails/models/defend_update_workflow_params.rb +49 -0
- data/lib/deeprails/models/evaluate_create_params.rb +123 -0
- data/lib/deeprails/models/evaluate_retrieve_params.rb +14 -0
- data/lib/deeprails/models/evaluation.rb +225 -0
- data/lib/deeprails/models/monitor_create_params.rb +30 -0
- data/lib/deeprails/models/monitor_retrieve_params.rb +22 -0
- data/lib/deeprails/models/monitor_retrieve_response.rb +186 -0
- data/lib/deeprails/models/monitor_submit_event_params.rb +124 -0
- data/lib/deeprails/models/monitor_submit_event_response.rb +77 -0
- data/lib/deeprails/models/monitor_update_params.rb +54 -0
- data/lib/deeprails/models/workflow_event_response.rb +57 -0
- data/lib/deeprails/models.rb +71 -0
- data/lib/deeprails/request_options.rb +77 -0
- data/lib/deeprails/resources/defend.rb +162 -0
- data/lib/deeprails/resources/evaluate.rb +70 -0
- data/lib/deeprails/resources/monitor.rb +130 -0
- data/lib/deeprails/version.rb +5 -0
- data/lib/deeprails.rb +73 -0
- data/manifest.yaml +15 -0
- data/rbi/deeprails/client.rbi +55 -0
- data/rbi/deeprails/errors.rbi +205 -0
- data/rbi/deeprails/file_part.rbi +37 -0
- data/rbi/deeprails/internal/transport/base_client.rbi +293 -0
- data/rbi/deeprails/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/deeprails/internal/type/array_of.rbi +104 -0
- data/rbi/deeprails/internal/type/base_model.rbi +304 -0
- data/rbi/deeprails/internal/type/base_page.rbi +42 -0
- data/rbi/deeprails/internal/type/boolean.rbi +58 -0
- data/rbi/deeprails/internal/type/converter.rbi +216 -0
- data/rbi/deeprails/internal/type/enum.rbi +82 -0
- data/rbi/deeprails/internal/type/file_input.rbi +59 -0
- data/rbi/deeprails/internal/type/hash_of.rbi +104 -0
- data/rbi/deeprails/internal/type/request_parameters.rbi +29 -0
- data/rbi/deeprails/internal/type/union.rbi +128 -0
- data/rbi/deeprails/internal/type/unknown.rbi +58 -0
- data/rbi/deeprails/internal/util.rbi +487 -0
- data/rbi/deeprails/internal.rbi +18 -0
- data/rbi/deeprails/models/api_response.rbi +204 -0
- data/rbi/deeprails/models/defend_create_workflow_params.rbi +270 -0
- data/rbi/deeprails/models/defend_response.rbi +198 -0
- data/rbi/deeprails/models/defend_retrieve_event_params.rbi +38 -0
- data/rbi/deeprails/models/defend_retrieve_workflow_params.rbi +30 -0
- data/rbi/deeprails/models/defend_submit_event_params.rbi +170 -0
- data/rbi/deeprails/models/defend_update_workflow_params.rbi +107 -0
- data/rbi/deeprails/models/evaluate_create_params.rbi +253 -0
- data/rbi/deeprails/models/evaluate_retrieve_params.rbi +27 -0
- data/rbi/deeprails/models/evaluation.rbi +382 -0
- data/rbi/deeprails/models/monitor_create_params.rbi +54 -0
- data/rbi/deeprails/models/monitor_retrieve_params.rbi +43 -0
- data/rbi/deeprails/models/monitor_retrieve_response.rbi +336 -0
- data/rbi/deeprails/models/monitor_submit_event_params.rbi +264 -0
- data/rbi/deeprails/models/monitor_submit_event_response.rbi +134 -0
- data/rbi/deeprails/models/monitor_update_params.rbi +114 -0
- data/rbi/deeprails/models/workflow_event_response.rbi +85 -0
- data/rbi/deeprails/models.rbi +33 -0
- data/rbi/deeprails/request_options.rbi +59 -0
- data/rbi/deeprails/resources/defend.rbi +151 -0
- data/rbi/deeprails/resources/evaluate.rbi +66 -0
- data/rbi/deeprails/resources/monitor.rbi +114 -0
- data/rbi/deeprails/version.rbi +5 -0
- data/sig/deeprails/client.rbs +30 -0
- data/sig/deeprails/errors.rbs +117 -0
- data/sig/deeprails/file_part.rbs +21 -0
- data/sig/deeprails/internal/transport/base_client.rbs +131 -0
- data/sig/deeprails/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/deeprails/internal/type/array_of.rbs +48 -0
- data/sig/deeprails/internal/type/base_model.rbs +102 -0
- data/sig/deeprails/internal/type/base_page.rbs +24 -0
- data/sig/deeprails/internal/type/boolean.rbs +26 -0
- data/sig/deeprails/internal/type/converter.rbs +79 -0
- data/sig/deeprails/internal/type/enum.rbs +32 -0
- data/sig/deeprails/internal/type/file_input.rbs +25 -0
- data/sig/deeprails/internal/type/hash_of.rbs +48 -0
- data/sig/deeprails/internal/type/request_parameters.rbs +19 -0
- data/sig/deeprails/internal/type/union.rbs +52 -0
- data/sig/deeprails/internal/type/unknown.rbs +26 -0
- data/sig/deeprails/internal/util.rbs +185 -0
- data/sig/deeprails/internal.rbs +9 -0
- data/sig/deeprails/models/api_response.rbs +100 -0
- data/sig/deeprails/models/defend_create_workflow_params.rbs +98 -0
- data/sig/deeprails/models/defend_response.rbs +96 -0
- data/sig/deeprails/models/defend_retrieve_event_params.rbs +23 -0
- data/sig/deeprails/models/defend_retrieve_workflow_params.rbs +15 -0
- data/sig/deeprails/models/defend_submit_event_params.rbs +73 -0
- data/sig/deeprails/models/defend_update_workflow_params.rbs +55 -0
- data/sig/deeprails/models/evaluate_create_params.rbs +107 -0
- data/sig/deeprails/models/evaluate_retrieve_params.rbs +15 -0
- data/sig/deeprails/models/evaluation.rbs +189 -0
- data/sig/deeprails/models/monitor_create_params.rbs +30 -0
- data/sig/deeprails/models/monitor_retrieve_params.rbs +25 -0
- data/sig/deeprails/models/monitor_retrieve_response.rbs +167 -0
- data/sig/deeprails/models/monitor_submit_event_params.rbs +107 -0
- data/sig/deeprails/models/monitor_submit_event_response.rbs +70 -0
- data/sig/deeprails/models/monitor_update_params.rbs +55 -0
- data/sig/deeprails/models/workflow_event_response.rbs +46 -0
- data/sig/deeprails/models.rbs +31 -0
- data/sig/deeprails/request_options.rbs +34 -0
- data/sig/deeprails/resources/defend.rbs +47 -0
- data/sig/deeprails/resources/evaluate.rbs +22 -0
- data/sig/deeprails/resources/monitor.rbs +38 -0
- data/sig/deeprails/version.rbs +3 -0
- metadata +188 -0
@@ -0,0 +1,336 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Deeprails
|
4
|
+
module Models
|
5
|
+
class MonitorRetrieveResponse < Deeprails::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(
|
9
|
+
Deeprails::Models::MonitorRetrieveResponse,
|
10
|
+
Deeprails::Internal::AnyHash
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
# Represents whether the request was completed successfully.
|
15
|
+
sig { returns(T::Boolean) }
|
16
|
+
attr_accessor :success
|
17
|
+
|
18
|
+
# Detailed response payload for retrieving a monitor and its evaluations.
|
19
|
+
sig do
|
20
|
+
returns(T.nilable(Deeprails::Models::MonitorRetrieveResponse::Data))
|
21
|
+
end
|
22
|
+
attr_reader :data
|
23
|
+
|
24
|
+
sig do
|
25
|
+
params(
|
26
|
+
data: Deeprails::Models::MonitorRetrieveResponse::Data::OrHash
|
27
|
+
).void
|
28
|
+
end
|
29
|
+
attr_writer :data
|
30
|
+
|
31
|
+
# The accompanying message for the request. Includes error details when
|
32
|
+
# applicable.
|
33
|
+
sig { returns(T.nilable(String)) }
|
34
|
+
attr_reader :message
|
35
|
+
|
36
|
+
sig { params(message: String).void }
|
37
|
+
attr_writer :message
|
38
|
+
|
39
|
+
# Response wrapper for operations returning a MonitorDetailResponse.
|
40
|
+
sig do
|
41
|
+
params(
|
42
|
+
success: T::Boolean,
|
43
|
+
data: Deeprails::Models::MonitorRetrieveResponse::Data::OrHash,
|
44
|
+
message: String
|
45
|
+
).returns(T.attached_class)
|
46
|
+
end
|
47
|
+
def self.new(
|
48
|
+
# Represents whether the request was completed successfully.
|
49
|
+
success:,
|
50
|
+
# Detailed response payload for retrieving a monitor and its evaluations.
|
51
|
+
data: nil,
|
52
|
+
# The accompanying message for the request. Includes error details when
|
53
|
+
# applicable.
|
54
|
+
message: nil
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
sig do
|
59
|
+
override.returns(
|
60
|
+
{
|
61
|
+
success: T::Boolean,
|
62
|
+
data: Deeprails::Models::MonitorRetrieveResponse::Data,
|
63
|
+
message: String
|
64
|
+
}
|
65
|
+
)
|
66
|
+
end
|
67
|
+
def to_hash
|
68
|
+
end
|
69
|
+
|
70
|
+
class Data < Deeprails::Internal::Type::BaseModel
|
71
|
+
OrHash =
|
72
|
+
T.type_alias do
|
73
|
+
T.any(
|
74
|
+
Deeprails::Models::MonitorRetrieveResponse::Data,
|
75
|
+
Deeprails::Internal::AnyHash
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
# A unique monitor ID.
|
80
|
+
sig { returns(String) }
|
81
|
+
attr_accessor :monitor_id
|
82
|
+
|
83
|
+
# Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
|
84
|
+
# longer record and evaluate events.
|
85
|
+
sig do
|
86
|
+
returns(
|
87
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus::TaggedSymbol
|
88
|
+
)
|
89
|
+
end
|
90
|
+
attr_accessor :monitor_status
|
91
|
+
|
92
|
+
# Name of this monitor.
|
93
|
+
sig { returns(String) }
|
94
|
+
attr_accessor :name
|
95
|
+
|
96
|
+
# The time the monitor was created in UTC.
|
97
|
+
sig { returns(T.nilable(Time)) }
|
98
|
+
attr_reader :created_at
|
99
|
+
|
100
|
+
sig { params(created_at: Time).void }
|
101
|
+
attr_writer :created_at
|
102
|
+
|
103
|
+
# Description of this monitor.
|
104
|
+
sig { returns(T.nilable(String)) }
|
105
|
+
attr_reader :description
|
106
|
+
|
107
|
+
sig { params(description: String).void }
|
108
|
+
attr_writer :description
|
109
|
+
|
110
|
+
# An array of all evaluations performed by this monitor. Each one corresponds to a
|
111
|
+
# separate monitor event.
|
112
|
+
sig { returns(T.nilable(T::Array[Deeprails::Evaluation])) }
|
113
|
+
attr_reader :evaluations
|
114
|
+
|
115
|
+
sig do
|
116
|
+
params(evaluations: T::Array[Deeprails::Evaluation::OrHash]).void
|
117
|
+
end
|
118
|
+
attr_writer :evaluations
|
119
|
+
|
120
|
+
# Contains five fields used for stats of this monitor: total evaluations,
|
121
|
+
# completed evaluations, failed evaluations, queued evaluations, and in progress
|
122
|
+
# evaluations.
|
123
|
+
sig do
|
124
|
+
returns(
|
125
|
+
T.nilable(Deeprails::Models::MonitorRetrieveResponse::Data::Stats)
|
126
|
+
)
|
127
|
+
end
|
128
|
+
attr_reader :stats
|
129
|
+
|
130
|
+
sig do
|
131
|
+
params(
|
132
|
+
stats:
|
133
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::Stats::OrHash
|
134
|
+
).void
|
135
|
+
end
|
136
|
+
attr_writer :stats
|
137
|
+
|
138
|
+
# The most recent time the monitor was modified in UTC.
|
139
|
+
sig { returns(T.nilable(Time)) }
|
140
|
+
attr_reader :updated_at
|
141
|
+
|
142
|
+
sig { params(updated_at: Time).void }
|
143
|
+
attr_writer :updated_at
|
144
|
+
|
145
|
+
# User ID of the user who created the monitor.
|
146
|
+
sig { returns(T.nilable(String)) }
|
147
|
+
attr_reader :user_id
|
148
|
+
|
149
|
+
sig { params(user_id: String).void }
|
150
|
+
attr_writer :user_id
|
151
|
+
|
152
|
+
# Detailed response payload for retrieving a monitor and its evaluations.
|
153
|
+
sig do
|
154
|
+
params(
|
155
|
+
monitor_id: String,
|
156
|
+
monitor_status:
|
157
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus::OrSymbol,
|
158
|
+
name: String,
|
159
|
+
created_at: Time,
|
160
|
+
description: String,
|
161
|
+
evaluations: T::Array[Deeprails::Evaluation::OrHash],
|
162
|
+
stats:
|
163
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::Stats::OrHash,
|
164
|
+
updated_at: Time,
|
165
|
+
user_id: String
|
166
|
+
).returns(T.attached_class)
|
167
|
+
end
|
168
|
+
def self.new(
|
169
|
+
# A unique monitor ID.
|
170
|
+
monitor_id:,
|
171
|
+
# Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
|
172
|
+
# longer record and evaluate events.
|
173
|
+
monitor_status:,
|
174
|
+
# Name of this monitor.
|
175
|
+
name:,
|
176
|
+
# The time the monitor was created in UTC.
|
177
|
+
created_at: nil,
|
178
|
+
# Description of this monitor.
|
179
|
+
description: nil,
|
180
|
+
# An array of all evaluations performed by this monitor. Each one corresponds to a
|
181
|
+
# separate monitor event.
|
182
|
+
evaluations: nil,
|
183
|
+
# Contains five fields used for stats of this monitor: total evaluations,
|
184
|
+
# completed evaluations, failed evaluations, queued evaluations, and in progress
|
185
|
+
# evaluations.
|
186
|
+
stats: nil,
|
187
|
+
# The most recent time the monitor was modified in UTC.
|
188
|
+
updated_at: nil,
|
189
|
+
# User ID of the user who created the monitor.
|
190
|
+
user_id: nil
|
191
|
+
)
|
192
|
+
end
|
193
|
+
|
194
|
+
sig do
|
195
|
+
override.returns(
|
196
|
+
{
|
197
|
+
monitor_id: String,
|
198
|
+
monitor_status:
|
199
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus::TaggedSymbol,
|
200
|
+
name: String,
|
201
|
+
created_at: Time,
|
202
|
+
description: String,
|
203
|
+
evaluations: T::Array[Deeprails::Evaluation],
|
204
|
+
stats: Deeprails::Models::MonitorRetrieveResponse::Data::Stats,
|
205
|
+
updated_at: Time,
|
206
|
+
user_id: String
|
207
|
+
}
|
208
|
+
)
|
209
|
+
end
|
210
|
+
def to_hash
|
211
|
+
end
|
212
|
+
|
213
|
+
# Status of the monitor. Can be `active` or `inactive`. Inactive monitors no
|
214
|
+
# longer record and evaluate events.
|
215
|
+
module MonitorStatus
|
216
|
+
extend Deeprails::Internal::Type::Enum
|
217
|
+
|
218
|
+
TaggedSymbol =
|
219
|
+
T.type_alias do
|
220
|
+
T.all(
|
221
|
+
Symbol,
|
222
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus
|
223
|
+
)
|
224
|
+
end
|
225
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
226
|
+
|
227
|
+
ACTIVE =
|
228
|
+
T.let(
|
229
|
+
:active,
|
230
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus::TaggedSymbol
|
231
|
+
)
|
232
|
+
INACTIVE =
|
233
|
+
T.let(
|
234
|
+
:inactive,
|
235
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus::TaggedSymbol
|
236
|
+
)
|
237
|
+
|
238
|
+
sig do
|
239
|
+
override.returns(
|
240
|
+
T::Array[
|
241
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::MonitorStatus::TaggedSymbol
|
242
|
+
]
|
243
|
+
)
|
244
|
+
end
|
245
|
+
def self.values
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
class Stats < Deeprails::Internal::Type::BaseModel
|
250
|
+
OrHash =
|
251
|
+
T.type_alias do
|
252
|
+
T.any(
|
253
|
+
Deeprails::Models::MonitorRetrieveResponse::Data::Stats,
|
254
|
+
Deeprails::Internal::AnyHash
|
255
|
+
)
|
256
|
+
end
|
257
|
+
|
258
|
+
# Number of evaluations that completed successfully.
|
259
|
+
sig { returns(T.nilable(Integer)) }
|
260
|
+
attr_reader :completed_evaluations
|
261
|
+
|
262
|
+
sig { params(completed_evaluations: Integer).void }
|
263
|
+
attr_writer :completed_evaluations
|
264
|
+
|
265
|
+
# Number of evaluations that failed.
|
266
|
+
sig { returns(T.nilable(Integer)) }
|
267
|
+
attr_reader :failed_evaluations
|
268
|
+
|
269
|
+
sig { params(failed_evaluations: Integer).void }
|
270
|
+
attr_writer :failed_evaluations
|
271
|
+
|
272
|
+
# Number of evaluations currently in progress.
|
273
|
+
sig { returns(T.nilable(Integer)) }
|
274
|
+
attr_reader :in_progress_evaluations
|
275
|
+
|
276
|
+
sig { params(in_progress_evaluations: Integer).void }
|
277
|
+
attr_writer :in_progress_evaluations
|
278
|
+
|
279
|
+
# Number of evaluations currently queued.
|
280
|
+
sig { returns(T.nilable(Integer)) }
|
281
|
+
attr_reader :queued_evaluations
|
282
|
+
|
283
|
+
sig { params(queued_evaluations: Integer).void }
|
284
|
+
attr_writer :queued_evaluations
|
285
|
+
|
286
|
+
# Total number of evaluations performed by this monitor.
|
287
|
+
sig { returns(T.nilable(Integer)) }
|
288
|
+
attr_reader :total_evaluations
|
289
|
+
|
290
|
+
sig { params(total_evaluations: Integer).void }
|
291
|
+
attr_writer :total_evaluations
|
292
|
+
|
293
|
+
# Contains five fields used for stats of this monitor: total evaluations,
|
294
|
+
# completed evaluations, failed evaluations, queued evaluations, and in progress
|
295
|
+
# evaluations.
|
296
|
+
sig do
|
297
|
+
params(
|
298
|
+
completed_evaluations: Integer,
|
299
|
+
failed_evaluations: Integer,
|
300
|
+
in_progress_evaluations: Integer,
|
301
|
+
queued_evaluations: Integer,
|
302
|
+
total_evaluations: Integer
|
303
|
+
).returns(T.attached_class)
|
304
|
+
end
|
305
|
+
def self.new(
|
306
|
+
# Number of evaluations that completed successfully.
|
307
|
+
completed_evaluations: nil,
|
308
|
+
# Number of evaluations that failed.
|
309
|
+
failed_evaluations: nil,
|
310
|
+
# Number of evaluations currently in progress.
|
311
|
+
in_progress_evaluations: nil,
|
312
|
+
# Number of evaluations currently queued.
|
313
|
+
queued_evaluations: nil,
|
314
|
+
# Total number of evaluations performed by this monitor.
|
315
|
+
total_evaluations: nil
|
316
|
+
)
|
317
|
+
end
|
318
|
+
|
319
|
+
sig do
|
320
|
+
override.returns(
|
321
|
+
{
|
322
|
+
completed_evaluations: Integer,
|
323
|
+
failed_evaluations: Integer,
|
324
|
+
in_progress_evaluations: Integer,
|
325
|
+
queued_evaluations: Integer,
|
326
|
+
total_evaluations: Integer
|
327
|
+
}
|
328
|
+
)
|
329
|
+
end
|
330
|
+
def to_hash
|
331
|
+
end
|
332
|
+
end
|
333
|
+
end
|
334
|
+
end
|
335
|
+
end
|
336
|
+
end
|
@@ -0,0 +1,264 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Deeprails
|
4
|
+
module Models
|
5
|
+
class MonitorSubmitEventParams < Deeprails::Internal::Type::BaseModel
|
6
|
+
extend Deeprails::Internal::Type::RequestParameters::Converter
|
7
|
+
include Deeprails::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Deeprails::MonitorSubmitEventParams,
|
13
|
+
Deeprails::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# An array of guardrail metrics that the model input and output pair will be
|
18
|
+
# evaluated on. For non-enterprise users, these will be limited to `correctness`,
|
19
|
+
# `completeness`, `instruction_adherence`, `context_adherence`,
|
20
|
+
# `ground_truth_adherence`, and/or `comprehensive_safety`.
|
21
|
+
sig do
|
22
|
+
returns(
|
23
|
+
T::Array[
|
24
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::OrSymbol
|
25
|
+
]
|
26
|
+
)
|
27
|
+
end
|
28
|
+
attr_accessor :guardrail_metrics
|
29
|
+
|
30
|
+
# A dictionary of inputs sent to the LLM to generate output. This must contain a
|
31
|
+
# `user_prompt` field and an optional `context` field. Additional properties are
|
32
|
+
# allowed.
|
33
|
+
sig { returns(Deeprails::MonitorSubmitEventParams::ModelInput) }
|
34
|
+
attr_reader :model_input
|
35
|
+
|
36
|
+
sig do
|
37
|
+
params(
|
38
|
+
model_input: Deeprails::MonitorSubmitEventParams::ModelInput::OrHash
|
39
|
+
).void
|
40
|
+
end
|
41
|
+
attr_writer :model_input
|
42
|
+
|
43
|
+
# Output generated by the LLM to be evaluated.
|
44
|
+
sig { returns(String) }
|
45
|
+
attr_accessor :model_output
|
46
|
+
|
47
|
+
# Model ID used to generate the output, like `gpt-4o` or `o3`.
|
48
|
+
sig { returns(T.nilable(String)) }
|
49
|
+
attr_reader :model_used
|
50
|
+
|
51
|
+
sig { params(model_used: String).void }
|
52
|
+
attr_writer :model_used
|
53
|
+
|
54
|
+
# An optional, user-defined tag for the event.
|
55
|
+
sig { returns(T.nilable(String)) }
|
56
|
+
attr_reader :nametag
|
57
|
+
|
58
|
+
sig { params(nametag: String).void }
|
59
|
+
attr_writer :nametag
|
60
|
+
|
61
|
+
# Run mode for the monitor event. The run mode allows the user to optimize for
|
62
|
+
# speed, accuracy, and cost by determining which models are used to evaluate the
|
63
|
+
# event. Available run modes include `precision_plus`, `precision`, `smart`, and
|
64
|
+
# `economy`. Defaults to `smart`.
|
65
|
+
sig do
|
66
|
+
returns(
|
67
|
+
T.nilable(Deeprails::MonitorSubmitEventParams::RunMode::OrSymbol)
|
68
|
+
)
|
69
|
+
end
|
70
|
+
attr_reader :run_mode
|
71
|
+
|
72
|
+
sig do
|
73
|
+
params(
|
74
|
+
run_mode: Deeprails::MonitorSubmitEventParams::RunMode::OrSymbol
|
75
|
+
).void
|
76
|
+
end
|
77
|
+
attr_writer :run_mode
|
78
|
+
|
79
|
+
sig do
|
80
|
+
params(
|
81
|
+
guardrail_metrics:
|
82
|
+
T::Array[
|
83
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::OrSymbol
|
84
|
+
],
|
85
|
+
model_input: Deeprails::MonitorSubmitEventParams::ModelInput::OrHash,
|
86
|
+
model_output: String,
|
87
|
+
model_used: String,
|
88
|
+
nametag: String,
|
89
|
+
run_mode: Deeprails::MonitorSubmitEventParams::RunMode::OrSymbol,
|
90
|
+
request_options: Deeprails::RequestOptions::OrHash
|
91
|
+
).returns(T.attached_class)
|
92
|
+
end
|
93
|
+
def self.new(
|
94
|
+
# An array of guardrail metrics that the model input and output pair will be
|
95
|
+
# evaluated on. For non-enterprise users, these will be limited to `correctness`,
|
96
|
+
# `completeness`, `instruction_adherence`, `context_adherence`,
|
97
|
+
# `ground_truth_adherence`, and/or `comprehensive_safety`.
|
98
|
+
guardrail_metrics:,
|
99
|
+
# A dictionary of inputs sent to the LLM to generate output. This must contain a
|
100
|
+
# `user_prompt` field and an optional `context` field. Additional properties are
|
101
|
+
# allowed.
|
102
|
+
model_input:,
|
103
|
+
# Output generated by the LLM to be evaluated.
|
104
|
+
model_output:,
|
105
|
+
# Model ID used to generate the output, like `gpt-4o` or `o3`.
|
106
|
+
model_used: nil,
|
107
|
+
# An optional, user-defined tag for the event.
|
108
|
+
nametag: nil,
|
109
|
+
# Run mode for the monitor event. The run mode allows the user to optimize for
|
110
|
+
# speed, accuracy, and cost by determining which models are used to evaluate the
|
111
|
+
# event. Available run modes include `precision_plus`, `precision`, `smart`, and
|
112
|
+
# `economy`. Defaults to `smart`.
|
113
|
+
run_mode: nil,
|
114
|
+
request_options: {}
|
115
|
+
)
|
116
|
+
end
|
117
|
+
|
118
|
+
sig do
|
119
|
+
override.returns(
|
120
|
+
{
|
121
|
+
guardrail_metrics:
|
122
|
+
T::Array[
|
123
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::OrSymbol
|
124
|
+
],
|
125
|
+
model_input: Deeprails::MonitorSubmitEventParams::ModelInput,
|
126
|
+
model_output: String,
|
127
|
+
model_used: String,
|
128
|
+
nametag: String,
|
129
|
+
run_mode: Deeprails::MonitorSubmitEventParams::RunMode::OrSymbol,
|
130
|
+
request_options: Deeprails::RequestOptions
|
131
|
+
}
|
132
|
+
)
|
133
|
+
end
|
134
|
+
def to_hash
|
135
|
+
end
|
136
|
+
|
137
|
+
module GuardrailMetric
|
138
|
+
extend Deeprails::Internal::Type::Enum
|
139
|
+
|
140
|
+
TaggedSymbol =
|
141
|
+
T.type_alias do
|
142
|
+
T.all(Symbol, Deeprails::MonitorSubmitEventParams::GuardrailMetric)
|
143
|
+
end
|
144
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
145
|
+
|
146
|
+
CORRECTNESS =
|
147
|
+
T.let(
|
148
|
+
:correctness,
|
149
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
150
|
+
)
|
151
|
+
COMPLETENESS =
|
152
|
+
T.let(
|
153
|
+
:completeness,
|
154
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
155
|
+
)
|
156
|
+
INSTRUCTION_ADHERENCE =
|
157
|
+
T.let(
|
158
|
+
:instruction_adherence,
|
159
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
160
|
+
)
|
161
|
+
CONTEXT_ADHERENCE =
|
162
|
+
T.let(
|
163
|
+
:context_adherence,
|
164
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
165
|
+
)
|
166
|
+
GROUND_TRUTH_ADHERENCE =
|
167
|
+
T.let(
|
168
|
+
:ground_truth_adherence,
|
169
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
170
|
+
)
|
171
|
+
COMPREHENSIVE_SAFETY =
|
172
|
+
T.let(
|
173
|
+
:comprehensive_safety,
|
174
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
175
|
+
)
|
176
|
+
|
177
|
+
sig do
|
178
|
+
override.returns(
|
179
|
+
T::Array[
|
180
|
+
Deeprails::MonitorSubmitEventParams::GuardrailMetric::TaggedSymbol
|
181
|
+
]
|
182
|
+
)
|
183
|
+
end
|
184
|
+
def self.values
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
class ModelInput < Deeprails::Internal::Type::BaseModel
|
189
|
+
OrHash =
|
190
|
+
T.type_alias do
|
191
|
+
T.any(
|
192
|
+
Deeprails::MonitorSubmitEventParams::ModelInput,
|
193
|
+
Deeprails::Internal::AnyHash
|
194
|
+
)
|
195
|
+
end
|
196
|
+
|
197
|
+
sig { returns(String) }
|
198
|
+
attr_accessor :user_prompt
|
199
|
+
|
200
|
+
sig { returns(T.nilable(String)) }
|
201
|
+
attr_reader :context
|
202
|
+
|
203
|
+
sig { params(context: String).void }
|
204
|
+
attr_writer :context
|
205
|
+
|
206
|
+
# A dictionary of inputs sent to the LLM to generate output. This must contain a
|
207
|
+
# `user_prompt` field and an optional `context` field. Additional properties are
|
208
|
+
# allowed.
|
209
|
+
sig do
|
210
|
+
params(user_prompt: String, context: String).returns(T.attached_class)
|
211
|
+
end
|
212
|
+
def self.new(user_prompt:, context: nil)
|
213
|
+
end
|
214
|
+
|
215
|
+
sig { override.returns({ user_prompt: String, context: String }) }
|
216
|
+
def to_hash
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
# Run mode for the monitor event. The run mode allows the user to optimize for
|
221
|
+
# speed, accuracy, and cost by determining which models are used to evaluate the
|
222
|
+
# event. Available run modes include `precision_plus`, `precision`, `smart`, and
|
223
|
+
# `economy`. Defaults to `smart`.
|
224
|
+
module RunMode
|
225
|
+
extend Deeprails::Internal::Type::Enum
|
226
|
+
|
227
|
+
TaggedSymbol =
|
228
|
+
T.type_alias do
|
229
|
+
T.all(Symbol, Deeprails::MonitorSubmitEventParams::RunMode)
|
230
|
+
end
|
231
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
232
|
+
|
233
|
+
PRECISION_PLUS =
|
234
|
+
T.let(
|
235
|
+
:precision_plus,
|
236
|
+
Deeprails::MonitorSubmitEventParams::RunMode::TaggedSymbol
|
237
|
+
)
|
238
|
+
PRECISION =
|
239
|
+
T.let(
|
240
|
+
:precision,
|
241
|
+
Deeprails::MonitorSubmitEventParams::RunMode::TaggedSymbol
|
242
|
+
)
|
243
|
+
SMART =
|
244
|
+
T.let(
|
245
|
+
:smart,
|
246
|
+
Deeprails::MonitorSubmitEventParams::RunMode::TaggedSymbol
|
247
|
+
)
|
248
|
+
ECONOMY =
|
249
|
+
T.let(
|
250
|
+
:economy,
|
251
|
+
Deeprails::MonitorSubmitEventParams::RunMode::TaggedSymbol
|
252
|
+
)
|
253
|
+
|
254
|
+
sig do
|
255
|
+
override.returns(
|
256
|
+
T::Array[Deeprails::MonitorSubmitEventParams::RunMode::TaggedSymbol]
|
257
|
+
)
|
258
|
+
end
|
259
|
+
def self.values
|
260
|
+
end
|
261
|
+
end
|
262
|
+
end
|
263
|
+
end
|
264
|
+
end
|