openlayer 0.4.1 → 0.6.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/openlayer/client.rb +4 -0
  5. data/lib/openlayer/internal/transport/base_client.rb +7 -1
  6. data/lib/openlayer/internal/transport/pooled_net_requester.rb +38 -26
  7. data/lib/openlayer/internal/util.rb +3 -2
  8. data/lib/openlayer/models/inference_pipeline_retrieve_response.rb +507 -1
  9. data/lib/openlayer/models/inference_pipeline_update_response.rb +507 -1
  10. data/lib/openlayer/models/projects/inference_pipeline_create_params.rb +609 -1
  11. data/lib/openlayer/models/projects/inference_pipeline_create_response.rb +507 -1
  12. data/lib/openlayer/models/projects/inference_pipeline_list_response.rb +507 -1
  13. data/lib/openlayer/models/projects/test_create_params.rb +49 -1
  14. data/lib/openlayer/models/projects/test_create_response.rb +49 -1
  15. data/lib/openlayer/models/projects/test_list_response.rb +49 -1
  16. data/lib/openlayer/models/test_evaluate_params.rb +50 -0
  17. data/lib/openlayer/models/test_evaluate_response.rb +75 -0
  18. data/lib/openlayer/models.rb +2 -0
  19. data/lib/openlayer/resources/projects/inference_pipelines.rb +3 -1
  20. data/lib/openlayer/resources/projects/tests.rb +9 -1
  21. data/lib/openlayer/resources/tests.rb +50 -0
  22. data/lib/openlayer/version.rb +1 -1
  23. data/lib/openlayer.rb +5 -0
  24. data/manifest.yaml +2 -0
  25. data/rbi/openlayer/client.rbi +3 -0
  26. data/rbi/openlayer/internal/transport/base_client.rbi +5 -0
  27. data/rbi/openlayer/internal/transport/pooled_net_requester.rbi +6 -2
  28. data/rbi/openlayer/internal/type/base_model.rbi +8 -4
  29. data/rbi/openlayer/models/inference_pipeline_retrieve_response.rbi +948 -0
  30. data/rbi/openlayer/models/inference_pipeline_update_response.rbi +948 -0
  31. data/rbi/openlayer/models/projects/inference_pipeline_create_params.rbi +1095 -0
  32. data/rbi/openlayer/models/projects/inference_pipeline_create_response.rbi +952 -0
  33. data/rbi/openlayer/models/projects/inference_pipeline_list_response.rbi +952 -0
  34. data/rbi/openlayer/models/projects/test_create_params.rbi +40 -0
  35. data/rbi/openlayer/models/projects/test_create_response.rbi +40 -0
  36. data/rbi/openlayer/models/projects/test_list_response.rbi +40 -0
  37. data/rbi/openlayer/models/test_evaluate_params.rbi +75 -0
  38. data/rbi/openlayer/models/test_evaluate_response.rbi +121 -0
  39. data/rbi/openlayer/models.rbi +2 -0
  40. data/rbi/openlayer/resources/projects/inference_pipelines.rbi +12 -0
  41. data/rbi/openlayer/resources/projects/tests.rbi +16 -0
  42. data/rbi/openlayer/resources/tests.rbi +42 -0
  43. data/sig/openlayer/client.rbs +2 -0
  44. data/sig/openlayer/internal/transport/base_client.rbs +2 -0
  45. data/sig/openlayer/internal/transport/pooled_net_requester.rbs +4 -1
  46. data/sig/openlayer/models/inference_pipeline_retrieve_response.rbs +473 -0
  47. data/sig/openlayer/models/inference_pipeline_update_response.rbs +473 -0
  48. data/sig/openlayer/models/projects/inference_pipeline_create_params.rbs +493 -0
  49. data/sig/openlayer/models/projects/inference_pipeline_create_response.rbs +473 -0
  50. data/sig/openlayer/models/projects/inference_pipeline_list_response.rbs +473 -0
  51. data/sig/openlayer/models/projects/test_create_params.rbs +20 -0
  52. data/sig/openlayer/models/projects/test_create_response.rbs +20 -0
  53. data/sig/openlayer/models/projects/test_list_response.rbs +20 -0
  54. data/sig/openlayer/models/test_evaluate_params.rbs +45 -0
  55. data/sig/openlayer/models/test_evaluate_response.rbs +63 -0
  56. data/sig/openlayer/models.rbs +2 -0
  57. data/sig/openlayer/resources/projects/inference_pipelines.rbs +1 -0
  58. data/sig/openlayer/resources/projects/tests.rbs +4 -0
  59. data/sig/openlayer/resources/tests.rbs +16 -0
  60. metadata +11 -2
