deeprails 0.8.0 → 0.10.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +23 -1
  4. data/lib/deeprails/client.rb +3 -3
  5. data/lib/deeprails/models/defend_create_workflow_params.rb +18 -1
  6. data/lib/deeprails/models/file_response.rb +49 -0
  7. data/lib/deeprails/models/file_upload_params.rb +22 -0
  8. data/lib/deeprails/models/monitor_detail_response.rb +231 -3
  9. data/lib/deeprails/models.rb +2 -4
  10. data/lib/deeprails/resources/defend.rb +5 -1
  11. data/lib/deeprails/resources/files.rb +37 -0
  12. data/lib/deeprails/version.rb +1 -1
  13. data/lib/deeprails.rb +3 -4
  14. data/rbi/deeprails/client.rbi +2 -2
  15. data/rbi/deeprails/models/defend_create_workflow_params.rbi +24 -0
  16. data/rbi/deeprails/models/file_response.rbi +84 -0
  17. data/rbi/deeprails/models/file_upload_params.rbi +43 -0
  18. data/rbi/deeprails/models/monitor_detail_response.rbi +483 -4
  19. data/rbi/deeprails/models.rbi +2 -4
  20. data/rbi/deeprails/resources/defend.rbi +7 -0
  21. data/rbi/deeprails/resources/files.rbi +26 -0
  22. data/sig/deeprails/client.rbs +1 -1
  23. data/sig/deeprails/models/defend_create_workflow_params.rbs +15 -1
  24. data/sig/deeprails/models/file_response.rbs +50 -0
  25. data/sig/deeprails/models/file_upload_params.rbs +24 -0
  26. data/sig/deeprails/models/monitor_detail_response.rbs +207 -6
  27. data/sig/deeprails/models.rbs +2 -4
  28. data/sig/deeprails/resources/defend.rbs +2 -0
  29. data/sig/deeprails/resources/files.rbs +12 -0
  30. metadata +11 -14
  31. data/lib/deeprails/models/evaluate_create_params.rb +0 -134
  32. data/lib/deeprails/models/evaluate_retrieve_params.rb +0 -14
  33. data/lib/deeprails/models/evaluation.rb +0 -233
  34. data/lib/deeprails/resources/evaluate.rb +0 -70
  35. data/rbi/deeprails/models/evaluate_create_params.rbi +0 -280
  36. data/rbi/deeprails/models/evaluate_retrieve_params.rbi +0 -27
  37. data/rbi/deeprails/models/evaluation.rbi +0 -402
  38. data/rbi/deeprails/resources/evaluate.rbi +0 -66
  39. data/sig/deeprails/models/evaluate_create_params.rbs +0 -122
  40. data/sig/deeprails/models/evaluate_retrieve_params.rbs +0 -15
  41. data/sig/deeprails/models/evaluation.rbs +0 -204
  42. data/sig/deeprails/resources/evaluate.rbs +0 -22
@@ -14,7 +14,7 @@ module Deeprails
14
14
 
15
15
  attr_reader monitor: Deeprails::Resources::Monitor
16
16
 
17
- attr_reader evaluate: Deeprails::Resources::Evaluate
17
+ attr_reader files: Deeprails::Resources::Files
18
18
 
19
19
  private def auth_headers: -> ::Hash[String, String]
20
20
 
@@ -8,7 +8,9 @@ module Deeprails
8
8
  automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
9
9
  custom_hallucination_threshold_values: ::Hash[Symbol, Float],
10
10
  description: String,
11
- max_improvement_attempts: Integer
11
+ file_search: ::Array[String],
12
+ max_improvement_attempts: Integer,
13
+ web_search: bool
12
14
  }
13
15
  & Deeprails::Internal::Type::request_parameters
14
16
 
@@ -38,10 +40,18 @@ module Deeprails
38
40
 
39
41
  def description=: (String) -> String
40
42
 
43
+ attr_reader file_search: ::Array[String]?
44
+
45
+ def file_search=: (::Array[String]) -> ::Array[String]
46
+
41
47
  attr_reader max_improvement_attempts: Integer?
42
48
 
43
49
  def max_improvement_attempts=: (Integer) -> Integer
44
50
 
51
+ attr_reader web_search: bool?
52
+
53
+ def web_search=: (bool) -> bool
54
+
45
55
  def initialize: (
46
56
  improvement_action: Deeprails::Models::DefendCreateWorkflowParams::improvement_action,
47
57
  name: String,
@@ -49,7 +59,9 @@ module Deeprails
49
59
  ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
50
60
  ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
51
61
  ?description: String,
62
+ ?file_search: ::Array[String],
52
63
  ?max_improvement_attempts: Integer,
64
+ ?web_search: bool,
53
65
  ?request_options: Deeprails::request_opts
54
66
  ) -> void
55
67
 
@@ -60,7 +72,9 @@ module Deeprails
60
72
  automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
61
73
  custom_hallucination_threshold_values: ::Hash[Symbol, Float],
62
74
  description: String,
75
+ file_search: ::Array[String],
63
76
  max_improvement_attempts: Integer,
77
+ web_search: bool,
64
78
  request_options: Deeprails::RequestOptions
65
79
  }
66
80
 
@@ -0,0 +1,50 @@
1
+ module Deeprails
2
+ module Models
3
+ type file_response =
4
+ {
5
+ created_at: Time,
6
+ file_id: String,
7
+ file_name: String,
8
+ file_path: String,
9
+ updated_at: Time
10
+ }
11
+
12
+ class FileResponse < Deeprails::Internal::Type::BaseModel
13
+ attr_reader created_at: Time?
14
+
15
+ def created_at=: (Time) -> Time
16
+
17
+ attr_reader file_id: String?
18
+
19
+ def file_id=: (String) -> String
20
+
21
+ attr_reader file_name: String?
22
+
23
+ def file_name=: (String) -> String
24
+
25
+ attr_reader file_path: String?
26
+
27
+ def file_path=: (String) -> String
28
+
29
+ attr_reader updated_at: Time?
30
+
31
+ def updated_at=: (Time) -> Time
32
+
33
+ def initialize: (
34
+ ?created_at: Time,
35
+ ?file_id: String,
36
+ ?file_name: String,
37
+ ?file_path: String,
38
+ ?updated_at: Time
39
+ ) -> void
40
+
41
+ def to_hash: -> {
42
+ created_at: Time,
43
+ file_id: String,
44
+ file_name: String,
45
+ file_path: String,
46
+ updated_at: Time
47
+ }
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,24 @@
1
+ module Deeprails
2
+ module Models
3
+ type file_upload_params =
4
+ { file: Deeprails::Internal::file_input }
5
+ & Deeprails::Internal::Type::request_parameters
6
+
7
+ class FileUploadParams < Deeprails::Internal::Type::BaseModel
8
+ extend Deeprails::Internal::Type::RequestParameters::Converter
9
+ include Deeprails::Internal::Type::RequestParameters
10
+
11
+ attr_accessor file: Deeprails::Internal::file_input
12
+
13
+ def initialize: (
14
+ file: Deeprails::Internal::file_input,
15
+ ?request_options: Deeprails::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ file: Deeprails::Internal::file_input,
20
+ request_options: Deeprails::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
@@ -7,7 +7,7 @@ module Deeprails
7
7
  name: String,
8
8
  created_at: Time,
9
9
  description: String,
10
- evaluations: ::Array[Deeprails::Evaluation],
10
+ evaluations: ::Array[Deeprails::MonitorDetailResponse::Evaluation],
11
11
  stats: Deeprails::MonitorDetailResponse::Stats,
12
12
  updated_at: Time,
13
13
  user_id: String
@@ -28,11 +28,11 @@ module Deeprails
28
28
 
29
29
  def description=: (String) -> String
30
30
 
31
- attr_reader evaluations: ::Array[Deeprails::Evaluation]?
31
+ attr_reader evaluations: ::Array[Deeprails::MonitorDetailResponse::Evaluation]?
32
32
 
33
33
  def evaluations=: (
34
- ::Array[Deeprails::Evaluation]
35
- ) -> ::Array[Deeprails::Evaluation]
34
+ ::Array[Deeprails::MonitorDetailResponse::Evaluation]
35
+ ) -> ::Array[Deeprails::MonitorDetailResponse::Evaluation]
36
36
 