@@ -19,6 +19,15 @@ module Openlayer
19
19
  sig { returns(String) }
20
20
  attr_accessor :name
21
21
 
22
+ sig do
23
+ returns(
24
+ T.nilable(
25
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::Variants
26
+ )
27
+ )
28
+ end
29
+ attr_accessor :data_backend
30
+
22
31
  sig do
23
32
  returns(
24
33
  T.nilable(Openlayer::Models::InferencePipelineUpdateResponse::Project)
@@ -118,6 +127,14 @@ module Openlayer
118
127
  sig { returns(Integer) }
119
128
  attr_accessor :total_goal_count
120
129
 
130
+ # The last time the data was polled.
131
+ sig { returns(T.nilable(Time)) }
132
+ attr_accessor :date_last_polled
133
+
134
+ # The total number of records in the data backend.
135
+ sig { returns(T.nilable(Integer)) }
136
+ attr_accessor :total_records_count
137
+
121
138
  # The workspace id.
122
139
  sig { returns(T.nilable(String)) }
123
140
  attr_reader :workspace_id
@@ -144,10 +161,23 @@ module Openlayer
144
161
  Openlayer::Models::InferencePipelineUpdateResponse::Status::OrSymbol,
145
162
  status_message: T.nilable(String),
146
163
  total_goal_count: Integer,
164
+ data_backend:
165
+ T.nilable(
166
+ T.any(
167
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::OrHash,
168
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::OrHash,
169
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::OrHash,
170
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::OrHash,
171
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::OrHash,
172
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::OrHash
173
+ )
174
+ ),
175
+ date_last_polled: T.nilable(Time),
147
176
  project:
148
177
  T.nilable(
149
178
  Openlayer::Models::InferencePipelineUpdateResponse::Project::OrHash
150
179
  ),
180
+ total_records_count: T.nilable(Integer),
151
181
  workspace:
152
182
  T.nilable(
153
183
  Openlayer::Models::InferencePipelineUpdateResponse::Workspace::OrHash
@@ -185,7 +215,12 @@ module Openlayer
185
215
  status_message:,
186
216
  # The total number of tests.
187
217
  total_goal_count:,
218
+ data_backend: nil,
219
+ # The last time the data was polled.
220
+ date_last_polled: nil,
188
221
  project: nil,
222
+ # The total number of records in the data backend.
223
+ total_records_count: nil,
189
224
  workspace: nil,
190
225
  # The workspace id.
191
226
  workspace_id: nil
@@ -211,10 +246,16 @@ module Openlayer
211
246
  Openlayer::Models::InferencePipelineUpdateResponse::Status::TaggedSymbol,
212
247
  status_message: T.nilable(String),
213
248
  total_goal_count: Integer,
249
+ data_backend:
250
+ T.nilable(
251
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::Variants
252
+ ),
253
+ date_last_polled: T.nilable(Time),
214
254
  project:
215
255
  T.nilable(
216
256
  Openlayer::Models::InferencePipelineUpdateResponse::Project
217
257
  ),
258
+ total_records_count: T.nilable(Integer),
218
259
  workspace:
219
260
  T.nilable(
220
261
  Openlayer::Models::InferencePipelineUpdateResponse::Workspace
@@ -302,6 +343,913 @@ module Openlayer
302
343
  end
303
344
  end
304
345
 
346
+ module DataBackend
347
+ extend Openlayer::Internal::Type::Union
348
+
349
+ Variants =
350
+ T.type_alias do
351
+ T.any(
352
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0,
353
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType,
354
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2,
355
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3,
356
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4,
357
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5
358
+ )
359
+ end
360
+
361
+ class UnionMember0 < Openlayer::Internal::Type::BaseModel
362
+ OrHash =
363
+ T.type_alias do
364
+ T.any(
365
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0,
366
+ Openlayer::Internal::AnyHash
367
+ )
368
+ end
369
+
370
+ sig do
371
+ returns(
372
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::BackendType::TaggedSymbol
373
+ )
374
+ end
375
+ attr_accessor :backend_type
376
+
377
+ sig { returns(T.nilable(String)) }
378
+ attr_accessor :bigquery_connection_id
379
+
380
+ sig { returns(String) }
381
+ attr_accessor :dataset_id
382
+
383
+ sig { returns(String) }
384
+ attr_accessor :project_id
385
+
386
+ sig { returns(T.nilable(String)) }
387
+ attr_accessor :table_id
388
+
389
+ sig do
390
+ returns(
391
+ T.nilable(
392
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::TaggedSymbol
393
+ )
394
+ )
395
+ end
396
+ attr_accessor :partition_type
397
+
398
+ sig do
399
+ params(
400
+ backend_type:
401
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::BackendType::OrSymbol,
402
+ bigquery_connection_id: T.nilable(String),
403
+ dataset_id: String,
404
+ project_id: String,
405
+ table_id: T.nilable(String),
406
+ partition_type:
407
+ T.nilable(
408
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::OrSymbol
409
+ )
410
+ ).returns(T.attached_class)
411
+ end
412
+ def self.new(
413
+ backend_type:,
414
+ bigquery_connection_id:,
415
+ dataset_id:,
416
+ project_id:,
417
+ table_id:,
418
+ partition_type: nil
419
+ )
420
+ end
421
+
422
+ sig do
423
+ override.returns(
424
+ {
425
+ backend_type:
426
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::BackendType::TaggedSymbol,
427
+ bigquery_connection_id: T.nilable(String),
428
+ config:
429
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::Config,
430
+ dataset_id: String,
431
+ project_id: String,
432
+ table_id: T.nilable(String),
433
+ partition_type:
434
+ T.nilable(
435
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::TaggedSymbol
436
+ )
437
+ }
438
+ )
439
+ end
440
+ def to_hash
441
+ end
442
+
443
+ module BackendType
444
+ extend Openlayer::Internal::Type::Enum
445
+
446
+ TaggedSymbol =
447
+ T.type_alias do
448
+ T.all(
449
+ Symbol,
450
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::BackendType
451
+ )
452
+ end
453
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
454
+
455
+ BIGQUERY =
456
+ T.let(
457
+ :bigquery,
458
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::BackendType::TaggedSymbol
459
+ )
460
+
461
+ sig do
462
+ override.returns(
463
+ T::Array[
464
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::BackendType::TaggedSymbol
465
+ ]
466
+ )
467
+ end
468
+ def self.values
469
+ end
470
+ end
471
+
472
+ class Config < Openlayer::Internal::Type::BaseModel
473
+ OrHash =
474
+ T.type_alias do
475
+ T.any(
476
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::Config,
477
+ Openlayer::Internal::AnyHash
478
+ )
479
+ end
480
+
481
+ # Name of the column with the ground truths.
482
+ sig { returns(T.nilable(String)) }
483
+ attr_accessor :ground_truth_column_name
484
+
485
+ # Name of the column with human feedback.
486
+ sig { returns(T.nilable(String)) }
487
+ attr_accessor :human_feedback_column_name
488
+
489
+ # Name of the column with the latencies.
490
+ sig { returns(T.nilable(String)) }
491
+ attr_accessor :latency_column_name
492
+
493
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
494
+ # If not provided, the upload timestamp is used.
495
+ sig { returns(T.nilable(String)) }
496
+ attr_accessor :timestamp_column_name
497
+
498
+ sig do
499
+ params(
500
+ ground_truth_column_name: T.nilable(String),
501
+ human_feedback_column_name: T.nilable(String),
502
+ latency_column_name: T.nilable(String),
503
+ timestamp_column_name: T.nilable(String)
504
+ ).returns(T.attached_class)
505
+ end
506
+ def self.new(
507
+ # Name of the column with the ground truths.
508
+ ground_truth_column_name: nil,
509
+ # Name of the column with human feedback.
510
+ human_feedback_column_name: nil,
511
+ # Name of the column with the latencies.
512
+ latency_column_name: nil,
513
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
514
+ # If not provided, the upload timestamp is used.
515
+ timestamp_column_name: nil
516
+ )
517
+ end
518
+
519
+ sig do
520
+ override.returns(
521
+ {
522
+ ground_truth_column_name: T.nilable(String),
523
+ human_feedback_column_name: T.nilable(String),
524
+ inference_id_column_name: T.nilable(String),
525
+ latency_column_name: T.nilable(String),
526
+ timestamp_column_name: T.nilable(String)
527
+ }
528
+ )
529
+ end
530
+ def to_hash
531
+ end
532
+ end
533
+
534
+ module PartitionType
535
+ extend Openlayer::Internal::Type::Enum
536
+
537
+ TaggedSymbol =
538
+ T.type_alias do
539
+ T.all(
540
+ Symbol,
541
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType
542
+ )
543
+ end
544
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
545
+
546
+ DAY =
547
+ T.let(
548
+ :DAY,
549
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::TaggedSymbol
550
+ )
551
+ MONTH =
552
+ T.let(
553
+ :MONTH,
554
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::TaggedSymbol
555
+ )
556
+ YEAR =
557
+ T.let(
558
+ :YEAR,
559
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::TaggedSymbol
560
+ )
561
+
562
+ sig do
563
+ override.returns(
564
+ T::Array[
565
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember0::PartitionType::TaggedSymbol
566
+ ]
567
+ )
568
+ end
569
+ def self.values
570
+ end
571
+ end
572
+ end
573
+
574
+ class BackendType < Openlayer::Internal::Type::BaseModel
575
+ OrHash =
576
+ T.type_alias do
577
+ T.any(
578
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType,
579
+ Openlayer::Internal::AnyHash
580
+ )
581
+ end
582
+
583
+ sig do
584
+ returns(
585
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::BackendType::TaggedSymbol
586
+ )
587
+ end
588
+ attr_accessor :backend_type
589
+
590
+ sig do
591
+ params(
592
+ backend_type:
593
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::BackendType::OrSymbol
594
+ ).returns(T.attached_class)
595
+ end
596
+ def self.new(backend_type:)
597
+ end
598
+
599
+ sig do
600
+ override.returns(
601
+ {
602
+ backend_type:
603
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::BackendType::TaggedSymbol
604
+ }
605
+ )
606
+ end
607
+ def to_hash
608
+ end
609
+
610
+ module BackendType
611
+ extend Openlayer::Internal::Type::Enum
612
+
613
+ TaggedSymbol =
614
+ T.type_alias do
615
+ T.all(
616
+ Symbol,
617
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::BackendType
618
+ )
619
+ end
620
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
621
+
622
+ DEFAULT =
623
+ T.let(
624
+ :default,
625
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::BackendType::TaggedSymbol
626
+ )
627
+
628
+ sig do
629
+ override.returns(
630
+ T::Array[
631
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::BackendType::BackendType::TaggedSymbol
632
+ ]
633
+ )
634
+ end
635
+ def self.values
636
+ end
637
+ end
638
+ end
639
+
640
+ class UnionMember2 < Openlayer::Internal::Type::BaseModel
641
+ OrHash =
642
+ T.type_alias do
643
+ T.any(
644
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2,
645
+ Openlayer::Internal::AnyHash
646
+ )
647
+ end
648
+
649
+ sig do
650
+ returns(
651
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::BackendType::TaggedSymbol
652
+ )
653
+ end
654
+ attr_accessor :backend_type
655
+
656
+ sig { returns(String) }
657
+ attr_accessor :database
658
+
659
+ sig { returns(String) }
660
+ attr_accessor :schema
661
+
662
+ sig { returns(T.nilable(String)) }
663
+ attr_accessor :snowflake_connection_id
664
+
665
+ sig { returns(T.nilable(String)) }
666
+ attr_accessor :table
667
+
668
+ sig do
669
+ params(
670
+ backend_type:
671
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::BackendType::OrSymbol,
672
+ database: String,
673
+ schema: String,
674
+ snowflake_connection_id: T.nilable(String),
675
+ table: T.nilable(String)
676
+ ).returns(T.attached_class)
677
+ end
678
+ def self.new(
679
+ backend_type:,
680
+ database:,
681
+ schema:,
682
+ snowflake_connection_id:,
683
+ table:
684
+ )
685
+ end
686
+
687
+ sig do
688
+ override.returns(
689
+ {
690
+ backend_type:
691
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::BackendType::TaggedSymbol,
692
+ config:
693
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::Config,
694
+ database: String,
695
+ schema: String,
696
+ snowflake_connection_id: T.nilable(String),
697
+ table: T.nilable(String)
698
+ }
699
+ )
700
+ end
701
+ def to_hash
702
+ end
703
+
704
+ module BackendType
705
+ extend Openlayer::Internal::Type::Enum
706
+
707
+ TaggedSymbol =
708
+ T.type_alias do
709
+ T.all(
710
+ Symbol,
711
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::BackendType
712
+ )
713
+ end
714
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
715
+
716
+ SNOWFLAKE =
717
+ T.let(
718
+ :snowflake,
719
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::BackendType::TaggedSymbol
720
+ )
721
+
722
+ sig do
723
+ override.returns(
724
+ T::Array[
725
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::BackendType::TaggedSymbol
726
+ ]
727
+ )
728
+ end
729
+ def self.values
730
+ end
731
+ end
732
+
733
+ class Config < Openlayer::Internal::Type::BaseModel
734
+ OrHash =
735
+ T.type_alias do
736
+ T.any(
737
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember2::Config,
738
+ Openlayer::Internal::AnyHash
739
+ )
740
+ end
741
+
742
+ # Name of the column with the ground truths.
743
+ sig { returns(T.nilable(String)) }
744
+ attr_accessor :ground_truth_column_name
745
+
746
+ # Name of the column with human feedback.
747
+ sig { returns(T.nilable(String)) }
748
+ attr_accessor :human_feedback_column_name
749
+
750
+ # Name of the column with the latencies.
751
+ sig { returns(T.nilable(String)) }
752
+ attr_accessor :latency_column_name
753
+
754
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
755
+ # If not provided, the upload timestamp is used.
756
+ sig { returns(T.nilable(String)) }
757
+ attr_accessor :timestamp_column_name
758
+
759
+ sig do
760
+ params(
761
+ ground_truth_column_name: T.nilable(String),
762
+ human_feedback_column_name: T.nilable(String),
763
+ latency_column_name: T.nilable(String),
764
+ timestamp_column_name: T.nilable(String)
765
+ ).returns(T.attached_class)
766
+ end
767
+ def self.new(
768
+ # Name of the column with the ground truths.
769
+ ground_truth_column_name: nil,
770
+ # Name of the column with human feedback.
771
+ human_feedback_column_name: nil,
772
+ # Name of the column with the latencies.
773
+ latency_column_name: nil,
774
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
775
+ # If not provided, the upload timestamp is used.
776
+ timestamp_column_name: nil
777
+ )
778
+ end
779
+
780
+ sig do
781
+ override.returns(
782
+ {
783
+ ground_truth_column_name: T.nilable(String),
784
+ human_feedback_column_name: T.nilable(String),
785
+ inference_id_column_name: T.nilable(String),
786
+ latency_column_name: T.nilable(String),
787
+ timestamp_column_name: T.nilable(String)
788
+ }
789
+ )
790
+ end
791
+ def to_hash
792
+ end
793
+ end
794
+ end
795
+
796
+ class UnionMember3 < Openlayer::Internal::Type::BaseModel
797
+ OrHash =
798
+ T.type_alias do
799
+ T.any(
800
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3,
801
+ Openlayer::Internal::AnyHash
802
+ )
803
+ end
804
+
805
+ sig do
806
+ returns(
807
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::BackendType::TaggedSymbol
808
+ )
809
+ end
810
+ attr_accessor :backend_type
811
+
812
+ sig { returns(T.nilable(String)) }
813
+ attr_accessor :databricks_dtl_connection_id
814
+
815
+ sig { returns(T.nilable(String)) }
816
+ attr_accessor :table_id
817
+
818
+ sig do
819
+ params(
820
+ backend_type:
821
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::BackendType::OrSymbol,
822
+ databricks_dtl_connection_id: T.nilable(String),
823
+ table_id: T.nilable(String)
824
+ ).returns(T.attached_class)
825
+ end
826
+ def self.new(backend_type:, databricks_dtl_connection_id:, table_id:)
827
+ end
828
+
829
+ sig do
830
+ override.returns(
831
+ {
832
+ backend_type:
833
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::BackendType::TaggedSymbol,
834
+ config:
835
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::Config,
836
+ databricks_dtl_connection_id: T.nilable(String),
837
+ table_id: T.nilable(String)
838
+ }
839
+ )
840
+ end
841
+ def to_hash
842
+ end
843
+
844
+ module BackendType
845
+ extend Openlayer::Internal::Type::Enum
846
+
847
+ TaggedSymbol =
848
+ T.type_alias do
849
+ T.all(
850
+ Symbol,
851
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::BackendType
852
+ )
853
+ end
854
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
855
+
856
+ DATABRICKS_DTL =
857
+ T.let(
858
+ :databricks_dtl,
859
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::BackendType::TaggedSymbol
860
+ )
861
+
862
+ sig do
863
+ override.returns(
864
+ T::Array[
865
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::BackendType::TaggedSymbol
866
+ ]
867
+ )
868
+ end
869
+ def self.values
870
+ end
871
+ end
872
+
873
+ class Config < Openlayer::Internal::Type::BaseModel
874
+ OrHash =
875
+ T.type_alias do
876
+ T.any(
877
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember3::Config,
878
+ Openlayer::Internal::AnyHash
879
+ )
880
+ end
881
+
882
+ # Name of the column with the ground truths.
883
+ sig { returns(T.nilable(String)) }
884
+ attr_accessor :ground_truth_column_name
885
+
886
+ # Name of the column with human feedback.
887
+ sig { returns(T.nilable(String)) }
888
+ attr_accessor :human_feedback_column_name
889
+
890
+ # Name of the column with the latencies.
891
+ sig { returns(T.nilable(String)) }
892
+ attr_accessor :latency_column_name
893
+
894
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
895
+ # If not provided, the upload timestamp is used.
896
+ sig { returns(T.nilable(String)) }
897
+ attr_accessor :timestamp_column_name
898
+
899
+ sig do
900
+ params(
901
+ ground_truth_column_name: T.nilable(String),
902
+ human_feedback_column_name: T.nilable(String),
903
+ latency_column_name: T.nilable(String),
904
+ timestamp_column_name: T.nilable(String)
905
+ ).returns(T.attached_class)
906
+ end
907
+ def self.new(
908
+ # Name of the column with the ground truths.
909
+ ground_truth_column_name: nil,
910
+ # Name of the column with human feedback.
911
+ human_feedback_column_name: nil,
912
+ # Name of the column with the latencies.
913
+ latency_column_name: nil,
914
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
915
+ # If not provided, the upload timestamp is used.
916
+ timestamp_column_name: nil
917
+ )
918
+ end
919
+
920
+ sig do
921
+ override.returns(
922
+ {
923
+ ground_truth_column_name: T.nilable(String),
924
+ human_feedback_column_name: T.nilable(String),
925
+ inference_id_column_name: T.nilable(String),
926
+ latency_column_name: T.nilable(String),
927
+ timestamp_column_name: T.nilable(String)
928
+ }
929
+ )
930
+ end
931
+ def to_hash
932
+ end
933
+ end
934
+ end
935
+
936
+ class UnionMember4 < Openlayer::Internal::Type::BaseModel
937
+ OrHash =
938
+ T.type_alias do
939
+ T.any(
940
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4,
941
+ Openlayer::Internal::AnyHash
942
+ )
943
+ end
944
+
945
+ sig do
946
+ returns(
947
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::BackendType::TaggedSymbol
948
+ )
949
+ end
950
+ attr_accessor :backend_type
951
+
952
+ sig { returns(T.nilable(String)) }
953
+ attr_accessor :redshift_connection_id
954
+
955
+ sig { returns(String) }
956
+ attr_accessor :schema_name
957
+
958
+ sig { returns(String) }
959
+ attr_accessor :table_name
960
+
961
+ sig do
962
+ params(
963
+ backend_type:
964
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::BackendType::OrSymbol,
965
+ redshift_connection_id: T.nilable(String),
966
+ schema_name: String,
967
+ table_name: String
968
+ ).returns(T.attached_class)
969
+ end
970
+ def self.new(
971
+ backend_type:,
972
+ redshift_connection_id:,
973
+ schema_name:,
974
+ table_name:
975
+ )
976
+ end
977
+
978
+ sig do
979
+ override.returns(
980
+ {
981
+ backend_type:
982
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::BackendType::TaggedSymbol,
983
+ config:
984
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::Config,
985
+ redshift_connection_id: T.nilable(String),
986
+ schema_name: String,
987
+ table_name: String
988
+ }
989
+ )
990
+ end
991
+ def to_hash
992
+ end
993
+
994
+ module BackendType
995
+ extend Openlayer::Internal::Type::Enum
996
+
997
+ TaggedSymbol =
998
+ T.type_alias do
999
+ T.all(
1000
+ Symbol,
1001
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::BackendType
1002
+ )
1003
+ end
1004
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1005
+
1006
+ REDSHIFT =
1007
+ T.let(
1008
+ :redshift,
1009
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::BackendType::TaggedSymbol
1010
+ )
1011
+
1012
+ sig do
1013
+ override.returns(
1014
+ T::Array[
1015
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::BackendType::TaggedSymbol
1016
+ ]
1017
+ )
1018
+ end
1019
+ def self.values
1020
+ end
1021
+ end
1022
+
1023
+ class Config < Openlayer::Internal::Type::BaseModel
1024
+ OrHash =
1025
+ T.type_alias do
1026
+ T.any(
1027
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember4::Config,
1028
+ Openlayer::Internal::AnyHash
1029
+ )
1030
+ end
1031
+
1032
+ # Name of the column with the ground truths.
1033
+ sig { returns(T.nilable(String)) }
1034
+ attr_accessor :ground_truth_column_name
1035
+
1036
+ # Name of the column with human feedback.
1037
+ sig { returns(T.nilable(String)) }
1038
+ attr_accessor :human_feedback_column_name
1039
+
1040
+ # Name of the column with the latencies.
1041
+ sig { returns(T.nilable(String)) }
1042
+ attr_accessor :latency_column_name
1043
+
1044
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
1045
+ # If not provided, the upload timestamp is used.
1046
+ sig { returns(T.nilable(String)) }
1047
+ attr_accessor :timestamp_column_name
1048
+
1049
+ sig do
1050
+ params(
1051
+ ground_truth_column_name: T.nilable(String),
1052
+ human_feedback_column_name: T.nilable(String),
1053
+ latency_column_name: T.nilable(String),
1054
+ timestamp_column_name: T.nilable(String)
1055
+ ).returns(T.attached_class)
1056
+ end
1057
+ def self.new(
1058
+ # Name of the column with the ground truths.
1059
+ ground_truth_column_name: nil,
1060
+ # Name of the column with human feedback.
1061
+ human_feedback_column_name: nil,
1062
+ # Name of the column with the latencies.
1063
+ latency_column_name: nil,
1064
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
1065
+ # If not provided, the upload timestamp is used.
1066
+ timestamp_column_name: nil
1067
+ )
1068
+ end
1069
+
1070
+ sig do
1071
+ override.returns(
1072
+ {
1073
+ ground_truth_column_name: T.nilable(String),
1074
+ human_feedback_column_name: T.nilable(String),
1075
+ inference_id_column_name: T.nilable(String),
1076
+ latency_column_name: T.nilable(String),
1077
+ timestamp_column_name: T.nilable(String)
1078
+ }
1079
+ )
1080
+ end
1081
+ def to_hash
1082
+ end
1083
+ end
1084
+ end
1085
+
1086
+ class UnionMember5 < Openlayer::Internal::Type::BaseModel
1087
+ OrHash =
1088
+ T.type_alias do
1089
+ T.any(
1090
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5,
1091
+ Openlayer::Internal::AnyHash
1092
+ )
1093
+ end
1094
+
1095
+ sig do
1096
+ returns(
1097
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::BackendType::TaggedSymbol
1098
+ )
1099
+ end
1100
+ attr_accessor :backend_type
1101
+
1102
+ sig { returns(String) }
1103
+ attr_accessor :database
1104
+
1105
+ sig { returns(T.nilable(String)) }
1106
+ attr_accessor :postgres_connection_id
1107
+
1108
+ sig { returns(String) }
1109
+ attr_accessor :schema
1110
+
1111
+ sig { returns(T.nilable(String)) }
1112
+ attr_accessor :table
1113
+
1114
+ sig do
1115
+ params(
1116
+ backend_type:
1117
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::BackendType::OrSymbol,
1118
+ database: String,
1119
+ postgres_connection_id: T.nilable(String),
1120
+ schema: String,
1121
+ table: T.nilable(String)
1122
+ ).returns(T.attached_class)
1123
+ end
1124
+ def self.new(
1125
+ backend_type:,
1126
+ database:,
1127
+ postgres_connection_id:,
1128
+ schema:,
1129
+ table:
1130
+ )
1131
+ end
1132
+
1133
+ sig do
1134
+ override.returns(
1135
+ {
1136
+ backend_type:
1137
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::BackendType::TaggedSymbol,
1138
+ config:
1139
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::Config,
1140
+ database: String,
1141
+ postgres_connection_id: T.nilable(String),
1142
+ schema: String,
1143
+ table: T.nilable(String)
1144
+ }
1145
+ )
1146
+ end
1147
+ def to_hash
1148
+ end
1149
+
1150
+ module BackendType
1151
+ extend Openlayer::Internal::Type::Enum
1152
+
1153
+ TaggedSymbol =
1154
+ T.type_alias do
1155
+ T.all(
1156
+ Symbol,
1157
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::BackendType
1158
+ )
1159
+ end
1160
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1161
+
1162
+ POSTGRES =
1163
+ T.let(
1164
+ :postgres,
1165
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::BackendType::TaggedSymbol
1166
+ )
1167
+
1168
+ sig do
1169
+ override.returns(
1170
+ T::Array[
1171
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::BackendType::TaggedSymbol
1172
+ ]
1173
+ )
1174
+ end
1175
+ def self.values
1176
+ end
1177
+ end
1178
+
1179
+ class Config < Openlayer::Internal::Type::BaseModel
1180
+ OrHash =
1181
+ T.type_alias do
1182
+ T.any(
1183
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::UnionMember5::Config,
1184
+ Openlayer::Internal::AnyHash
1185
+ )
1186
+ end
1187
+
1188
+ # Name of the column with the ground truths.
1189
+ sig { returns(T.nilable(String)) }
1190
+ attr_accessor :ground_truth_column_name
1191
+
1192
+ # Name of the column with human feedback.
1193
+ sig { returns(T.nilable(String)) }
1194
+ attr_accessor :human_feedback_column_name
1195
+
1196
+ # Name of the column with the latencies.
1197
+ sig { returns(T.nilable(String)) }
1198
+ attr_accessor :latency_column_name
1199
+
1200
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
1201
+ # If not provided, the upload timestamp is used.
1202
+ sig { returns(T.nilable(String)) }
1203
+ attr_accessor :timestamp_column_name
1204
+
1205
+ sig do
1206
+ params(
1207
+ ground_truth_column_name: T.nilable(String),
1208
+ human_feedback_column_name: T.nilable(String),
1209
+ latency_column_name: T.nilable(String),
1210
+ timestamp_column_name: T.nilable(String)
1211
+ ).returns(T.attached_class)
1212
+ end
1213
+ def self.new(
1214
+ # Name of the column with the ground truths.
1215
+ ground_truth_column_name: nil,
1216
+ # Name of the column with human feedback.
1217
+ human_feedback_column_name: nil,
1218
+ # Name of the column with the latencies.
1219
+ latency_column_name: nil,
1220
+ # Name of the column with the timestamps. Timestamps must be in UNIX sec format.
1221
+ # If not provided, the upload timestamp is used.
1222
+ timestamp_column_name: nil
1223
+ )
1224
+ end
1225
+
1226
+ sig do
1227
+ override.returns(
1228
+ {
1229
+ ground_truth_column_name: T.nilable(String),
1230
+ human_feedback_column_name: T.nilable(String),
1231
+ inference_id_column_name: T.nilable(String),
1232
+ latency_column_name: T.nilable(String),
1233
+ timestamp_column_name: T.nilable(String)
1234
+ }
1235
+ )
1236
+ end
1237
+ def to_hash
1238
+ end
1239
+ end
1240
+ end
1241
+
1242
+ sig do
1243
+ override.returns(
1244
+ T::Array[
1245
+ Openlayer::Models::InferencePipelineUpdateResponse::DataBackend::Variants
1246
+ ]
1247
+ )
1248
+ end
1249
+ def self.variants
1250
+ end
1251
+ end
1252
+
305
1253
  class Project < Openlayer::Internal::Type::BaseModel
306
1254
  OrHash =
307
1255
  T.type_alias do