37
37
  attr_reader stats: Deeprails::MonitorDetailResponse::Stats?
38
38
 
@@ -54,7 +54,7 @@ module Deeprails
54
54
  name: String,
55
55
  ?created_at: Time,
56
56
  ?description: String,
57
- ?evaluations: ::Array[Deeprails::Evaluation],
57
+ ?evaluations: ::Array[Deeprails::MonitorDetailResponse::Evaluation],
58
58
  ?stats: Deeprails::MonitorDetailResponse::Stats,
59
59
  ?updated_at: Time,
60
60
  ?user_id: String
@@ -66,7 +66,7 @@ module Deeprails
66
66
  name: String,
67
67
  created_at: Time,
68
68
  description: String,
69
- evaluations: ::Array[Deeprails::Evaluation],
69
+ evaluations: ::Array[Deeprails::MonitorDetailResponse::Evaluation],
70
70
  stats: Deeprails::MonitorDetailResponse::Stats,
71
71
  updated_at: Time,
72
72
  user_id: String
@@ -83,6 +83,207 @@ module Deeprails
83
83
  def self?.values: -> ::Array[Deeprails::Models::MonitorDetailResponse::monitor_status]
84
84
  end
85
85
 
86
+ type evaluation =
87
+ {
88
+ eval_id: String,
89
+ evaluation_status: Deeprails::Models::MonitorDetailResponse::Evaluation::evaluation_status,
90
+ model_input: Deeprails::MonitorDetailResponse::Evaluation::ModelInput,
91
+ model_output: String,
92
+ run_mode: Deeprails::Models::MonitorDetailResponse::Evaluation::run_mode,
93
+ created_at: Time,
94
+ end_timestamp: Time,
95
+ error_message: String,
96
+ error_timestamp: Time,
97
+ evaluation_result: ::Hash[Symbol, top],
98
+ evaluation_total_cost: Float,
99
+ guardrail_metrics: ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric],
100
+ model_used: String,
101
+ modified_at: Time,
102
+ nametag: String,
103
+ progress: Integer,
104
+ start_timestamp: Time
105
+ }
106
+
107
+ class Evaluation < Deeprails::Internal::Type::BaseModel
108
+ attr_accessor eval_id: String
109
+
110
+ attr_accessor evaluation_status: Deeprails::Models::MonitorDetailResponse::Evaluation::evaluation_status
111
+
112
+ attr_accessor model_input: Deeprails::MonitorDetailResponse::Evaluation::ModelInput
113
+
114
+ attr_accessor model_output: String
115
+
116
+ attr_accessor run_mode: Deeprails::Models::MonitorDetailResponse::Evaluation::run_mode
117
+
118
+ attr_reader created_at: Time?
119
+
120
+ def created_at=: (Time) -> Time
121
+
122
+ attr_reader end_timestamp: Time?
123
+
124
+ def end_timestamp=: (Time) -> Time
125
+
126
+ attr_reader error_message: String?
127
+
128
+ def error_message=: (String) -> String
129
+
130
+ attr_reader error_timestamp: Time?
131
+
132
+ def error_timestamp=: (Time) -> Time
133
+
134
+ attr_reader evaluation_result: ::Hash[Symbol, top]?
135
+
136
+ def evaluation_result=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
137
+
138
+ attr_reader evaluation_total_cost: Float?
139
+
140
+ def evaluation_total_cost=: (Float) -> Float
141
+
142
+ attr_reader guardrail_metrics: ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric]?
143
+
144
+ def guardrail_metrics=: (
145
+ ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric]
146
+ ) -> ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric]
147
+
148
+ attr_reader model_used: String?
149
+
150
+ def model_used=: (String) -> String
151
+
152
+ attr_reader modified_at: Time?
153
+
154
+ def modified_at=: (Time) -> Time
155
+
156
+ attr_reader nametag: String?
157
+
158
+ def nametag=: (String) -> String
159
+
160
+ attr_reader progress: Integer?
161
+
162
+ def progress=: (Integer) -> Integer
163
+
164
+ attr_reader start_timestamp: Time?
165
+
166
+ def start_timestamp=: (Time) -> Time
167
+
168
+ def initialize: (
169
+ eval_id: String,
170
+ evaluation_status: Deeprails::Models::MonitorDetailResponse::Evaluation::evaluation_status,
171
+ model_input: Deeprails::MonitorDetailResponse::Evaluation::ModelInput,
172
+ model_output: String,
173
+ run_mode: Deeprails::Models::MonitorDetailResponse::Evaluation::run_mode,
174
+ ?created_at: Time,
175
+ ?end_timestamp: Time,
176
+ ?error_message: String,
177
+ ?error_timestamp: Time,
178
+ ?evaluation_result: ::Hash[Symbol, top],
179
+ ?evaluation_total_cost: Float,
180
+ ?guardrail_metrics: ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric],
181
+ ?model_used: String,
182
+ ?modified_at: Time,
183
+ ?nametag: String,
184
+ ?progress: Integer,
185
+ ?start_timestamp: Time
186
+ ) -> void
187
+
188
+ def to_hash: -> {
189
+ eval_id: String,
190
+ evaluation_status: Deeprails::Models::MonitorDetailResponse::Evaluation::evaluation_status,
191
+ model_input: Deeprails::MonitorDetailResponse::Evaluation::ModelInput,
192
+ model_output: String,
193
+ run_mode: Deeprails::Models::MonitorDetailResponse::Evaluation::run_mode,
194
+ created_at: Time,
195
+ end_timestamp: Time,
196
+ error_message: String,
197
+ error_timestamp: Time,
198
+ evaluation_result: ::Hash[Symbol, top],
199
+ evaluation_total_cost: Float,
200
+ guardrail_metrics: ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric],
201
+ model_used: String,
202
+ modified_at: Time,
203
+ nametag: String,
204
+ progress: Integer,
205
+ start_timestamp: Time
206
+ }
207
+
208
+ type evaluation_status =
209
+ :in_progress | :completed | :canceled | :queued | :failed
210
+
211
+ module EvaluationStatus
212
+ extend Deeprails::Internal::Type::Enum
213
+
214
+ IN_PROGRESS: :in_progress
215
+ COMPLETED: :completed
216
+ CANCELED: :canceled
217
+ QUEUED: :queued
218
+ FAILED: :failed
219
+
220
+ def self?.values: -> ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::evaluation_status]
221
+ end
222
+
223
+ type model_input =
224
+ { ground_truth: String, system_prompt: String, user_prompt: String }
225
+
226
+ class ModelInput < Deeprails::Internal::Type::BaseModel
227
+ attr_reader ground_truth: String?
228
+
229
+ def ground_truth=: (String) -> String
230
+
231
+ attr_reader system_prompt: String?
232
+
233
+ def system_prompt=: (String) -> String
234
+
235
+ attr_reader user_prompt: String?
236
+
237
+ def user_prompt=: (String) -> String
238
+
239
+ def initialize: (
240
+ ?ground_truth: String,
241
+ ?system_prompt: String,
242
+ ?user_prompt: String
243
+ ) -> void
244
+
245
+ def to_hash: -> {
246
+ ground_truth: String,
247
+ system_prompt: String,
248
+ user_prompt: String
249
+ }
250
+ end
251
+
252
+ type run_mode = :precision_plus | :precision | :smart | :economy
253
+
254
+ module RunMode
255
+ extend Deeprails::Internal::Type::Enum
256
+
257
+ PRECISION_PLUS: :precision_plus
258
+ PRECISION: :precision
259
+ SMART: :smart
260
+ ECONOMY: :economy
261
+
262
+ def self?.values: -> ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::run_mode]
263
+ end
264
+
265
+ type guardrail_metric =
266
+ :correctness
267
+ | :completeness
268
+ | :instruction_adherence
269
+ | :context_adherence
270
+ | :ground_truth_adherence
271
+ | :comprehensive_safety
272
+
273
+ module GuardrailMetric
274
+ extend Deeprails::Internal::Type::Enum
275
+
276
+ CORRECTNESS: :correctness
277
+ COMPLETENESS: :completeness
278
+ INSTRUCTION_ADHERENCE: :instruction_adherence
279
+ CONTEXT_ADHERENCE: :context_adherence
280
+ GROUND_TRUTH_ADHERENCE: :ground_truth_adherence
281
+ COMPREHENSIVE_SAFETY: :comprehensive_safety
282
+
283
+ def self?.values: -> ::Array[Deeprails::Models::MonitorDetailResponse::Evaluation::guardrail_metric]
284
+ end
285
+ end
286
+
86
287
  type stats =
87
288
  {
88
289
  completed_evaluations: Integer,
@@ -11,11 +11,9 @@ module Deeprails
11
11
 
12
12
  class DefendUpdateWorkflowParams = Deeprails::Models::DefendUpdateWorkflowParams
13
13
 
14
- class EvaluateCreateParams = Deeprails::Models::EvaluateCreateParams
14
+ class FileResponse = Deeprails::Models::FileResponse
15
15
 
16
- class EvaluateRetrieveParams = Deeprails::Models::EvaluateRetrieveParams
17
-
18
- class Evaluation = Deeprails::Models::Evaluation
16
+ class FileUploadParams = Deeprails::Models::FileUploadParams
19
17
 
20
18
  class MonitorCreateParams = Deeprails::Models::MonitorCreateParams
21
19
 
@@ -8,7 +8,9 @@ module Deeprails
8
8
  ?automatic_hallucination_tolerance_levels: ::Hash[Symbol, Deeprails::Models::DefendCreateWorkflowParams::automatic_hallucination_tolerance_level],
9
9
  ?custom_hallucination_threshold_values: ::Hash[Symbol, Float],
10
10
  ?description: String,
11
+ ?file_search: ::Array[String],
11
12
  ?max_improvement_attempts: Integer,
13
+ ?web_search: bool,
12
14
  ?request_options: Deeprails::request_opts
13
15
  ) -> Deeprails::DefendResponse
14
16
 
@@ -0,0 +1,12 @@
1
+ module Deeprails
2
+ module Resources
3
+ class Files
4
+ def upload: (
5
+ file: Deeprails::Internal::file_input,
6
+ ?request_options: Deeprails::request_opts
7
+ ) -> Deeprails::FileResponse
8
+
9
+ def initialize: (client: Deeprails::Client) -> void
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deeprails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deeprails
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-24 00:00:00.000000000 Z
11
+ date: 2025-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -61,9 +61,8 @@ files:
61
61
  - lib/deeprails/models/defend_retrieve_workflow_params.rb
62
62
  - lib/deeprails/models/defend_submit_event_params.rb
63
63
  - lib/deeprails/models/defend_update_workflow_params.rb
64
- - lib/deeprails/models/evaluate_create_params.rb
65
- - lib/deeprails/models/evaluate_retrieve_params.rb
66
- - lib/deeprails/models/evaluation.rb
64
+ - lib/deeprails/models/file_response.rb
65
+ - lib/deeprails/models/file_upload_params.rb
67
66
  - lib/deeprails/models/monitor_create_params.rb
68
67
  - lib/deeprails/models/monitor_detail_response.rb
69
68
  - lib/deeprails/models/monitor_event_response.rb
@@ -74,7 +73,7 @@ files:
74
73
  - lib/deeprails/models/workflow_event_response.rb
75
74
  - lib/deeprails/request_options.rb
76
75
  - lib/deeprails/resources/defend.rb
77
- - lib/deeprails/resources/evaluate.rb
76
+ - lib/deeprails/resources/files.rb
78
77
  - lib/deeprails/resources/monitor.rb
79
78
  - lib/deeprails/version.rb
80
79
  - manifest.yaml
@@ -103,9 +102,8 @@ files:
103
102
  - rbi/deeprails/models/defend_retrieve_workflow_params.rbi
104
103
  - rbi/deeprails/models/defend_submit_event_params.rbi
105
104
  - rbi/deeprails/models/defend_update_workflow_params.rbi
106
- - rbi/deeprails/models/evaluate_create_params.rbi
107
- - rbi/deeprails/models/evaluate_retrieve_params.rbi
108
- - rbi/deeprails/models/evaluation.rbi
105
+ - rbi/deeprails/models/file_response.rbi
106
+ - rbi/deeprails/models/file_upload_params.rbi
109
107
  - rbi/deeprails/models/monitor_create_params.rbi
110
108
  - rbi/deeprails/models/monitor_detail_response.rbi
111
109
  - rbi/deeprails/models/monitor_event_response.rbi
@@ -116,7 +114,7 @@ files:
116
114
  - rbi/deeprails/models/workflow_event_response.rbi
117
115
  - rbi/deeprails/request_options.rbi
118
116
  - rbi/deeprails/resources/defend.rbi
119
- - rbi/deeprails/resources/evaluate.rbi
117
+ - rbi/deeprails/resources/files.rbi
120
118
  - rbi/deeprails/resources/monitor.rbi
121
119
  - rbi/deeprails/version.rbi
122
120
  - sig/deeprails/client.rbs
@@ -144,9 +142,8 @@ files:
144
142
  - sig/deeprails/models/defend_retrieve_workflow_params.rbs
145
143
  - sig/deeprails/models/defend_submit_event_params.rbs
146
144
  - sig/deeprails/models/defend_update_workflow_params.rbs
147
- - sig/deeprails/models/evaluate_create_params.rbs
148
- - sig/deeprails/models/evaluate_retrieve_params.rbs
149
- - sig/deeprails/models/evaluation.rbs
145
+ - sig/deeprails/models/file_response.rbs
146
+ - sig/deeprails/models/file_upload_params.rbs
150
147
  - sig/deeprails/models/monitor_create_params.rbs
151
148
  - sig/deeprails/models/monitor_detail_response.rbs
152
149
  - sig/deeprails/models/monitor_event_response.rbs
@@ -157,7 +154,7 @@ files:
157
154
  - sig/deeprails/models/workflow_event_response.rbs
158
155
  - sig/deeprails/request_options.rbs
159
156
  - sig/deeprails/resources/defend.rbs
160
- - sig/deeprails/resources/evaluate.rbs
157
+ - sig/deeprails/resources/files.rbs
161
158
  - sig/deeprails/resources/monitor.rbs
162
159
  - sig/deeprails/version.rbs
163
160
  homepage: https://gemdocs.org/gems/deeprails
@@ -1,134 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Deeprails
4
- module Models
5
- # @see Deeprails::Resources::Evaluate#create
6
- class EvaluateCreateParams < Deeprails::Internal::Type::BaseModel
7
- extend Deeprails::Internal::Type::RequestParameters::Converter
8
- include Deeprails::Internal::Type::RequestParameters
9
-
10
- # @!attribute model_input
11
- # A dictionary of inputs sent to the LLM to generate output. The dictionary must
12
- # contain at least a `user_prompt` field or a `system_prompt` field. For
13
- # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
14
- #
15
- # @return [Deeprails::Models::EvaluateCreateParams::ModelInput]
16
- required :model_input, -> { Deeprails::EvaluateCreateParams::ModelInput }
17
-
18
- # @!attribute model_output
19
- # Output generated by the LLM to be evaluated.
20
- #
21
- # @return [String]
22
- required :model_output, String
23
-
24
- # @!attribute run_mode
25
- # Run mode for the evaluation. The run mode allows the user to optimize for speed,
26
- # accuracy, and cost by determining which models are used to evaluate the event.
27
- # Available run modes include `precision_plus`, `precision`, `smart`, and
28
- # `economy`. Defaults to `smart`.
29
- #
30
- # @return [Symbol, Deeprails::Models::EvaluateCreateParams::RunMode]
31
- required :run_mode, enum: -> { Deeprails::EvaluateCreateParams::RunMode }
32
-
33
- # @!attribute guardrail_metrics
34
- # An array of guardrail metrics that the model input and output pair will be
35
- # evaluated on. For non-enterprise users, these will be limited to the allowed
36
- # guardrail metrics.
37
- #
38
- # @return [Array<Symbol, Deeprails::Models::EvaluateCreateParams::GuardrailMetric>, nil]
39
- optional :guardrail_metrics,
40
- -> { Deeprails::Internal::Type::ArrayOf[enum: Deeprails::EvaluateCreateParams::GuardrailMetric] }
41
-
42
- # @!attribute model_used
43
- # Model ID used to generate the output, like `gpt-4o` or `o3`.
44
- #
45
- # @return [String, nil]
46
- optional :model_used, String
47
-
48
- # @!attribute nametag
49
- # An optional, user-defined tag for the evaluation.
50
- #
51
- # @return [String, nil]
52
- optional :nametag, String
53
-
54
- # @!method initialize(model_input:, model_output:, run_mode:, guardrail_metrics: nil, model_used: nil, nametag: nil, request_options: {})
55
- # Some parameter documentations has been truncated, see
56
- # {Deeprails::Models::EvaluateCreateParams} for more details.
57
- #
58
- # @param model_input [Deeprails::Models::EvaluateCreateParams::ModelInput] A dictionary of inputs sent to the LLM to generate output. The dictionary must c
59
- #
60
- # @param model_output [String] Output generated by the LLM to be evaluated.
61
- #
62
- # @param run_mode [Symbol, Deeprails::Models::EvaluateCreateParams::RunMode] Run mode for the evaluation. The run mode allows the user to optimize for speed
63
- #
64
- # @param guardrail_metrics [Array<Symbol, Deeprails::Models::EvaluateCreateParams::GuardrailMetric>] An array of guardrail metrics that the model input and output pair will be evalu
65
- #
66
- # @param model_used [String] Model ID used to generate the output, like `gpt-4o` or `o3`.
67
- #
68
- # @param nametag [String] An optional, user-defined tag for the evaluation.
69
- #
70
- # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}]
71
-
72
- class ModelInput < Deeprails::Internal::Type::BaseModel
73
- # @!attribute ground_truth
74
- # The ground truth for evaluating Ground Truth Adherence guardrail.
75
- #
76
- # @return [String, nil]
77
- optional :ground_truth, String
78
-
79
- # @!attribute system_prompt
80
- # The system prompt used to generate the output.
81
- #
82
- # @return [String, nil]
83
- optional :system_prompt, String
84
-
85
- # @!attribute user_prompt
86
- # The user prompt used to generate the output.
87
- #
88
- # @return [String, nil]
89
- optional :user_prompt, String
90
-
91
- # @!method initialize(ground_truth: nil, system_prompt: nil, user_prompt: nil)
92
- # A dictionary of inputs sent to the LLM to generate output. The dictionary must
93
- # contain at least a `user_prompt` field or a `system_prompt` field. For
94
- # ground_truth_adherence guardrail metric, `ground_truth` should be provided.
95
- #
96
- # @param ground_truth [String] The ground truth for evaluating Ground Truth Adherence guardrail.
97
- #
98
- # @param system_prompt [String] The system prompt used to generate the output.
99
- #
100
- # @param user_prompt [String] The user prompt used to generate the output.
101
- end
102
-
103
- # Run mode for the evaluation. The run mode allows the user to optimize for speed,
104
- # accuracy, and cost by determining which models are used to evaluate the event.
105
- # Available run modes include `precision_plus`, `precision`, `smart`, and
106
- # `economy`. Defaults to `smart`.
107
- module RunMode
108
- extend Deeprails::Internal::Type::Enum
109
-
110
- PRECISION_PLUS = :precision_plus
111
- PRECISION = :precision
112
- SMART = :smart
113
- ECONOMY = :economy
114
-
115
- # @!method self.values
116
- # @return [Array<Symbol>]
117
- end
118
-
119
- module GuardrailMetric
120
- extend Deeprails::Internal::Type::Enum
121
-
122
- CORRECTNESS = :correctness
123
- COMPLETENESS = :completeness
124
- INSTRUCTION_ADHERENCE = :instruction_adherence
125
- CONTEXT_ADHERENCE = :context_adherence
126
- GROUND_TRUTH_ADHERENCE = :ground_truth_adherence
127
- COMPREHENSIVE_SAFETY = :comprehensive_safety
128
-
129
- # @!method self.values
130
- # @return [Array<Symbol>]
131
- end
132
- end
133
- end
134
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Deeprails
4
- module Models
5
- # @see Deeprails::Resources::Evaluate#retrieve
6
- class EvaluateRetrieveParams < Deeprails::Internal::Type::BaseModel
7
- extend Deeprails::Internal::Type::RequestParameters::Converter
8
- include Deeprails::Internal::Type::RequestParameters
9
-
10
- # @!method initialize(request_options: {})
11
- # @param request_options [Deeprails::RequestOptions, Hash{Symbol=>Object}]
12
- end
13
- end
14
- end