google-apis-aiplatform_v1beta1 0.13.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -647,6 +647,12 @@ module Google
647
647
  # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceCandidate>]
648
648
  attr_accessor :candidates
649
649
 
650
+ # Debug information containing message metadata. Clients should not consume this
651
+ # field, and this is only populated for Flow Runner path.
652
+ # Corresponds to the JSON property `debugMetadata`
653
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceMessageMetadata]
654
+ attr_accessor :debug_metadata
655
+
650
656
  # Content filter results for a prompt sent in the request.
651
657
  # Corresponds to the JSON property `promptFeedback`
652
658
  # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServicePromptFeedback]
@@ -669,12 +675,46 @@ module Google
669
675
  # Update properties of this object
670
676
  def update!(**args)
671
677
  @candidates = args[:candidates] if args.key?(:candidates)
678
+ @debug_metadata = args[:debug_metadata] if args.key?(:debug_metadata)
672
679
  @prompt_feedback = args[:prompt_feedback] if args.key?(:prompt_feedback)
673
680
  @reporting_metrics = args[:reporting_metrics] if args.key?(:reporting_metrics)
674
681
  @usage_metadata = args[:usage_metadata] if args.key?(:usage_metadata)
675
682
  end
676
683
  end
677
684
 
685
+ #
686
+ class CloudAiNlLlmProtoServiceMessageMetadata
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # LINT.IfChange This metadata contains additional information required for
690
+ # debugging.
691
+ # Corresponds to the JSON property `inputFilterInfo`
692
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmMessageMetadata]
693
+ attr_accessor :input_filter_info
694
+
695
+ # Holds the final routing decision, by storing the model_config_id. And
696
+ # individual scores each model got.
697
+ # Corresponds to the JSON property `modelRoutingDecision`
698
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecision]
699
+ attr_accessor :model_routing_decision
700
+
701
+ # Filter metadata of the output messages.
702
+ # Corresponds to the JSON property `outputFilterInfo`
703
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningServingLlmMessageMetadata>]
704
+ attr_accessor :output_filter_info
705
+
706
+ def initialize(**args)
707
+ update!(**args)
708
+ end
709
+
710
+ # Update properties of this object
711
+ def update!(**args)
712
+ @input_filter_info = args[:input_filter_info] if args.key?(:input_filter_info)
713
+ @model_routing_decision = args[:model_routing_decision] if args.key?(:model_routing_decision)
714
+ @output_filter_info = args[:output_filter_info] if args.key?(:output_filter_info)
715
+ end
716
+ end
717
+
678
718
  # A single part of a message.
679
719
  class CloudAiNlLlmProtoServicePart
680
720
  include Google::Apis::Core::Hashable
@@ -837,6 +877,122 @@ module Google
837
877
  end
838
878
  end
839
879
 
880
+ # The RAI results for a given text.
881
+ class CloudAiNlLlmProtoServiceRaiResult
882
+ include Google::Apis::Core::Hashable
883
+
884
+ # The recitation result for one input
885
+ # Corresponds to the JSON property `aidaRecitationResult`
886
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoRecitationResult]
887
+ attr_accessor :aida_recitation_result
888
+
889
+ # Use `triggered_blocklist`.
890
+ # Corresponds to the JSON property `blocked`
891
+ # @return [Boolean]
892
+ attr_accessor :blocked
893
+ alias_method :blocked?, :blocked
894
+
895
+ # The error codes indicate which RAI filters block the response.
896
+ # Corresponds to the JSON property `errorCodes`
897
+ # @return [Array<Fixnum>]
898
+ attr_accessor :error_codes
899
+
900
+ # Whether the text should be filtered and not shown to the end user. This is
901
+ # determined based on a combination of `triggered_recitation`, `
902
+ # triggered_blocklist`, `language_filter_result`, and `triggered_safety_filter`.
903
+ # Corresponds to the JSON property `filtered`
904
+ # @return [Boolean]
905
+ attr_accessor :filtered
906
+ alias_method :filtered?, :filtered
907
+
908
+ # Language filter result from SAFT LangId.
909
+ # Corresponds to the JSON property `languageFilterResult`
910
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmLanguageFilterResult]
911
+ attr_accessor :language_filter_result
912
+
913
+ # The RAI signals for the text.
914
+ # Corresponds to the JSON property `raiSignals`
915
+ # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiSignal>]
916
+ attr_accessor :rai_signals
917
+
918
+ # Whether the text triggered the blocklist.
919
+ # Corresponds to the JSON property `triggeredBlocklist`
920
+ # @return [Boolean]
921
+ attr_accessor :triggered_blocklist
922
+ alias_method :triggered_blocklist?, :triggered_blocklist
923
+
924
+ # Whether the text should be blocked by the recitation result from Aida
925
+ # recitation checker. It is determined from aida_recitation_result.
926
+ # Corresponds to the JSON property `triggeredRecitation`
927
+ # @return [Boolean]
928
+ attr_accessor :triggered_recitation
929
+ alias_method :triggered_recitation?, :triggered_recitation
930
+
931
+ # Whether the text triggered the safety filter. Currently, this is due to CSAI
932
+ # triggering or one of four categories (derogatory, sexual, toxic, violent)
933
+ # having a score over the filter threshold.
934
+ # Corresponds to the JSON property `triggeredSafetyFilter`
935
+ # @return [Boolean]
936
+ attr_accessor :triggered_safety_filter
937
+ alias_method :triggered_safety_filter?, :triggered_safety_filter
938
+
939
+ def initialize(**args)
940
+ update!(**args)
941
+ end
942
+
943
+ # Update properties of this object
944
+ def update!(**args)
945
+ @aida_recitation_result = args[:aida_recitation_result] if args.key?(:aida_recitation_result)
946
+ @blocked = args[:blocked] if args.key?(:blocked)
947
+ @error_codes = args[:error_codes] if args.key?(:error_codes)
948
+ @filtered = args[:filtered] if args.key?(:filtered)
949
+ @language_filter_result = args[:language_filter_result] if args.key?(:language_filter_result)
950
+ @rai_signals = args[:rai_signals] if args.key?(:rai_signals)
951
+ @triggered_blocklist = args[:triggered_blocklist] if args.key?(:triggered_blocklist)
952
+ @triggered_recitation = args[:triggered_recitation] if args.key?(:triggered_recitation)
953
+ @triggered_safety_filter = args[:triggered_safety_filter] if args.key?(:triggered_safety_filter)
954
+ end
955
+ end
956
+
957
+ # An RAI signal for a single category.
958
+ class CloudAiNlLlmProtoServiceRaiSignal
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # The confidence level for the RAI category.
962
+ # Corresponds to the JSON property `confidence`
963
+ # @return [String]
964
+ attr_accessor :confidence
965
+
966
+ # Whether the category is flagged as being present. Currently, this is set to
967
+ # true if score >= 0.5.
968
+ # Corresponds to the JSON property `flagged`
969
+ # @return [Boolean]
970
+ attr_accessor :flagged
971
+ alias_method :flagged?, :flagged
972
+
973
+ # The RAI category.
974
+ # Corresponds to the JSON property `raiCategory`
975
+ # @return [String]
976
+ attr_accessor :rai_category
977
+
978
+ # The score for the category, in the range [0.0, 1.0].
979
+ # Corresponds to the JSON property `score`
980
+ # @return [Float]
981
+ attr_accessor :score
982
+
983
+ def initialize(**args)
984
+ update!(**args)
985
+ end
986
+
987
+ # Update properties of this object
988
+ def update!(**args)
989
+ @confidence = args[:confidence] if args.key?(:confidence)
990
+ @flagged = args[:flagged] if args.key?(:flagged)
991
+ @rai_category = args[:rai_category] if args.key?(:rai_category)
992
+ @score = args[:score] if args.key?(:score)
993
+ end
994
+ end
995
+
840
996
  # Safety rating corresponding to the generated content.
841
997
  class CloudAiNlLlmProtoServiceSafetyRating
842
998
  include Google::Apis::Core::Hashable
@@ -1604,6 +1760,25 @@ module Google
1604
1760
  end
1605
1761
  end
1606
1762
 
1763
+ # Response message for PipelineService.BatchCancelPipelineJobs.
1764
+ class GoogleCloudAiplatformV1beta1BatchCancelPipelineJobsResponse
1765
+ include Google::Apis::Core::Hashable
1766
+
1767
+ # PipelineJobs cancelled.
1768
+ # Corresponds to the JSON property `pipelineJobs`
1769
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PipelineJob>]
1770
+ attr_accessor :pipeline_jobs
1771
+
1772
+ def initialize(**args)
1773
+ update!(**args)
1774
+ end
1775
+
1776
+ # Update properties of this object
1777
+ def update!(**args)
1778
+ @pipeline_jobs = args[:pipeline_jobs] if args.key?(:pipeline_jobs)
1779
+ end
1780
+ end
1781
+
1607
1782
  # Details of operations that perform batch create Features.
1608
1783
  class GoogleCloudAiplatformV1beta1BatchCreateFeaturesOperationMetadata
1609
1784
  include Google::Apis::Core::Hashable
@@ -1798,6 +1973,25 @@ module Google
1798
1973
  end
1799
1974
  end
1800
1975
 
1976
+ # Response message for PipelineService.BatchDeletePipelineJobs.
1977
+ class GoogleCloudAiplatformV1beta1BatchDeletePipelineJobsResponse
1978
+ include Google::Apis::Core::Hashable
1979
+
1980
+ # PipelineJobs deleted.
1981
+ # Corresponds to the JSON property `pipelineJobs`
1982
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PipelineJob>]
1983
+ attr_accessor :pipeline_jobs
1984
+
1985
+ def initialize(**args)
1986
+ update!(**args)
1987
+ end
1988
+
1989
+ # Update properties of this object
1990
+ def update!(**args)
1991
+ @pipeline_jobs = args[:pipeline_jobs] if args.key?(:pipeline_jobs)
1992
+ end
1993
+ end
1994
+
1801
1995
  # Request message for ModelService.BatchImportEvaluatedAnnotations
1802
1996
  class GoogleCloudAiplatformV1beta1BatchImportEvaluatedAnnotationsRequest
1803
1997
  include Google::Apis::Core::Hashable
@@ -3783,32 +3977,6 @@ module Google
3783
3977
  end
3784
3978
  end
3785
3979
 
3786
- # Metadata information for NotebookService.CreateNotebookExecutionJob.
3787
- class GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobOperationMetadata
3788
- include Google::Apis::Core::Hashable
3789
-
3790
- # Generic Metadata shared by all operations.
3791
- # Corresponds to the JSON property `genericMetadata`
3792
- # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenericOperationMetadata]
3793
- attr_accessor :generic_metadata
3794
-
3795
- # A human-readable message that shows the intermediate progress details of
3796
- # NotebookRuntime.
3797
- # Corresponds to the JSON property `progressMessage`
3798
- # @return [String]
3799
- attr_accessor :progress_message
3800
-
3801
- def initialize(**args)
3802
- update!(**args)
3803
- end
3804
-
3805
- # Update properties of this object
3806
- def update!(**args)
3807
- @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
3808
- @progress_message = args[:progress_message] if args.key?(:progress_message)
3809
- end
3810
- end
3811
-
3812
3980
  # Metadata information for NotebookService.CreateNotebookRuntimeTemplate.
3813
3981
  class GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata
3814
3982
  include Google::Apis::Core::Hashable
@@ -7216,8 +7384,8 @@ module Google
7216
7384
  include Google::Apis::Core::Hashable
7217
7385
 
7218
7386
  # All of the files that are exported in this export operation. For custom code
7219
- # training export, only three (training, validation and test) GCS paths in
7220
- # wildcard format are populated (e.g., gs://.../training-*).
7387
+ # training export, only three (training, validation and test) Cloud Storage
7388
+ # paths in wildcard format are populated (for example, gs://.../training-*).
7221
7389
  # Corresponds to the JSON property `exportedFiles`
7222
7390
  # @return [Array<String>]
7223
7391
  attr_accessor :exported_files
@@ -7734,7 +7902,7 @@ module Google
7734
7902
  attr_accessor :value_type
7735
7903
 
7736
7904
  # Only applicable for Vertex AI Feature Store. The name of the BigQuery Table/
7737
- # View columnn hosting data for this version. If no value is provided, will use
7905
+ # View column hosting data for this version. If no value is provided, will use
7738
7906
  # feature_id.
7739
7907
  # Corresponds to the JSON property `versionColumnName`
7740
7908
  # @return [String]
@@ -7952,7 +8120,8 @@ module Google
7952
8120
 
7953
8121
  # The dedicated serving endpoint for this FeatureOnlineStore. Only need to set
7954
8122
  # when you choose Optimized storage type or enable EmbeddingManagement. Will use
7955
- # public endpoint by default.
8123
+ # public endpoint by default. Note, for EmbeddingManagement use case, only [
8124
+ # DedicatedServingEndpoint.public_endpoint_domain_name] is available now.
7956
8125
  # Corresponds to the JSON property `dedicatedServingEndpoint`
7957
8126
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint]
7958
8127
  attr_accessor :dedicated_serving_endpoint
@@ -8079,7 +8248,8 @@ module Google
8079
8248
 
8080
8249
  # The dedicated serving endpoint for this FeatureOnlineStore. Only need to set
8081
8250
  # when you choose Optimized storage type or enable EmbeddingManagement. Will use
8082
- # public endpoint by default.
8251
+ # public endpoint by default. Note, for EmbeddingManagement use case, only [
8252
+ # DedicatedServingEndpoint.public_endpoint_domain_name] is available now.
8083
8253
  class GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint
8084
8254
  include Google::Apis::Core::Hashable
8085
8255
 
@@ -9633,12 +9803,6 @@ module Google
9633
9803
  # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1Content>]
9634
9804
  attr_accessor :contents
9635
9805
 
9636
- # Required. The name of the Endpoint requested to serve the prediction. Format: `
9637
- # projects/`project`/locations/`location`/endpoints/`endpoint``
9638
- # Corresponds to the JSON property `endpoint`
9639
- # @return [String]
9640
- attr_accessor :endpoint
9641
-
9642
9806
  # Generation config.
9643
9807
  # Corresponds to the JSON property `generationConfig`
9644
9808
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenerationConfig]
@@ -9665,7 +9829,6 @@ module Google
9665
9829
  # Update properties of this object
9666
9830
  def update!(**args)
9667
9831
  @contents = args[:contents] if args.key?(:contents)
9668
- @endpoint = args[:endpoint] if args.key?(:endpoint)
9669
9832
  @generation_config = args[:generation_config] if args.key?(:generation_config)
9670
9833
  @safety_settings = args[:safety_settings] if args.key?(:safety_settings)
9671
9834
  @tools = args[:tools] if args.key?(:tools)
@@ -10995,6 +11158,31 @@ module Google
10995
11158
  end
10996
11159
  end
10997
11160
 
11161
+ # Request message for [InternalOsServiceStateInstance].
11162
+ class GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance
11163
+ include Google::Apis::Core::Hashable
11164
+
11165
+ # Required. internal service name.
11166
+ # Corresponds to the JSON property `serviceName`
11167
+ # @return [String]
11168
+ attr_accessor :service_name
11169
+
11170
+ # Required. internal service state.
11171
+ # Corresponds to the JSON property `serviceState`
11172
+ # @return [String]
11173
+ attr_accessor :service_state
11174
+
11175
+ def initialize(**args)
11176
+ update!(**args)
11177
+ end
11178
+
11179
+ # Update properties of this object
11180
+ def update!(**args)
11181
+ @service_name = args[:service_name] if args.key?(:service_name)
11182
+ @service_state = args[:service_state] if args.key?(:service_state)
11183
+ end
11184
+ end
11185
+
10998
11186
  # Contains information about the Large Model.
10999
11187
  class GoogleCloudAiplatformV1beta1LargeModelReference
11000
11188
  include Google::Apis::Core::Hashable
@@ -13797,7 +13985,8 @@ module Google
13797
13985
 
13798
13986
  # The metadata of the ModelEvaluation. For the ModelEvaluation uploaded from
13799
13987
  # Managed Pipeline, metadata contains a structured value with keys of "
13800
- # pipeline_job_id", "evaluation_dataset_type", "evaluation_dataset_path".
13988
+ # pipeline_job_id", "evaluation_dataset_type", "evaluation_dataset_path", "
13989
+ # row_based_metrics_path".
13801
13990
  # Corresponds to the JSON property `metadata`
13802
13991
  # @return [Object]
13803
13992
  attr_accessor :metadata
@@ -15598,6 +15787,42 @@ module Google
15598
15787
  end
15599
15788
  end
15600
15789
 
15790
+ # Notebook Reservation Affinity for consuming Zonal reservation.
15791
+ class GoogleCloudAiplatformV1beta1NotebookReservationAffinity
15792
+ include Google::Apis::Core::Hashable
15793
+
15794
+ # Required. Specifies the type of reservation from which this instance can
15795
+ # consume resources: RESERVATION_ANY (default), RESERVATION_SPECIFIC, or
15796
+ # RESERVATION_NONE. See Consuming reserved instances for examples.
15797
+ # Corresponds to the JSON property `consumeReservationType`
15798
+ # @return [String]
15799
+ attr_accessor :consume_reservation_type
15800
+
15801
+ # Optional. Corresponds to the label key of a reservation resource. To target a
15802
+ # RESERVATION_SPECIFIC by name, use compute.googleapis.com/reservation-name as
15803
+ # the key and specify the name of your reservation as its value.
15804
+ # Corresponds to the JSON property `key`
15805
+ # @return [String]
15806
+ attr_accessor :key
15807
+
15808
+ # Optional. Corresponds to the label values of a reservation resource. This must
15809
+ # be the full path name of Reservation.
15810
+ # Corresponds to the JSON property `values`
15811
+ # @return [Array<String>]
15812
+ attr_accessor :values
15813
+
15814
+ def initialize(**args)
15815
+ update!(**args)
15816
+ end
15817
+
15818
+ # Update properties of this object
15819
+ def update!(**args)
15820
+ @consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type)
15821
+ @key = args[:key] if args.key?(:key)
15822
+ @values = args[:values] if args.key?(:values)
15823
+ end
15824
+ end
15825
+
15601
15826
  # A runtime is a virtual machine allocated to a particular user for a particular
15602
15827
  # Notebook file on temporary basis with lifetime limited to 24 hours.
15603
15828
  class GoogleCloudAiplatformV1beta1NotebookRuntime
@@ -15633,6 +15858,12 @@ module Google
15633
15858
  # @return [String]
15634
15859
  attr_accessor :health_state
15635
15860
 
15861
+ # Output only. Whether NotebookRuntime is upgradable.
15862
+ # Corresponds to the JSON property `isUpgradable`
15863
+ # @return [Boolean]
15864
+ attr_accessor :is_upgradable
15865
+ alias_method :is_upgradable?, :is_upgradable
15866
+
15636
15867
  # The labels with user-defined metadata to organize your NotebookRuntime. Label
15637
15868
  # keys and values can be no longer than 64 characters (Unicode codepoints), can
15638
15869
  # only contain lowercase letters, numeric characters, underscores and dashes.
@@ -15655,6 +15886,12 @@ module Google
15655
15886
  # @return [String]
15656
15887
  attr_accessor :name
15657
15888
 
15889
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
15890
+ # https://cloud.google.com/vpc/docs/add-remove-network-tags)).
15891
+ # Corresponds to the JSON property `networkTags`
15892
+ # @return [Array<String>]
15893
+ attr_accessor :network_tags
15894
+
15658
15895
  # Points to a NotebookRuntimeTemplateRef.
15659
15896
  # Corresponds to the JSON property `notebookRuntimeTemplateRef`
15660
15897
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1NotebookRuntimeTemplateRef]
@@ -15670,6 +15907,11 @@ module Google
15670
15907
  # @return [String]
15671
15908
  attr_accessor :proxy_uri
15672
15909
 
15910
+ # Notebook Reservation Affinity for consuming Zonal reservation.
15911
+ # Corresponds to the JSON property `reservationAffinity`
15912
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1NotebookReservationAffinity]
15913
+ attr_accessor :reservation_affinity
15914
+
15673
15915
  # Output only. The runtime (instance) state of the NotebookRuntime.
15674
15916
  # Corresponds to the JSON property `runtimeState`
15675
15917
  # @return [String]
@@ -15706,11 +15948,14 @@ module Google
15706
15948
  @display_name = args[:display_name] if args.key?(:display_name)
15707
15949
  @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
15708
15950
  @health_state = args[:health_state] if args.key?(:health_state)
15951
+ @is_upgradable = args[:is_upgradable] if args.key?(:is_upgradable)
15709
15952
  @labels = args[:labels] if args.key?(:labels)
15710
15953
  @name = args[:name] if args.key?(:name)
15954
+ @network_tags = args[:network_tags] if args.key?(:network_tags)
15711
15955
  @notebook_runtime_template_ref = args[:notebook_runtime_template_ref] if args.key?(:notebook_runtime_template_ref)
15712
15956
  @notebook_runtime_type = args[:notebook_runtime_type] if args.key?(:notebook_runtime_type)
15713
15957
  @proxy_uri = args[:proxy_uri] if args.key?(:proxy_uri)
15958
+ @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
15714
15959
  @runtime_state = args[:runtime_state] if args.key?(:runtime_state)
15715
15960
  @runtime_user = args[:runtime_user] if args.key?(:runtime_user)
15716
15961
  @service_account = args[:service_account] if args.key?(:service_account)
@@ -15793,11 +16038,22 @@ module Google
15793
16038
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1NetworkSpec]
15794
16039
  attr_accessor :network_spec
15795
16040
 
16041
+ # Optional. The Compute Engine tags to add to runtime (see [Tagging instances](
16042
+ # https://cloud.google.com/vpc/docs/add-remove-network-tags)).
16043
+ # Corresponds to the JSON property `networkTags`
16044
+ # @return [Array<String>]
16045
+ attr_accessor :network_tags
16046
+
15796
16047
  # Optional. Immutable. The type of the notebook runtime template.
15797
16048
  # Corresponds to the JSON property `notebookRuntimeType`
15798
16049
  # @return [String]
15799
16050
  attr_accessor :notebook_runtime_type
15800
16051
 
16052
+ # Notebook Reservation Affinity for consuming Zonal reservation.
16053
+ # Corresponds to the JSON property `reservationAffinity`
16054
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1NotebookReservationAffinity]
16055
+ attr_accessor :reservation_affinity
16056
+
15801
16057
  # The service account that the runtime workload runs as. You can use any service
15802
16058
  # account within the same project, but you must have the service account user
15803
16059
  # permission to use the instance. If not specified, the [Compute Engine default
@@ -15807,6 +16063,13 @@ module Google
15807
16063
  # @return [String]
15808
16064
  attr_accessor :service_account
15809
16065
 
16066
+ # A set of Shielded Instance options. See [Images using supported Shielded VM
16067
+ # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-
16068
+ # vm).
16069
+ # Corresponds to the JSON property `shieldedVmConfig`
16070
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1ShieldedVmConfig]
16071
+ attr_accessor :shielded_vm_config
16072
+
15810
16073
  # Output only. Timestamp when this NotebookRuntimeTemplate was most recently
15811
16074
  # updated.
15812
16075
  # Corresponds to the JSON property `updateTime`
@@ -15831,8 +16094,11 @@ module Google
15831
16094
  @machine_spec = args[:machine_spec] if args.key?(:machine_spec)
15832
16095
  @name = args[:name] if args.key?(:name)
15833
16096
  @network_spec = args[:network_spec] if args.key?(:network_spec)
16097
+ @network_tags = args[:network_tags] if args.key?(:network_tags)
15834
16098
  @notebook_runtime_type = args[:notebook_runtime_type] if args.key?(:notebook_runtime_type)
16099
+ @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
15835
16100
  @service_account = args[:service_account] if args.key?(:service_account)
16101
+ @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
15836
16102
  @update_time = args[:update_time] if args.key?(:update_time)
15837
16103
  end
15838
16104
  end
@@ -17124,6 +17390,11 @@ module Google
17124
17390
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences]
17125
17391
  attr_accessor :open_fine_tuning_pipeline
17126
17392
 
17393
+ # Open fine tuning pipelines.
17394
+ # Corresponds to the JSON property `openFineTuningPipelines`
17395
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines]
17396
+ attr_accessor :open_fine_tuning_pipelines
17397
+
17127
17398
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17128
17399
  # europe-west2, global, etc..
17129
17400
  # Corresponds to the JSON property `openGenerationAiStudio`
@@ -17142,6 +17413,11 @@ module Google
17142
17413
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences]
17143
17414
  attr_accessor :open_notebook
17144
17415
 
17416
+ # Open notebooks.
17417
+ # Corresponds to the JSON property `openNotebooks`
17418
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks]
17419
+ attr_accessor :open_notebooks
17420
+
17145
17421
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17146
17422
  # europe-west2, global, etc..
17147
17423
  # Corresponds to the JSON property `openPromptTuningPipeline`
@@ -17169,9 +17445,11 @@ module Google
17169
17445
  @deploy = args[:deploy] if args.key?(:deploy)
17170
17446
  @open_evaluation_pipeline = args[:open_evaluation_pipeline] if args.key?(:open_evaluation_pipeline)
17171
17447
  @open_fine_tuning_pipeline = args[:open_fine_tuning_pipeline] if args.key?(:open_fine_tuning_pipeline)
17448
+ @open_fine_tuning_pipelines = args[:open_fine_tuning_pipelines] if args.key?(:open_fine_tuning_pipelines)
17172
17449
  @open_generation_ai_studio = args[:open_generation_ai_studio] if args.key?(:open_generation_ai_studio)
17173
17450
  @open_genie = args[:open_genie] if args.key?(:open_genie)
17174
17451
  @open_notebook = args[:open_notebook] if args.key?(:open_notebook)
17452
+ @open_notebooks = args[:open_notebooks] if args.key?(:open_notebooks)
17175
17453
  @open_prompt_tuning_pipeline = args[:open_prompt_tuning_pipeline] if args.key?(:open_prompt_tuning_pipeline)
17176
17454
  @request_access = args[:request_access] if args.key?(:request_access)
17177
17455
  @view_rest_api = args[:view_rest_api] if args.key?(:view_rest_api)
@@ -17255,6 +17533,44 @@ module Google
17255
17533
  end
17256
17534
  end
17257
17535
 
17536
+ # Open fine tuning pipelines.
17537
+ class GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines
17538
+ include Google::Apis::Core::Hashable
17539
+
17540
+ # Required. Regional resource references to fine tuning pipelines.
17541
+ # Corresponds to the JSON property `fineTuningPipelines`
17542
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences>]
17543
+ attr_accessor :fine_tuning_pipelines
17544
+
17545
+ def initialize(**args)
17546
+ update!(**args)
17547
+ end
17548
+
17549
+ # Update properties of this object
17550
+ def update!(**args)
17551
+ @fine_tuning_pipelines = args[:fine_tuning_pipelines] if args.key?(:fine_tuning_pipelines)
17552
+ end
17553
+ end
17554
+
17555
+ # Open notebooks.
17556
+ class GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks
17557
+ include Google::Apis::Core::Hashable
17558
+
17559
+ # Required. Regional resource references to notebooks.
17560
+ # Corresponds to the JSON property `notebooks`
17561
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences>]
17562
+ attr_accessor :notebooks
17563
+
17564
+ def initialize(**args)
17565
+ update!(**args)
17566
+ end
17567
+
17568
+ # Update properties of this object
17569
+ def update!(**args)
17570
+ @notebooks = args[:notebooks] if args.key?(:notebooks)
17571
+ end
17572
+ end
17573
+
17258
17574
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17259
17575
  # europe-west2, global, etc..
17260
17576
  class GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences
@@ -17265,7 +17581,22 @@ module Google
17265
17581
  # @return [Hash<String,Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelResourceReference>]
17266
17582
  attr_accessor :references
17267
17583
 
17268
- # Required. The title of the regional resource reference.
17584
+ # Optional. Description of the resource.
17585
+ # Corresponds to the JSON property `resourceDescription`
17586
+ # @return [String]
17587
+ attr_accessor :resource_description
17588
+
17589
+ # Optional. Title of the resource.
17590
+ # Corresponds to the JSON property `resourceTitle`
17591
+ # @return [String]
17592
+ attr_accessor :resource_title
17593
+
17594
+ # Optional. Use case (CUJ) of the resource.
17595
+ # Corresponds to the JSON property `resourceUseCase`
17596
+ # @return [String]
17597
+ attr_accessor :resource_use_case
17598
+
17599
+ # Required.
17269
17600
  # Corresponds to the JSON property `title`
17270
17601
  # @return [String]
17271
17602
  attr_accessor :title
@@ -17277,6 +17608,9 @@ module Google
17277
17608
  # Update properties of this object
17278
17609
  def update!(**args)
17279
17610
  @references = args[:references] if args.key?(:references)
17611
+ @resource_description = args[:resource_description] if args.key?(:resource_description)
17612
+ @resource_title = args[:resource_title] if args.key?(:resource_title)
17613
+ @resource_use_case = args[:resource_use_case] if args.key?(:resource_use_case)
17280
17614
  @title = args[:title] if args.key?(:title)
17281
17615
  end
17282
17616
  end
@@ -18112,25 +18446,6 @@ module Google
18112
18446
  end
18113
18447
  end
18114
18448
 
18115
- # Details of operations that perform reboot PersistentResource.
18116
- class GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata
18117
- include Google::Apis::Core::Hashable
18118
-
18119
- # Generic Metadata shared by all operations.
18120
- # Corresponds to the JSON property `genericMetadata`
18121
- # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenericOperationMetadata]
18122
- attr_accessor :generic_metadata
18123
-
18124
- def initialize(**args)
18125
- update!(**args)
18126
- end
18127
-
18128
- # Update properties of this object
18129
- def update!(**args)
18130
- @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
18131
- end
18132
- end
18133
-
18134
18449
  # Request message for MetadataService.DeleteContextChildrenRequest.
18135
18450
  class GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest
18136
18451
  include Google::Apis::Core::Hashable
@@ -18260,6 +18575,16 @@ module Google
18260
18575
  # @return [String]
18261
18576
  attr_accessor :event_type
18262
18577
 
18578
+ # The details of the internal os service states.
18579
+ # Corresponds to the JSON property `internalOsServiceStateInstance`
18580
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance>]
18581
+ attr_accessor :internal_os_service_state_instance
18582
+
18583
+ # Optional. The details of the internal os service states.
18584
+ # Corresponds to the JSON property `internalOsServiceStateInstances`
18585
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1InternalOsServiceStateInstance>]
18586
+ attr_accessor :internal_os_service_state_instances
18587
+
18263
18588
  # Required. The VM identity token (a JWT) for authenticating the VM. https://
18264
18589
  # cloud.google.com/compute/docs/instances/verifying-instance-identity
18265
18590
  # Corresponds to the JSON property `vmToken`
@@ -18274,6 +18599,8 @@ module Google
18274
18599
  def update!(**args)
18275
18600
  @event_details = args[:event_details] if args.key?(:event_details)
18276
18601
  @event_type = args[:event_type] if args.key?(:event_type)
18602
+ @internal_os_service_state_instance = args[:internal_os_service_state_instance] if args.key?(:internal_os_service_state_instance)
18603
+ @internal_os_service_state_instances = args[:internal_os_service_state_instances] if args.key?(:internal_os_service_state_instances)
18277
18604
  @vm_token = args[:vm_token] if args.key?(:vm_token)
18278
18605
  end
18279
18606
  end
@@ -18950,6 +19277,12 @@ module Google
18950
19277
  attr_accessor :disable_retries
18951
19278
  alias_method :disable_retries?, :disable_retries
18952
19279
 
19280
+ # Optional. This is the maximum time a user will wait in the QRM queue for
19281
+ # resources. Default is 1 day
19282
+ # Corresponds to the JSON property `maxWaitDuration`
19283
+ # @return [String]
19284
+ attr_accessor :max_wait_duration
19285
+
18953
19286
  # Restarts the entire CustomJob if a worker gets restarted. This feature can be
18954
19287
  # used by distributed training jobs that are not resilient to workers leaving
18955
19288
  # and joining a job.
@@ -18970,6 +19303,7 @@ module Google
18970
19303
  # Update properties of this object
18971
19304
  def update!(**args)
18972
19305
  @disable_retries = args[:disable_retries] if args.key?(:disable_retries)
19306
+ @max_wait_duration = args[:max_wait_duration] if args.key?(:max_wait_duration)
18973
19307
  @restart_job_on_worker_restart = args[:restart_job_on_worker_restart] if args.key?(:restart_job_on_worker_restart)
18974
19308
  @timeout = args[:timeout] if args.key?(:timeout)
18975
19309
  end
@@ -25245,6 +25579,32 @@ module Google
25245
25579
  end
25246
25580
  end
25247
25581
 
25582
+ # A set of Shielded Instance options. See [Images using supported Shielded VM
25583
+ # features](https://cloud.google.com/compute/docs/instances/modifying-shielded-
25584
+ # vm).
25585
+ class GoogleCloudAiplatformV1beta1ShieldedVmConfig
25586
+ include Google::Apis::Core::Hashable
25587
+
25588
+ # Defines whether the instance has [Secure Boot](https://cloud.google.com/
25589
+ # compute/shielded-vm/docs/shielded-vm#secure-boot) enabled. Secure Boot helps
25590
+ # ensure that the system only runs authentic software by verifying the digital
25591
+ # signature of all boot components, and halting the boot process if signature
25592
+ # verification fails.
25593
+ # Corresponds to the JSON property `enableSecureBoot`
25594
+ # @return [Boolean]
25595
+ attr_accessor :enable_secure_boot
25596
+ alias_method :enable_secure_boot?, :enable_secure_boot
25597
+
25598
+ def initialize(**args)
25599
+ update!(**args)
25600
+ end
25601
+
25602
+ # Update properties of this object
25603
+ def update!(**args)
25604
+ @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
25605
+ end
25606
+ end
25607
+
25248
25608
  # Config for SmoothGrad approximation of gradients. When enabled, the gradients
25249
25609
  # are approximated by averaging the gradients from noisy samples in the vicinity
25250
25610
  # of the inputs. Adding noise can help improve the computed gradients. Refer to
@@ -28630,21 +28990,43 @@ module Google
28630
28990
  # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
28631
28991
  # email address that represents a Google group. For example, `admins@example.com`
28632
28992
  # . * `domain:`domain``: The G Suite domain (primary) that represents all the
28633
- # users of that domain. For example, `google.com` or `example.com`. * `deleted:
28634
- # user:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
28635
- # representing a user that has been recently deleted. For example, `alice@
28636
- # example.com?uid=123456789012345678901`. If the user is recovered, this value
28637
- # reverts to `user:`emailid`` and the recovered user retains the role in the
28638
- # binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address
28639
- # (plus unique identifier) representing a service account that has been recently
28640
- # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
28993
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
28994
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
28995
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
28996
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
28997
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
28998
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
28999
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
29000
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
29001
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
29002
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
29003
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
29004
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
29005
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
29006
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
29007
+ # googleapis.com/projects/`project_number`/locations/global/
29008
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
29009
+ # All identities in a workload identity pool with a certain attribute. * `
29010
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
29011
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
29012
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
29013
+ # identifier) representing a user that has been recently deleted. For example, `
29014
+ # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
29015
+ # value reverts to `user:`emailid`` and the recovered user retains the role in
29016
+ # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email
29017
+ # address (plus unique identifier) representing a service account that has been
29018
+ # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
28641
29019
  # 123456789012345678901`. If the service account is undeleted, this value
28642
29020
  # reverts to `serviceAccount:`emailid`` and the undeleted service account
28643
29021
  # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
28644
29022
  # An email address (plus unique identifier) representing a Google group that has
28645
29023
  # been recently deleted. For example, `admins@example.com?uid=
28646
29024
  # 123456789012345678901`. If the group is recovered, this value reverts to `
28647
- # group:`emailid`` and the recovered group retains the role in the binding.
29025
+ # group:`emailid`` and the recovered group retains the role in the binding. * `
29026
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
29027
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
29028
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
29029
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
28648
29030
  # Corresponds to the JSON property `members`
28649
29031
  # @return [Array<String>]
28650
29032
  attr_accessor :members
@@ -29374,6 +29756,2272 @@ module Google
29374
29756
  @metric_entries = args[:metric_entries] if args.key?(:metric_entries)
29375
29757
  end
29376
29758
  end
29759
+
29760
+ # The proto defines the attribution information for a document using whatever
29761
+ # fields are most applicable for that document's datasource. For example, a
29762
+ # Wikipedia article's attribution is in the form of its article title, a website
29763
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
29764
+ # id:28
29765
+ class LanguageLabsAidaTrustRecitationProtoDocAttribution
29766
+ include Google::Apis::Core::Hashable
29767
+
29768
+ #
29769
+ # Corresponds to the JSON property `amarnaId`
29770
+ # @return [String]
29771
+ attr_accessor :amarna_id
29772
+
29773
+ #
29774
+ # Corresponds to the JSON property `arxivId`
29775
+ # @return [String]
29776
+ attr_accessor :arxiv_id
29777
+
29778
+ #
29779
+ # Corresponds to the JSON property `author`
29780
+ # @return [String]
29781
+ attr_accessor :author
29782
+
29783
+ #
29784
+ # Corresponds to the JSON property `bibkey`
29785
+ # @return [String]
29786
+ attr_accessor :bibkey
29787
+
29788
+ #
29789
+ # Corresponds to the JSON property `bookTitle`
29790
+ # @return [String]
29791
+ attr_accessor :book_title
29792
+
29793
+ # The Oceanographers full-view books dataset uses a 'volume id' as the unique ID
29794
+ # of a book. There is a deterministic function from a volume id to a URL under
29795
+ # the books.google.com domain. Marked as 'optional' since a volume ID of zero is
29796
+ # potentially possible and we want to distinguish that from the volume ID not
29797
+ # being set.
29798
+ # Corresponds to the JSON property `bookVolumeId`
29799
+ # @return [Fixnum]
29800
+ attr_accessor :book_volume_id
29801
+
29802
+ #
29803
+ # Corresponds to the JSON property `category`
29804
+ # @return [String]
29805
+ attr_accessor :category
29806
+
29807
+ #
29808
+ # Corresponds to the JSON property `conversationId`
29809
+ # @return [String]
29810
+ attr_accessor :conversation_id
29811
+
29812
+ # The dataset this document comes from.
29813
+ # Corresponds to the JSON property `dataset`
29814
+ # @return [String]
29815
+ attr_accessor :dataset
29816
+
29817
+ #
29818
+ # Corresponds to the JSON property `filepath`
29819
+ # @return [String]
29820
+ attr_accessor :filepath
29821
+
29822
+ #
29823
+ # Corresponds to the JSON property `geminiId`
29824
+ # @return [String]
29825
+ attr_accessor :gemini_id
29826
+
29827
+ #
29828
+ # Corresponds to the JSON property `gnewsArticleTitle`
29829
+ # @return [String]
29830
+ attr_accessor :gnews_article_title
29831
+
29832
+ #
29833
+ # Corresponds to the JSON property `goodallExampleId`
29834
+ # @return [String]
29835
+ attr_accessor :goodall_example_id
29836
+
29837
+ # Whether the document is opted out.
29838
+ # Corresponds to the JSON property `isOptOut`
29839
+ # @return [Boolean]
29840
+ attr_accessor :is_opt_out
29841
+ alias_method :is_opt_out?, :is_opt_out
29842
+
29843
+ #
29844
+ # Corresponds to the JSON property `isPrompt`
29845
+ # @return [Boolean]
29846
+ attr_accessor :is_prompt
29847
+ alias_method :is_prompt?, :is_prompt
29848
+
29849
+ #
29850
+ # Corresponds to the JSON property `lamdaExampleId`
29851
+ # @return [String]
29852
+ attr_accessor :lamda_example_id
29853
+
29854
+ #
29855
+ # Corresponds to the JSON property `license`
29856
+ # @return [String]
29857
+ attr_accessor :license
29858
+
29859
+ #
29860
+ # Corresponds to the JSON property `meenaConversationId`
29861
+ # @return [String]
29862
+ attr_accessor :meena_conversation_id
29863
+
29864
+ # Natural (not programming) language of the document. Language code as defined
29865
+ # by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/
29866
+ # html/bcp47. Currently applicable to full-view books. Use docinfo-util.h to set
29867
+ # & read language fields. See go/iii.
29868
+ # Corresponds to the JSON property `naturalLanguageCode`
29869
+ # @return [String]
29870
+ attr_accessor :natural_language_code
29871
+
29872
+ # True if this doc has no attribution information available. We use an explicit
29873
+ # field for this instead of just implicitly leaving all the DocAttribution
29874
+ # fields blank to distinguish a case where a bug/oversight has left the
29875
+ # attribution information empty vs when we really have no attribution
29876
+ # information available.
29877
+ # Corresponds to the JSON property `noAttribution`
29878
+ # @return [Boolean]
29879
+ attr_accessor :no_attribution
29880
+ alias_method :no_attribution?, :no_attribution
29881
+
29882
+ #
29883
+ # Corresponds to the JSON property `podcastUtteranceId`
29884
+ # @return [String]
29885
+ attr_accessor :podcast_utterance_id
29886
+
29887
+ # Represents a whole or partial calendar date, such as a birthday. The time of
29888
+ # day and time zone are either specified elsewhere or are insignificant. The
29889
+ # date is relative to the Gregorian Calendar. This can represent one of the
29890
+ # following: * A full date, with non-zero year, month, and day values. * A month
29891
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
29892
+ # with a zero month and a zero day. * A year and month, with a zero day (for
29893
+ # example, a credit card expiration date). Related types: * google.type.
29894
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
29895
+ # Corresponds to the JSON property `publicationDate`
29896
+ # @return [Google::Apis::AiplatformV1beta1::GoogleTypeDate]
29897
+ attr_accessor :publication_date
29898
+
29899
+ # This field is for opt-out experiment only, MUST never be used during actual
29900
+ # production/serving.
29901
+ # Corresponds to the JSON property `qualityScoreExperimentOnly`
29902
+ # @return [Float]
29903
+ attr_accessor :quality_score_experiment_only
29904
+
29905
+ # Github repository
29906
+ # Corresponds to the JSON property `repo`
29907
+ # @return [String]
29908
+ attr_accessor :repo
29909
+
29910
+ # URL of a webdoc
29911
+ # Corresponds to the JSON property `url`
29912
+ # @return [String]
29913
+ attr_accessor :url
29914
+
29915
+ #
29916
+ # Corresponds to the JSON property `volumeId`
29917
+ # @return [String]
29918
+ attr_accessor :volume_id
29919
+
29920
+ # Wikipedia article title. The Wikipedia TFDS dataset includes article titles
29921
+ # but not URLs. While a URL is to the best of our knowledge a deterministic
29922
+ # function of the title, we store the original title to reflect the information
29923
+ # in the original dataset.
29924
+ # Corresponds to the JSON property `wikipediaArticleTitle`
29925
+ # @return [String]
29926
+ attr_accessor :wikipedia_article_title
29927
+
29928
+ def initialize(**args)
29929
+ update!(**args)
29930
+ end
29931
+
29932
+ # Update properties of this object
29933
+ def update!(**args)
29934
+ @amarna_id = args[:amarna_id] if args.key?(:amarna_id)
29935
+ @arxiv_id = args[:arxiv_id] if args.key?(:arxiv_id)
29936
+ @author = args[:author] if args.key?(:author)
29937
+ @bibkey = args[:bibkey] if args.key?(:bibkey)
29938
+ @book_title = args[:book_title] if args.key?(:book_title)
29939
+ @book_volume_id = args[:book_volume_id] if args.key?(:book_volume_id)
29940
+ @category = args[:category] if args.key?(:category)
29941
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
29942
+ @dataset = args[:dataset] if args.key?(:dataset)
29943
+ @filepath = args[:filepath] if args.key?(:filepath)
29944
+ @gemini_id = args[:gemini_id] if args.key?(:gemini_id)
29945
+ @gnews_article_title = args[:gnews_article_title] if args.key?(:gnews_article_title)
29946
+ @goodall_example_id = args[:goodall_example_id] if args.key?(:goodall_example_id)
29947
+ @is_opt_out = args[:is_opt_out] if args.key?(:is_opt_out)
29948
+ @is_prompt = args[:is_prompt] if args.key?(:is_prompt)
29949
+ @lamda_example_id = args[:lamda_example_id] if args.key?(:lamda_example_id)
29950
+ @license = args[:license] if args.key?(:license)
29951
+ @meena_conversation_id = args[:meena_conversation_id] if args.key?(:meena_conversation_id)
29952
+ @natural_language_code = args[:natural_language_code] if args.key?(:natural_language_code)
29953
+ @no_attribution = args[:no_attribution] if args.key?(:no_attribution)
29954
+ @podcast_utterance_id = args[:podcast_utterance_id] if args.key?(:podcast_utterance_id)
29955
+ @publication_date = args[:publication_date] if args.key?(:publication_date)
29956
+ @quality_score_experiment_only = args[:quality_score_experiment_only] if args.key?(:quality_score_experiment_only)
29957
+ @repo = args[:repo] if args.key?(:repo)
29958
+ @url = args[:url] if args.key?(:url)
29959
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
29960
+ @wikipedia_article_title = args[:wikipedia_article_title] if args.key?(:wikipedia_article_title)
29961
+ end
29962
+ end
29963
+
29964
+ # The recitation result for one input
29965
+ class LanguageLabsAidaTrustRecitationProtoRecitationResult
29966
+ include Google::Apis::Core::Hashable
29967
+
29968
+ #
29969
+ # Corresponds to the JSON property `dynamicSegmentResults`
29970
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
29971
+ attr_accessor :dynamic_segment_results
29972
+
29973
+ # The recitation action for one given input. When its segments contain different
29974
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
29975
+ # > NO_ACTION.
29976
+ # Corresponds to the JSON property `recitationAction`
29977
+ # @return [String]
29978
+ attr_accessor :recitation_action
29979
+
29980
+ #
29981
+ # Corresponds to the JSON property `trainingSegmentResults`
29982
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
29983
+ attr_accessor :training_segment_results
29984
+
29985
+ def initialize(**args)
29986
+ update!(**args)
29987
+ end
29988
+
29989
+ # Update properties of this object
29990
+ def update!(**args)
29991
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
29992
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
29993
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
29994
+ end
29995
+ end
29996
+
29997
+ # The recitation result for each segment in a given input.
29998
+ class LanguageLabsAidaTrustRecitationProtoSegmentResult
29999
+ include Google::Apis::Core::Hashable
30000
+
30001
+ # The dataset the segment came from.
30002
+ # Corresponds to the JSON property `attributionDataset`
30003
+ # @return [String]
30004
+ attr_accessor :attribution_dataset
30005
+
30006
+ # human-friendly string that contains information from doc_attribution which
30007
+ # could be shown by clients
30008
+ # Corresponds to the JSON property `displayAttributionMessage`
30009
+ # @return [String]
30010
+ attr_accessor :display_attribution_message
30011
+
30012
+ # The proto defines the attribution information for a document using whatever
30013
+ # fields are most applicable for that document's datasource. For example, a
30014
+ # Wikipedia article's attribution is in the form of its article title, a website
30015
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30016
+ # id:28
30017
+ # Corresponds to the JSON property `docAttribution`
30018
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoDocAttribution]
30019
+ attr_accessor :doc_attribution
30020
+
30021
+ # number of documents that contained this segment
30022
+ # Corresponds to the JSON property `docOccurrences`
30023
+ # @return [Fixnum]
30024
+ attr_accessor :doc_occurrences
30025
+
30026
+ #
30027
+ # Corresponds to the JSON property `endIndex`
30028
+ # @return [Fixnum]
30029
+ attr_accessor :end_index
30030
+
30031
+ # The raw text in the given input that is corresponding to the segment. It will
30032
+ # be available only when 'return_segment_raw_text' is enabled in the request
30033
+ # options.
30034
+ # Corresponds to the JSON property `rawText`
30035
+ # @return [String]
30036
+ attr_accessor :raw_text
30037
+
30038
+ #
30039
+ # Corresponds to the JSON property `segmentRecitationAction`
30040
+ # @return [String]
30041
+ attr_accessor :segment_recitation_action
30042
+
30043
+ # The segment boundary start (inclusive) and end index (exclusive) in the given
30044
+ # text. In the streaming RPC, the indexes always start from the beginning of the
30045
+ # first text in the entire stream. The indexes are measured in UTF-16 code units.
30046
+ # Corresponds to the JSON property `startIndex`
30047
+ # @return [Fixnum]
30048
+ attr_accessor :start_index
30049
+
30050
+ def initialize(**args)
30051
+ update!(**args)
30052
+ end
30053
+
30054
+ # Update properties of this object
30055
+ def update!(**args)
30056
+ @attribution_dataset = args[:attribution_dataset] if args.key?(:attribution_dataset)
30057
+ @display_attribution_message = args[:display_attribution_message] if args.key?(:display_attribution_message)
30058
+ @doc_attribution = args[:doc_attribution] if args.key?(:doc_attribution)
30059
+ @doc_occurrences = args[:doc_occurrences] if args.key?(:doc_occurrences)
30060
+ @end_index = args[:end_index] if args.key?(:end_index)
30061
+ @raw_text = args[:raw_text] if args.key?(:raw_text)
30062
+ @segment_recitation_action = args[:segment_recitation_action] if args.key?(:segment_recitation_action)
30063
+ @start_index = args[:start_index] if args.key?(:start_index)
30064
+ end
30065
+ end
30066
+
30067
+ # The recitation result for one stream input
30068
+ class LanguageLabsAidaTrustRecitationProtoStreamRecitationResult
30069
+ include Google::Apis::Core::Hashable
30070
+
30071
+ # The recitation result against the given dynamic data source.
30072
+ # Corresponds to the JSON property `dynamicSegmentResults`
30073
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30074
+ attr_accessor :dynamic_segment_results
30075
+
30076
+ # Last index of input text fully checked for recitation in the entire streaming
30077
+ # context. Would return `-1` if no Input was checked for recitation.
30078
+ # Corresponds to the JSON property `fullyCheckedTextIndex`
30079
+ # @return [Fixnum]
30080
+ attr_accessor :fully_checked_text_index
30081
+
30082
+ # The recitation action for one given input. When its segments contain different
30083
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30084
+ # > NO_ACTION.
30085
+ # Corresponds to the JSON property `recitationAction`
30086
+ # @return [String]
30087
+ attr_accessor :recitation_action
30088
+
30089
+ # The recitation result against model training data.
30090
+ # Corresponds to the JSON property `trainingSegmentResults`
30091
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30092
+ attr_accessor :training_segment_results
30093
+
30094
+ def initialize(**args)
30095
+ update!(**args)
30096
+ end
30097
+
30098
+ # Update properties of this object
30099
+ def update!(**args)
30100
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30101
+ @fully_checked_text_index = args[:fully_checked_text_index] if args.key?(:fully_checked_text_index)
30102
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30103
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30104
+ end
30105
+ end
30106
+
30107
+ # The proto defines the attribution information for a document using whatever
30108
+ # fields are most applicable for that document's datasource. For example, a
30109
+ # Wikipedia article's attribution is in the form of its article title, a website
30110
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30111
+ # id: 28
30112
+ class LearningGenaiRecitationDocAttribution
30113
+ include Google::Apis::Core::Hashable
30114
+
30115
+ #
30116
+ # Corresponds to the JSON property `amarnaId`
30117
+ # @return [String]
30118
+ attr_accessor :amarna_id
30119
+
30120
+ #
30121
+ # Corresponds to the JSON property `arxivId`
30122
+ # @return [String]
30123
+ attr_accessor :arxiv_id
30124
+
30125
+ #
30126
+ # Corresponds to the JSON property `author`
30127
+ # @return [String]
30128
+ attr_accessor :author
30129
+
30130
+ #
30131
+ # Corresponds to the JSON property `bibkey`
30132
+ # @return [String]
30133
+ attr_accessor :bibkey
30134
+
30135
+ #
30136
+ # Corresponds to the JSON property `bookTitle`
30137
+ # @return [String]
30138
+ attr_accessor :book_title
30139
+
30140
+ # The Oceanographers full-view books dataset uses a 'volume id' as the unique ID
30141
+ # of a book. There is a deterministic function from a volume id to a URL under
30142
+ # the books.google.com domain. Marked as 'optional' since a volume ID of zero is
30143
+ # potentially possible and we want to distinguish that from the volume ID not
30144
+ # being set.
30145
+ # Corresponds to the JSON property `bookVolumeId`
30146
+ # @return [Fixnum]
30147
+ attr_accessor :book_volume_id
30148
+
30149
+ #
30150
+ # Corresponds to the JSON property `conversationId`
30151
+ # @return [String]
30152
+ attr_accessor :conversation_id
30153
+
30154
+ # The dataset this document comes from.
30155
+ # Corresponds to the JSON property `dataset`
30156
+ # @return [String]
30157
+ attr_accessor :dataset
30158
+
30159
+ #
30160
+ # Corresponds to the JSON property `filepath`
30161
+ # @return [String]
30162
+ attr_accessor :filepath
30163
+
30164
+ #
30165
+ # Corresponds to the JSON property `geminiId`
30166
+ # @return [String]
30167
+ attr_accessor :gemini_id
30168
+
30169
+ #
30170
+ # Corresponds to the JSON property `gnewsArticleTitle`
30171
+ # @return [String]
30172
+ attr_accessor :gnews_article_title
30173
+
30174
+ #
30175
+ # Corresponds to the JSON property `goodallExampleId`
30176
+ # @return [String]
30177
+ attr_accessor :goodall_example_id
30178
+
30179
+ # Whether the document is opted out.
30180
+ # Corresponds to the JSON property `isOptOut`
30181
+ # @return [Boolean]
30182
+ attr_accessor :is_opt_out
30183
+ alias_method :is_opt_out?, :is_opt_out
30184
+
30185
+ # When true, this attribution came from the user's prompt.
30186
+ # Corresponds to the JSON property `isPrompt`
30187
+ # @return [Boolean]
30188
+ attr_accessor :is_prompt
30189
+ alias_method :is_prompt?, :is_prompt
30190
+
30191
+ #
30192
+ # Corresponds to the JSON property `lamdaExampleId`
30193
+ # @return [String]
30194
+ attr_accessor :lamda_example_id
30195
+
30196
+ #
30197
+ # Corresponds to the JSON property `license`
30198
+ # @return [String]
30199
+ attr_accessor :license
30200
+
30201
+ #
30202
+ # Corresponds to the JSON property `meenaConversationId`
30203
+ # @return [String]
30204
+ attr_accessor :meena_conversation_id
30205
+
30206
+ # Natural (not programming) language of the document. Language code as defined
30207
+ # by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/
30208
+ # html/bcp47. Currently applicable to full-view books. Use docinfo-util.h to set
30209
+ # & read language fields. See go/iii.
30210
+ # Corresponds to the JSON property `naturalLanguageCode`
30211
+ # @return [String]
30212
+ attr_accessor :natural_language_code
30213
+
30214
+ # True if this doc has no attribution information available. We use an explicit
30215
+ # field for this instead of just implicitly leaving all the DocAttribution
30216
+ # fields blank to distinguish a case where a bug/oversight has left the
30217
+ # attribution information empty vs when we really have no attribution
30218
+ # information available.
30219
+ # Corresponds to the JSON property `noAttribution`
30220
+ # @return [Boolean]
30221
+ attr_accessor :no_attribution
30222
+ alias_method :no_attribution?, :no_attribution
30223
+
30224
+ #
30225
+ # Corresponds to the JSON property `podcastUtteranceId`
30226
+ # @return [String]
30227
+ attr_accessor :podcast_utterance_id
30228
+
30229
+ # Represents a whole or partial calendar date, such as a birthday. The time of
30230
+ # day and time zone are either specified elsewhere or are insignificant. The
30231
+ # date is relative to the Gregorian Calendar. This can represent one of the
30232
+ # following: * A full date, with non-zero year, month, and day values. * A month
30233
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
30234
+ # with a zero month and a zero day. * A year and month, with a zero day (for
30235
+ # example, a credit card expiration date). Related types: * google.type.
30236
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
30237
+ # Corresponds to the JSON property `publicationDate`
30238
+ # @return [Google::Apis::AiplatformV1beta1::GoogleTypeDate]
30239
+ attr_accessor :publication_date
30240
+
30241
+ # This field is for opt-out experiment only, MUST never be used during actual
30242
+ # production/serving.
30243
+ # Corresponds to the JSON property `qualityScoreExperimentOnly`
30244
+ # @return [Float]
30245
+ attr_accessor :quality_score_experiment_only
30246
+
30247
+ # Github repository
30248
+ # Corresponds to the JSON property `repo`
30249
+ # @return [String]
30250
+ attr_accessor :repo
30251
+
30252
+ # URL of a webdoc
30253
+ # Corresponds to the JSON property `url`
30254
+ # @return [String]
30255
+ attr_accessor :url
30256
+
30257
+ #
30258
+ # Corresponds to the JSON property `volumeId`
30259
+ # @return [String]
30260
+ attr_accessor :volume_id
30261
+
30262
+ # Wikipedia article title. The Wikipedia TFDS dataset includes article titles
30263
+ # but not URLs. While a URL is to the best of our knowledge a deterministic
30264
+ # function of the title, we store the original title to reflect the information
30265
+ # in the original dataset.
30266
+ # Corresponds to the JSON property `wikipediaArticleTitle`
30267
+ # @return [String]
30268
+ attr_accessor :wikipedia_article_title
30269
+
30270
+ def initialize(**args)
30271
+ update!(**args)
30272
+ end
30273
+
30274
+ # Update properties of this object
30275
+ def update!(**args)
30276
+ @amarna_id = args[:amarna_id] if args.key?(:amarna_id)
30277
+ @arxiv_id = args[:arxiv_id] if args.key?(:arxiv_id)
30278
+ @author = args[:author] if args.key?(:author)
30279
+ @bibkey = args[:bibkey] if args.key?(:bibkey)
30280
+ @book_title = args[:book_title] if args.key?(:book_title)
30281
+ @book_volume_id = args[:book_volume_id] if args.key?(:book_volume_id)
30282
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
30283
+ @dataset = args[:dataset] if args.key?(:dataset)
30284
+ @filepath = args[:filepath] if args.key?(:filepath)
30285
+ @gemini_id = args[:gemini_id] if args.key?(:gemini_id)
30286
+ @gnews_article_title = args[:gnews_article_title] if args.key?(:gnews_article_title)
30287
+ @goodall_example_id = args[:goodall_example_id] if args.key?(:goodall_example_id)
30288
+ @is_opt_out = args[:is_opt_out] if args.key?(:is_opt_out)
30289
+ @is_prompt = args[:is_prompt] if args.key?(:is_prompt)
30290
+ @lamda_example_id = args[:lamda_example_id] if args.key?(:lamda_example_id)
30291
+ @license = args[:license] if args.key?(:license)
30292
+ @meena_conversation_id = args[:meena_conversation_id] if args.key?(:meena_conversation_id)
30293
+ @natural_language_code = args[:natural_language_code] if args.key?(:natural_language_code)
30294
+ @no_attribution = args[:no_attribution] if args.key?(:no_attribution)
30295
+ @podcast_utterance_id = args[:podcast_utterance_id] if args.key?(:podcast_utterance_id)
30296
+ @publication_date = args[:publication_date] if args.key?(:publication_date)
30297
+ @quality_score_experiment_only = args[:quality_score_experiment_only] if args.key?(:quality_score_experiment_only)
30298
+ @repo = args[:repo] if args.key?(:repo)
30299
+ @url = args[:url] if args.key?(:url)
30300
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
30301
+ @wikipedia_article_title = args[:wikipedia_article_title] if args.key?(:wikipedia_article_title)
30302
+ end
30303
+ end
30304
+
30305
+ # The recitation result for one input
30306
+ class LearningGenaiRecitationRecitationResult
30307
+ include Google::Apis::Core::Hashable
30308
+
30309
+ #
30310
+ # Corresponds to the JSON property `dynamicSegmentResults`
30311
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRecitationSegmentResult>]
30312
+ attr_accessor :dynamic_segment_results
30313
+
30314
+ # The recitation action for one given input. When its segments contain different
30315
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30316
+ # > NO_ACTION.
30317
+ # Corresponds to the JSON property `recitationAction`
30318
+ # @return [String]
30319
+ attr_accessor :recitation_action
30320
+
30321
+ #
30322
+ # Corresponds to the JSON property `trainingSegmentResults`
30323
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRecitationSegmentResult>]
30324
+ attr_accessor :training_segment_results
30325
+
30326
+ def initialize(**args)
30327
+ update!(**args)
30328
+ end
30329
+
30330
+ # Update properties of this object
30331
+ def update!(**args)
30332
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30333
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30334
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30335
+ end
30336
+ end
30337
+
30338
+ # The recitation result for each segment in a given input.
30339
+ class LearningGenaiRecitationSegmentResult
30340
+ include Google::Apis::Core::Hashable
30341
+
30342
+ # The dataset the segment came from.
30343
+ # Corresponds to the JSON property `attributionDataset`
30344
+ # @return [String]
30345
+ attr_accessor :attribution_dataset
30346
+
30347
+ # human-friendly string that contains information from doc_attribution which
30348
+ # could be shown by clients
30349
+ # Corresponds to the JSON property `displayAttributionMessage`
30350
+ # @return [String]
30351
+ attr_accessor :display_attribution_message
30352
+
30353
+ # The proto defines the attribution information for a document using whatever
30354
+ # fields are most applicable for that document's datasource. For example, a
30355
+ # Wikipedia article's attribution is in the form of its article title, a website
30356
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30357
+ # id: 28
30358
+ # Corresponds to the JSON property `docAttribution`
30359
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRecitationDocAttribution]
30360
+ attr_accessor :doc_attribution
30361
+
30362
+ # number of documents that contained this segment
30363
+ # Corresponds to the JSON property `docOccurrences`
30364
+ # @return [Fixnum]
30365
+ attr_accessor :doc_occurrences
30366
+
30367
+ #
30368
+ # Corresponds to the JSON property `endIndex`
30369
+ # @return [Fixnum]
30370
+ attr_accessor :end_index
30371
+
30372
+ # The raw text in the given input that is corresponding to the segment. It will
30373
+ # be available only when 'return_segment_raw_text' is enabled in the request
30374
+ # options.
30375
+ # Corresponds to the JSON property `rawText`
30376
+ # @return [String]
30377
+ attr_accessor :raw_text
30378
+
30379
+ #
30380
+ # Corresponds to the JSON property `segmentRecitationAction`
30381
+ # @return [String]
30382
+ attr_accessor :segment_recitation_action
30383
+
30384
+ # The segment boundary start (inclusive) and end index (exclusive) in the given
30385
+ # text. In the streaming RPC, the indexes always start from the beginning of the
30386
+ # first text in the entire stream. The indexes are measured in UTF-16 code units.
30387
+ # Corresponds to the JSON property `startIndex`
30388
+ # @return [Fixnum]
30389
+ attr_accessor :start_index
30390
+
30391
+ def initialize(**args)
30392
+ update!(**args)
30393
+ end
30394
+
30395
+ # Update properties of this object
30396
+ def update!(**args)
30397
+ @attribution_dataset = args[:attribution_dataset] if args.key?(:attribution_dataset)
30398
+ @display_attribution_message = args[:display_attribution_message] if args.key?(:display_attribution_message)
30399
+ @doc_attribution = args[:doc_attribution] if args.key?(:doc_attribution)
30400
+ @doc_occurrences = args[:doc_occurrences] if args.key?(:doc_occurrences)
30401
+ @end_index = args[:end_index] if args.key?(:end_index)
30402
+ @raw_text = args[:raw_text] if args.key?(:raw_text)
30403
+ @segment_recitation_action = args[:segment_recitation_action] if args.key?(:segment_recitation_action)
30404
+ @start_index = args[:start_index] if args.key?(:start_index)
30405
+ end
30406
+ end
30407
+
30408
+ # The type used for final weights calculation.
30409
+ class LearningGenaiRootCalculationType
30410
+ include Google::Apis::Core::Hashable
30411
+
30412
+ #
30413
+ # Corresponds to the JSON property `scoreType`
30414
+ # @return [String]
30415
+ attr_accessor :score_type
30416
+
30417
+ #
30418
+ # Corresponds to the JSON property `weights`
30419
+ # @return [Float]
30420
+ attr_accessor :weights
30421
+
30422
+ def initialize(**args)
30423
+ update!(**args)
30424
+ end
30425
+
30426
+ # Update properties of this object
30427
+ def update!(**args)
30428
+ @score_type = args[:score_type] if args.key?(:score_type)
30429
+ @weights = args[:weights] if args.key?(:weights)
30430
+ end
30431
+ end
30432
+
30433
+ #
30434
+ class LearningGenaiRootClassifierOutput
30435
+ include Google::Apis::Core::Hashable
30436
+
30437
+ # If set, this is the output of the first matching rule.
30438
+ # Corresponds to the JSON property `ruleOutput`
30439
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput]
30440
+ attr_accessor :rule_output
30441
+
30442
+ # outputs of all matching rule.
30443
+ # Corresponds to the JSON property `ruleOutputs`
30444
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput>]
30445
+ attr_accessor :rule_outputs
30446
+
30447
+ # DataProviderOutput and MetricOutput can be saved between calls to the
30448
+ # Classifier framework. For instance, you can run the query classifier, get
30449
+ # outputs from those metrics, then use them in a result classifier as well.
30450
+ # Example rule based on this idea: and_rules ` rule ` metric_name: '
30451
+ # query_safesearch_v2' ... ` rule ` metric_name: 'response_safesearch_v2' ... ` `
30452
+ # Corresponds to the JSON property `state`
30453
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierState]
30454
+ attr_accessor :state
30455
+
30456
+ def initialize(**args)
30457
+ update!(**args)
30458
+ end
30459
+
30460
+ # Update properties of this object
30461
+ def update!(**args)
30462
+ @rule_output = args[:rule_output] if args.key?(:rule_output)
30463
+ @rule_outputs = args[:rule_outputs] if args.key?(:rule_outputs)
30464
+ @state = args[:state] if args.key?(:state)
30465
+ end
30466
+ end
30467
+
30468
+ #
30469
+ class LearningGenaiRootClassifierOutputSummary
30470
+ include Google::Apis::Core::Hashable
30471
+
30472
+ #
30473
+ # Corresponds to the JSON property `metrics`
30474
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootMetricOutput>]
30475
+ attr_accessor :metrics
30476
+
30477
+ # Output of the first matching rule.
30478
+ # Corresponds to the JSON property `ruleOutput`
30479
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput]
30480
+ attr_accessor :rule_output
30481
+
30482
+ # outputs of all matching rule.
30483
+ # Corresponds to the JSON property `ruleOutputs`
30484
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput>]
30485
+ attr_accessor :rule_outputs
30486
+
30487
+ def initialize(**args)
30488
+ update!(**args)
30489
+ end
30490
+
30491
+ # Update properties of this object
30492
+ def update!(**args)
30493
+ @metrics = args[:metrics] if args.key?(:metrics)
30494
+ @rule_output = args[:rule_output] if args.key?(:rule_output)
30495
+ @rule_outputs = args[:rule_outputs] if args.key?(:rule_outputs)
30496
+ end
30497
+ end
30498
+
30499
+ # DataProviderOutput and MetricOutput can be saved between calls to the
30500
+ # Classifier framework. For instance, you can run the query classifier, get
30501
+ # outputs from those metrics, then use them in a result classifier as well.
30502
+ # Example rule based on this idea: and_rules ` rule ` metric_name: '
30503
+ # query_safesearch_v2' ... ` rule ` metric_name: 'response_safesearch_v2' ... ` `
30504
+ class LearningGenaiRootClassifierState
30505
+ include Google::Apis::Core::Hashable
30506
+
30507
+ #
30508
+ # Corresponds to the JSON property `dataProviderOutput`
30509
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootDataProviderOutput>]
30510
+ attr_accessor :data_provider_output
30511
+
30512
+ #
30513
+ # Corresponds to the JSON property `metricOutput`
30514
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootMetricOutput>]
30515
+ attr_accessor :metric_output
30516
+
30517
+ def initialize(**args)
30518
+ update!(**args)
30519
+ end
30520
+
30521
+ # Update properties of this object
30522
+ def update!(**args)
30523
+ @data_provider_output = args[:data_provider_output] if args.key?(:data_provider_output)
30524
+ @metric_output = args[:metric_output] if args.key?(:metric_output)
30525
+ end
30526
+ end
30527
+
30528
+ #
30529
+ class LearningGenaiRootDataProviderOutput
30530
+ include Google::Apis::Core::Hashable
30531
+
30532
+ #
30533
+ # Corresponds to the JSON property `name`
30534
+ # @return [String]
30535
+ attr_accessor :name
30536
+
30537
+ # Wire-format for a Status object
30538
+ # Corresponds to the JSON property `status`
30539
+ # @return [Google::Apis::AiplatformV1beta1::UtilStatusProto]
30540
+ attr_accessor :status
30541
+
30542
+ def initialize(**args)
30543
+ update!(**args)
30544
+ end
30545
+
30546
+ # Update properties of this object
30547
+ def update!(**args)
30548
+ @name = args[:name] if args.key?(:name)
30549
+ @status = args[:status] if args.key?(:status)
30550
+ end
30551
+ end
30552
+
30553
+ #
30554
+ class LearningGenaiRootFilterMetadata
30555
+ include Google::Apis::Core::Hashable
30556
+
30557
+ # Filter confidence.
30558
+ # Corresponds to the JSON property `confidence`
30559
+ # @return [String]
30560
+ attr_accessor :confidence
30561
+
30562
+ # Debug info for the message.
30563
+ # Corresponds to the JSON property `debugInfo`
30564
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootFilterMetadataFilterDebugInfo]
30565
+ attr_accessor :debug_info
30566
+
30567
+ # A fallback message chosen by the applied filter.
30568
+ # Corresponds to the JSON property `fallback`
30569
+ # @return [String]
30570
+ attr_accessor :fallback
30571
+
30572
+ # Additional info for the filter.
30573
+ # Corresponds to the JSON property `info`
30574
+ # @return [String]
30575
+ attr_accessor :info
30576
+
30577
+ # Name of the filter that triggered.
30578
+ # Corresponds to the JSON property `name`
30579
+ # @return [String]
30580
+ attr_accessor :name
30581
+
30582
+ # Filter reason.
30583
+ # Corresponds to the JSON property `reason`
30584
+ # @return [String]
30585
+ attr_accessor :reason
30586
+
30587
+ # The input query or generated response that is getting filtered.
30588
+ # Corresponds to the JSON property `text`
30589
+ # @return [String]
30590
+ attr_accessor :text
30591
+
30592
+ def initialize(**args)
30593
+ update!(**args)
30594
+ end
30595
+
30596
+ # Update properties of this object
30597
+ def update!(**args)
30598
+ @confidence = args[:confidence] if args.key?(:confidence)
30599
+ @debug_info = args[:debug_info] if args.key?(:debug_info)
30600
+ @fallback = args[:fallback] if args.key?(:fallback)
30601
+ @info = args[:info] if args.key?(:info)
30602
+ @name = args[:name] if args.key?(:name)
30603
+ @reason = args[:reason] if args.key?(:reason)
30604
+ @text = args[:text] if args.key?(:text)
30605
+ end
30606
+ end
30607
+
30608
+ #
30609
+ class LearningGenaiRootFilterMetadataFilterDebugInfo
30610
+ include Google::Apis::Core::Hashable
30611
+
30612
+ #
30613
+ # Corresponds to the JSON property `classifierOutput`
30614
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierOutput]
30615
+ attr_accessor :classifier_output
30616
+
30617
+ #
30618
+ # Corresponds to the JSON property `defaultMetadata`
30619
+ # @return [String]
30620
+ attr_accessor :default_metadata
30621
+
30622
+ #
30623
+ # Corresponds to the JSON property `languageFilterResult`
30624
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmLanguageFilterResult]
30625
+ attr_accessor :language_filter_result
30626
+
30627
+ # This is per harm.
30628
+ # Corresponds to the JSON property `raiOutput`
30629
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRaiOutput]
30630
+ attr_accessor :rai_output
30631
+
30632
+ # The RAI results for a given text.
30633
+ # Corresponds to the JSON property `raiResult`
30634
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiResult]
30635
+ attr_accessor :rai_result
30636
+
30637
+ # An RAI signal for a single category.
30638
+ # Corresponds to the JSON property `raiSignal`
30639
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiSignal]
30640
+ attr_accessor :rai_signal
30641
+
30642
+ # The recitation result for one stream input
30643
+ # Corresponds to the JSON property `streamRecitationResult`
30644
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoStreamRecitationResult]
30645
+ attr_accessor :stream_recitation_result
30646
+
30647
+ #
30648
+ # Corresponds to the JSON property `takedownResult`
30649
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootTakedownResult]
30650
+ attr_accessor :takedown_result
30651
+
30652
+ # A model can generate multiple signals and this captures all the generated
30653
+ # signals for a single message.
30654
+ # Corresponds to the JSON property `toxicityResult`
30655
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootToxicityResult]
30656
+ attr_accessor :toxicity_result
30657
+
30658
+ def initialize(**args)
30659
+ update!(**args)
30660
+ end
30661
+
30662
+ # Update properties of this object
30663
+ def update!(**args)
30664
+ @classifier_output = args[:classifier_output] if args.key?(:classifier_output)
30665
+ @default_metadata = args[:default_metadata] if args.key?(:default_metadata)
30666
+ @language_filter_result = args[:language_filter_result] if args.key?(:language_filter_result)
30667
+ @rai_output = args[:rai_output] if args.key?(:rai_output)
30668
+ @rai_result = args[:rai_result] if args.key?(:rai_result)
30669
+ @rai_signal = args[:rai_signal] if args.key?(:rai_signal)
30670
+ @stream_recitation_result = args[:stream_recitation_result] if args.key?(:stream_recitation_result)
30671
+ @takedown_result = args[:takedown_result] if args.key?(:takedown_result)
30672
+ @toxicity_result = args[:toxicity_result] if args.key?(:toxicity_result)
30673
+ end
30674
+ end
30675
+
30676
+ #
30677
+ class LearningGenaiRootHarm
30678
+ include Google::Apis::Core::Hashable
30679
+
30680
+ # Please do not use, this is still under development.
30681
+ # Corresponds to the JSON property `contextualDangerous`
30682
+ # @return [Boolean]
30683
+ attr_accessor :contextual_dangerous
30684
+ alias_method :contextual_dangerous?, :contextual_dangerous
30685
+
30686
+ #
30687
+ # Corresponds to the JSON property `csam`
30688
+ # @return [Boolean]
30689
+ attr_accessor :csam
30690
+ alias_method :csam?, :csam
30691
+
30692
+ #
30693
+ # Corresponds to the JSON property `fringe`
30694
+ # @return [Boolean]
30695
+ attr_accessor :fringe
30696
+ alias_method :fringe?, :fringe
30697
+
30698
+ # Harm type for images
30699
+ # Corresponds to the JSON property `grailImageHarmType`
30700
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmGrailImageHarmType]
30701
+ attr_accessor :grail_image_harm_type
30702
+
30703
+ # Harm type for text
30704
+ # Corresponds to the JSON property `grailTextHarmType`
30705
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmGrailTextHarmType]
30706
+ attr_accessor :grail_text_harm_type
30707
+
30708
+ #
30709
+ # Corresponds to the JSON property `imageCsam`
30710
+ # @return [Boolean]
30711
+ attr_accessor :image_csam
30712
+ alias_method :image_csam?, :image_csam
30713
+
30714
+ #
30715
+ # Corresponds to the JSON property `imagePedo`
30716
+ # @return [Boolean]
30717
+ attr_accessor :image_pedo
30718
+ alias_method :image_pedo?, :image_pedo
30719
+
30720
+ # Image signals
30721
+ # Corresponds to the JSON property `imagePorn`
30722
+ # @return [Boolean]
30723
+ attr_accessor :image_porn
30724
+ alias_method :image_porn?, :image_porn
30725
+
30726
+ #
30727
+ # Corresponds to the JSON property `imageViolence`
30728
+ # @return [Boolean]
30729
+ attr_accessor :image_violence
30730
+ alias_method :image_violence?, :image_violence
30731
+
30732
+ #
30733
+ # Corresponds to the JSON property `pqc`
30734
+ # @return [Boolean]
30735
+ attr_accessor :pqc
30736
+ alias_method :pqc?, :pqc
30737
+
30738
+ #
30739
+ # Corresponds to the JSON property `safetycat`
30740
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmSafetyCatCategories]
30741
+ attr_accessor :safetycat
30742
+
30743
+ #
30744
+ # Corresponds to the JSON property `spii`
30745
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmSpiiFilter]
30746
+ attr_accessor :spii
30747
+
30748
+ #
30749
+ # Corresponds to the JSON property `threshold`
30750
+ # @return [Float]
30751
+ attr_accessor :threshold
30752
+
30753
+ #
30754
+ # Corresponds to the JSON property `videoFrameCsam`
30755
+ # @return [Boolean]
30756
+ attr_accessor :video_frame_csam
30757
+ alias_method :video_frame_csam?, :video_frame_csam
30758
+
30759
+ #
30760
+ # Corresponds to the JSON property `videoFramePedo`
30761
+ # @return [Boolean]
30762
+ attr_accessor :video_frame_pedo
30763
+ alias_method :video_frame_pedo?, :video_frame_pedo
30764
+
30765
+ # Video frame signals
30766
+ # Corresponds to the JSON property `videoFramePorn`
30767
+ # @return [Boolean]
30768
+ attr_accessor :video_frame_porn
30769
+ alias_method :video_frame_porn?, :video_frame_porn
30770
+
30771
+ #
30772
+ # Corresponds to the JSON property `videoFrameViolence`
30773
+ # @return [Boolean]
30774
+ attr_accessor :video_frame_violence
30775
+ alias_method :video_frame_violence?, :video_frame_violence
30776
+
30777
+ def initialize(**args)
30778
+ update!(**args)
30779
+ end
30780
+
30781
+ # Update properties of this object
30782
+ def update!(**args)
30783
+ @contextual_dangerous = args[:contextual_dangerous] if args.key?(:contextual_dangerous)
30784
+ @csam = args[:csam] if args.key?(:csam)
30785
+ @fringe = args[:fringe] if args.key?(:fringe)
30786
+ @grail_image_harm_type = args[:grail_image_harm_type] if args.key?(:grail_image_harm_type)
30787
+ @grail_text_harm_type = args[:grail_text_harm_type] if args.key?(:grail_text_harm_type)
30788
+ @image_csam = args[:image_csam] if args.key?(:image_csam)
30789
+ @image_pedo = args[:image_pedo] if args.key?(:image_pedo)
30790
+ @image_porn = args[:image_porn] if args.key?(:image_porn)
30791
+ @image_violence = args[:image_violence] if args.key?(:image_violence)
30792
+ @pqc = args[:pqc] if args.key?(:pqc)
30793
+ @safetycat = args[:safetycat] if args.key?(:safetycat)
30794
+ @spii = args[:spii] if args.key?(:spii)
30795
+ @threshold = args[:threshold] if args.key?(:threshold)
30796
+ @video_frame_csam = args[:video_frame_csam] if args.key?(:video_frame_csam)
30797
+ @video_frame_pedo = args[:video_frame_pedo] if args.key?(:video_frame_pedo)
30798
+ @video_frame_porn = args[:video_frame_porn] if args.key?(:video_frame_porn)
30799
+ @video_frame_violence = args[:video_frame_violence] if args.key?(:video_frame_violence)
30800
+ end
30801
+ end
30802
+
30803
+ # Harm type for images
30804
+ class LearningGenaiRootHarmGrailImageHarmType
30805
+ include Google::Apis::Core::Hashable
30806
+
30807
+ #
30808
+ # Corresponds to the JSON property `imageHarmType`
30809
+ # @return [Array<String>]
30810
+ attr_accessor :image_harm_type
30811
+
30812
+ def initialize(**args)
30813
+ update!(**args)
30814
+ end
30815
+
30816
+ # Update properties of this object
30817
+ def update!(**args)
30818
+ @image_harm_type = args[:image_harm_type] if args.key?(:image_harm_type)
30819
+ end
30820
+ end
30821
+
30822
+ # Harm type for text
30823
+ class LearningGenaiRootHarmGrailTextHarmType
30824
+ include Google::Apis::Core::Hashable
30825
+
30826
+ #
30827
+ # Corresponds to the JSON property `harmType`
30828
+ # @return [Array<String>]
30829
+ attr_accessor :harm_type
30830
+
30831
+ def initialize(**args)
30832
+ update!(**args)
30833
+ end
30834
+
30835
+ # Update properties of this object
30836
+ def update!(**args)
30837
+ @harm_type = args[:harm_type] if args.key?(:harm_type)
30838
+ end
30839
+ end
30840
+
30841
+ #
30842
+ class LearningGenaiRootHarmSafetyCatCategories
30843
+ include Google::Apis::Core::Hashable
30844
+
30845
+ #
30846
+ # Corresponds to the JSON property `categories`
30847
+ # @return [Array<String>]
30848
+ attr_accessor :categories
30849
+
30850
+ def initialize(**args)
30851
+ update!(**args)
30852
+ end
30853
+
30854
+ # Update properties of this object
30855
+ def update!(**args)
30856
+ @categories = args[:categories] if args.key?(:categories)
30857
+ end
30858
+ end
30859
+
30860
+ #
30861
+ class LearningGenaiRootHarmSpiiFilter
30862
+ include Google::Apis::Core::Hashable
30863
+
30864
+ #
30865
+ # Corresponds to the JSON property `usBankRoutingMicr`
30866
+ # @return [Boolean]
30867
+ attr_accessor :us_bank_routing_micr
30868
+ alias_method :us_bank_routing_micr?, :us_bank_routing_micr
30869
+
30870
+ #
30871
+ # Corresponds to the JSON property `usEmployerIdentificationNumber`
30872
+ # @return [Boolean]
30873
+ attr_accessor :us_employer_identification_number
30874
+ alias_method :us_employer_identification_number?, :us_employer_identification_number
30875
+
30876
+ #
30877
+ # Corresponds to the JSON property `usSocialSecurityNumber`
30878
+ # @return [Boolean]
30879
+ attr_accessor :us_social_security_number
30880
+ alias_method :us_social_security_number?, :us_social_security_number
30881
+
30882
+ def initialize(**args)
30883
+ update!(**args)
30884
+ end
30885
+
30886
+ # Update properties of this object
30887
+ def update!(**args)
30888
+ @us_bank_routing_micr = args[:us_bank_routing_micr] if args.key?(:us_bank_routing_micr)
30889
+ @us_employer_identification_number = args[:us_employer_identification_number] if args.key?(:us_employer_identification_number)
30890
+ @us_social_security_number = args[:us_social_security_number] if args.key?(:us_social_security_number)
30891
+ end
30892
+ end
30893
+
30894
+ #
30895
+ class LearningGenaiRootInternalMetadata
30896
+ include Google::Apis::Core::Hashable
30897
+
30898
+ #
30899
+ # Corresponds to the JSON property `scoredTokens`
30900
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScoredToken>]
30901
+ attr_accessor :scored_tokens
30902
+
30903
+ def initialize(**args)
30904
+ update!(**args)
30905
+ end
30906
+
30907
+ # Update properties of this object
30908
+ def update!(**args)
30909
+ @scored_tokens = args[:scored_tokens] if args.key?(:scored_tokens)
30910
+ end
30911
+ end
30912
+
30913
+ #
30914
+ class LearningGenaiRootMetricOutput
30915
+ include Google::Apis::Core::Hashable
30916
+
30917
+ #
30918
+ # Corresponds to the JSON property `debug`
30919
+ # @return [String]
30920
+ attr_accessor :debug
30921
+
30922
+ # Name of the metric.
30923
+ # Corresponds to the JSON property `name`
30924
+ # @return [String]
30925
+ attr_accessor :name
30926
+
30927
+ #
30928
+ # Corresponds to the JSON property `numericValue`
30929
+ # @return [Float]
30930
+ attr_accessor :numeric_value
30931
+
30932
+ # Wire-format for a Status object
30933
+ # Corresponds to the JSON property `status`
30934
+ # @return [Google::Apis::AiplatformV1beta1::UtilStatusProto]
30935
+ attr_accessor :status
30936
+
30937
+ #
30938
+ # Corresponds to the JSON property `stringValue`
30939
+ # @return [String]
30940
+ attr_accessor :string_value
30941
+
30942
+ def initialize(**args)
30943
+ update!(**args)
30944
+ end
30945
+
30946
+ # Update properties of this object
30947
+ def update!(**args)
30948
+ @debug = args[:debug] if args.key?(:debug)
30949
+ @name = args[:name] if args.key?(:name)
30950
+ @numeric_value = args[:numeric_value] if args.key?(:numeric_value)
30951
+ @status = args[:status] if args.key?(:status)
30952
+ @string_value = args[:string_value] if args.key?(:string_value)
30953
+ end
30954
+ end
30955
+
30956
+ # This is per harm.
30957
+ class LearningGenaiRootRaiOutput
30958
+ include Google::Apis::Core::Hashable
30959
+
30960
+ #
30961
+ # Corresponds to the JSON property `allowed`
30962
+ # @return [Boolean]
30963
+ attr_accessor :allowed
30964
+ alias_method :allowed?, :allowed
30965
+
30966
+ #
30967
+ # Corresponds to the JSON property `harm`
30968
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarm]
30969
+ attr_accessor :harm
30970
+
30971
+ #
30972
+ # Corresponds to the JSON property `name`
30973
+ # @return [String]
30974
+ attr_accessor :name
30975
+
30976
+ #
30977
+ # Corresponds to the JSON property `score`
30978
+ # @return [Float]
30979
+ attr_accessor :score
30980
+
30981
+ def initialize(**args)
30982
+ update!(**args)
30983
+ end
30984
+
30985
+ # Update properties of this object
30986
+ def update!(**args)
30987
+ @allowed = args[:allowed] if args.key?(:allowed)
30988
+ @harm = args[:harm] if args.key?(:harm)
30989
+ @name = args[:name] if args.key?(:name)
30990
+ @score = args[:score] if args.key?(:score)
30991
+ end
30992
+ end
30993
+
30994
+ #
30995
+ class LearningGenaiRootRegexTakedownResult
30996
+ include Google::Apis::Core::Hashable
30997
+
30998
+ # False when query or response should be taken down due to match with a blocked
30999
+ # regex, true otherwise.
31000
+ # Corresponds to the JSON property `allowed`
31001
+ # @return [Boolean]
31002
+ attr_accessor :allowed
31003
+ alias_method :allowed?, :allowed
31004
+
31005
+ # Regex used to decide that query or response should be taken down. Empty when
31006
+ # query or response is kept.
31007
+ # Corresponds to the JSON property `takedownRegex`
31008
+ # @return [String]
31009
+ attr_accessor :takedown_regex
31010
+
31011
+ def initialize(**args)
31012
+ update!(**args)
31013
+ end
31014
+
31015
+ # Update properties of this object
31016
+ def update!(**args)
31017
+ @allowed = args[:allowed] if args.key?(:allowed)
31018
+ @takedown_regex = args[:takedown_regex] if args.key?(:takedown_regex)
31019
+ end
31020
+ end
31021
+
31022
+ #
31023
+ class LearningGenaiRootRequestResponseTakedownResult
31024
+ include Google::Apis::Core::Hashable
31025
+
31026
+ # False when response has to be taken down per above config.
31027
+ # Corresponds to the JSON property `allowed`
31028
+ # @return [Boolean]
31029
+ attr_accessor :allowed
31030
+ alias_method :allowed?, :allowed
31031
+
31032
+ # Regex used to match the request.
31033
+ # Corresponds to the JSON property `requestTakedownRegex`
31034
+ # @return [String]
31035
+ attr_accessor :request_takedown_regex
31036
+
31037
+ # Regex used to decide that response should be taken down. Empty when response
31038
+ # is kept.
31039
+ # Corresponds to the JSON property `responseTakedownRegex`
31040
+ # @return [String]
31041
+ attr_accessor :response_takedown_regex
31042
+
31043
+ def initialize(**args)
31044
+ update!(**args)
31045
+ end
31046
+
31047
+ # Update properties of this object
31048
+ def update!(**args)
31049
+ @allowed = args[:allowed] if args.key?(:allowed)
31050
+ @request_takedown_regex = args[:request_takedown_regex] if args.key?(:request_takedown_regex)
31051
+ @response_takedown_regex = args[:response_takedown_regex] if args.key?(:response_takedown_regex)
31052
+ end
31053
+ end
31054
+
31055
+ # Holds the final routing decision, by storing the model_config_id. And
31056
+ # individual scores each model got.
31057
+ class LearningGenaiRootRoutingDecision
31058
+ include Google::Apis::Core::Hashable
31059
+
31060
+ # Debug metadata about the routing decision.
31061
+ # Corresponds to the JSON property `metadata`
31062
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadata]
31063
+ attr_accessor :metadata
31064
+
31065
+ # The selected model to route traffic to.
31066
+ # Corresponds to the JSON property `modelConfigId`
31067
+ # @return [String]
31068
+ attr_accessor :model_config_id
31069
+
31070
+ def initialize(**args)
31071
+ update!(**args)
31072
+ end
31073
+
31074
+ # Update properties of this object
31075
+ def update!(**args)
31076
+ @metadata = args[:metadata] if args.key?(:metadata)
31077
+ @model_config_id = args[:model_config_id] if args.key?(:model_config_id)
31078
+ end
31079
+ end
31080
+
31081
+ # Debug metadata about the routing decision.
31082
+ class LearningGenaiRootRoutingDecisionMetadata
31083
+ include Google::Apis::Core::Hashable
31084
+
31085
+ # If we are routing using scored based configuration, then the metadata about
31086
+ # that is available in this proto.
31087
+ # Corresponds to the JSON property `scoreBasedRoutingMetadata`
31088
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataScoreBased]
31089
+ attr_accessor :score_based_routing_metadata
31090
+
31091
+ #
31092
+ # Corresponds to the JSON property `tokenLengthBasedRoutingMetadata`
31093
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBased]
31094
+ attr_accessor :token_length_based_routing_metadata
31095
+
31096
+ def initialize(**args)
31097
+ update!(**args)
31098
+ end
31099
+
31100
+ # Update properties of this object
31101
+ def update!(**args)
31102
+ @score_based_routing_metadata = args[:score_based_routing_metadata] if args.key?(:score_based_routing_metadata)
31103
+ @token_length_based_routing_metadata = args[:token_length_based_routing_metadata] if args.key?(:token_length_based_routing_metadata)
31104
+ end
31105
+ end
31106
+
31107
+ # If we are routing using scored based configuration, then the metadata about
31108
+ # that is available in this proto.
31109
+ class LearningGenaiRootRoutingDecisionMetadataScoreBased
31110
+ include Google::Apis::Core::Hashable
31111
+
31112
+ # The rule that was matched.
31113
+ # Corresponds to the JSON property `matchedRule`
31114
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScoreBasedRoutingConfigRule]
31115
+ attr_accessor :matched_rule
31116
+
31117
+ # The score that was generated by the router i.e. the model.
31118
+ # Corresponds to the JSON property `score`
31119
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31120
+ attr_accessor :score
31121
+
31122
+ # No rules were matched & therefore used the default fallback.
31123
+ # Corresponds to the JSON property `usedDefaultFallback`
31124
+ # @return [Boolean]
31125
+ attr_accessor :used_default_fallback
31126
+ alias_method :used_default_fallback?, :used_default_fallback
31127
+
31128
+ def initialize(**args)
31129
+ update!(**args)
31130
+ end
31131
+
31132
+ # Update properties of this object
31133
+ def update!(**args)
31134
+ @matched_rule = args[:matched_rule] if args.key?(:matched_rule)
31135
+ @score = args[:score] if args.key?(:score)
31136
+ @used_default_fallback = args[:used_default_fallback] if args.key?(:used_default_fallback)
31137
+ end
31138
+ end
31139
+
31140
+ #
31141
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBased
31142
+ include Google::Apis::Core::Hashable
31143
+
31144
+ #
31145
+ # Corresponds to the JSON property `modelInputTokenMetadata`
31146
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata>]
31147
+ attr_accessor :model_input_token_metadata
31148
+
31149
+ #
31150
+ # Corresponds to the JSON property `modelMaxTokenMetadata`
31151
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelMaxTokenMetadata>]
31152
+ attr_accessor :model_max_token_metadata
31153
+
31154
+ def initialize(**args)
31155
+ update!(**args)
31156
+ end
31157
+
31158
+ # Update properties of this object
31159
+ def update!(**args)
31160
+ @model_input_token_metadata = args[:model_input_token_metadata] if args.key?(:model_input_token_metadata)
31161
+ @model_max_token_metadata = args[:model_max_token_metadata] if args.key?(:model_max_token_metadata)
31162
+ end
31163
+ end
31164
+
31165
+ #
31166
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata
31167
+ include Google::Apis::Core::Hashable
31168
+
31169
+ # The length computed by backends using the formatter & tokenizer specific to
31170
+ # the model
31171
+ # Corresponds to the JSON property `computedInputTokenLength`
31172
+ # @return [Fixnum]
31173
+ attr_accessor :computed_input_token_length
31174
+
31175
+ #
31176
+ # Corresponds to the JSON property `modelId`
31177
+ # @return [String]
31178
+ attr_accessor :model_id
31179
+
31180
+ def initialize(**args)
31181
+ update!(**args)
31182
+ end
31183
+
31184
+ # Update properties of this object
31185
+ def update!(**args)
31186
+ @computed_input_token_length = args[:computed_input_token_length] if args.key?(:computed_input_token_length)
31187
+ @model_id = args[:model_id] if args.key?(:model_id)
31188
+ end
31189
+ end
31190
+
31191
+ #
31192
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelMaxTokenMetadata
31193
+ include Google::Apis::Core::Hashable
31194
+
31195
+ #
31196
+ # Corresponds to the JSON property `maxNumInputTokens`
31197
+ # @return [Fixnum]
31198
+ attr_accessor :max_num_input_tokens
31199
+
31200
+ #
31201
+ # Corresponds to the JSON property `maxNumOutputTokens`
31202
+ # @return [Fixnum]
31203
+ attr_accessor :max_num_output_tokens
31204
+
31205
+ #
31206
+ # Corresponds to the JSON property `modelId`
31207
+ # @return [String]
31208
+ attr_accessor :model_id
31209
+
31210
+ def initialize(**args)
31211
+ update!(**args)
31212
+ end
31213
+
31214
+ # Update properties of this object
31215
+ def update!(**args)
31216
+ @max_num_input_tokens = args[:max_num_input_tokens] if args.key?(:max_num_input_tokens)
31217
+ @max_num_output_tokens = args[:max_num_output_tokens] if args.key?(:max_num_output_tokens)
31218
+ @model_id = args[:model_id] if args.key?(:model_id)
31219
+ end
31220
+ end
31221
+
31222
+ #
31223
+ class LearningGenaiRootRuleOutput
31224
+ include Google::Apis::Core::Hashable
31225
+
31226
+ #
31227
+ # Corresponds to the JSON property `decision`
31228
+ # @return [String]
31229
+ attr_accessor :decision
31230
+
31231
+ #
31232
+ # Corresponds to the JSON property `name`
31233
+ # @return [String]
31234
+ attr_accessor :name
31235
+
31236
+ def initialize(**args)
31237
+ update!(**args)
31238
+ end
31239
+
31240
+ # Update properties of this object
31241
+ def update!(**args)
31242
+ @decision = args[:decision] if args.key?(:decision)
31243
+ @name = args[:name] if args.key?(:name)
31244
+ end
31245
+ end
31246
+
31247
+ #
31248
+ class LearningGenaiRootScore
31249
+ include Google::Apis::Core::Hashable
31250
+
31251
+ # The type used for final weights calculation.
31252
+ # Corresponds to the JSON property `calculationType`
31253
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootCalculationType]
31254
+ attr_accessor :calculation_type
31255
+
31256
+ # The internal_metadata is intended to be used by internal processors and will
31257
+ # be cleared before returns.
31258
+ # Corresponds to the JSON property `internalMetadata`
31259
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootInternalMetadata]
31260
+ attr_accessor :internal_metadata
31261
+
31262
+ # The type of score that bundled with a threshold, and will not be attending the
31263
+ # final score calculation. How each score type uses the threshold can be
31264
+ # implementation details.
31265
+ # Corresponds to the JSON property `thresholdType`
31266
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootThresholdType]
31267
+ attr_accessor :threshold_type
31268
+
31269
+ # Results of RandomSamplingParams::top_k_logprob_per_decoding_step.
31270
+ # Corresponds to the JSON property `tokensAndLogprobPerDecodingStep`
31271
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStep]
31272
+ attr_accessor :tokens_and_logprob_per_decoding_step
31273
+
31274
+ #
31275
+ # Corresponds to the JSON property `value`
31276
+ # @return [Float]
31277
+ attr_accessor :value
31278
+
31279
+ def initialize(**args)
31280
+ update!(**args)
31281
+ end
31282
+
31283
+ # Update properties of this object
31284
+ def update!(**args)
31285
+ @calculation_type = args[:calculation_type] if args.key?(:calculation_type)
31286
+ @internal_metadata = args[:internal_metadata] if args.key?(:internal_metadata)
31287
+ @threshold_type = args[:threshold_type] if args.key?(:threshold_type)
31288
+ @tokens_and_logprob_per_decoding_step = args[:tokens_and_logprob_per_decoding_step] if args.key?(:tokens_and_logprob_per_decoding_step)
31289
+ @value = args[:value] if args.key?(:value)
31290
+ end
31291
+ end
31292
+
31293
+ #
31294
+ class LearningGenaiRootScoreBasedRoutingConfigRule
31295
+ include Google::Apis::Core::Hashable
31296
+
31297
+ # NOTE: Hardest examples have smaller values in their routing scores.
31298
+ # Corresponds to the JSON property `equalOrGreaterThan`
31299
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31300
+ attr_accessor :equal_or_greater_than
31301
+
31302
+ #
31303
+ # Corresponds to the JSON property `lessThan`
31304
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31305
+ attr_accessor :less_than
31306
+
31307
+ # This model_config_id points to ModelConfig::id which allows us to find the
31308
+ # ModelConfig to route to. This is part of the banks specified in the
31309
+ # ModelBankConfig.
31310
+ # Corresponds to the JSON property `modelConfigId`
31311
+ # @return [String]
31312
+ attr_accessor :model_config_id
31313
+
31314
+ def initialize(**args)
31315
+ update!(**args)
31316
+ end
31317
+
31318
+ # Update properties of this object
31319
+ def update!(**args)
31320
+ @equal_or_greater_than = args[:equal_or_greater_than] if args.key?(:equal_or_greater_than)
31321
+ @less_than = args[:less_than] if args.key?(:less_than)
31322
+ @model_config_id = args[:model_config_id] if args.key?(:model_config_id)
31323
+ end
31324
+ end
31325
+
31326
+ # Proto containing the results from the Universal Sentence Encoder / Other
31327
+ # models
31328
+ class LearningGenaiRootScoredSimilarityTakedownPhrase
31329
+ include Google::Apis::Core::Hashable
31330
+
31331
+ # Each SimilarityTakedownPhrase treats a logical group of blocked and allowed
31332
+ # phrases together along with a corresponding punt If the closest matching
31333
+ # response is of the allowed type, we allow the response If the closest matching
31334
+ # response is of the blocked type, we block the response. eg: Blocked phrase - "
31335
+ # All lives matter"
31336
+ # Corresponds to the JSON property `phrase`
31337
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootSimilarityTakedownPhrase]
31338
+ attr_accessor :phrase
31339
+
31340
+ #
31341
+ # Corresponds to the JSON property `similarityScore`
31342
+ # @return [Float]
31343
+ attr_accessor :similarity_score
31344
+
31345
+ def initialize(**args)
31346
+ update!(**args)
31347
+ end
31348
+
31349
+ # Update properties of this object
31350
+ def update!(**args)
31351
+ @phrase = args[:phrase] if args.key?(:phrase)
31352
+ @similarity_score = args[:similarity_score] if args.key?(:similarity_score)
31353
+ end
31354
+ end
31355
+
31356
+ # A token with its own score.
31357
+ class LearningGenaiRootScoredToken
31358
+ include Google::Apis::Core::Hashable
31359
+
31360
+ # Each end_token_score is a logprob for how well the completion would end at a
31361
+ # particular token. See http://google3/labs/language/aida/config/proto/
31362
+ # model_config.proto;l=376;rcl=573039459
31363
+ # Corresponds to the JSON property `endTokenScore`
31364
+ # @return [Float]
31365
+ attr_accessor :end_token_score
31366
+
31367
+ # Each score is the logprob for the token in model response.
31368
+ # Corresponds to the JSON property `score`
31369
+ # @return [Float]
31370
+ attr_accessor :score
31371
+
31372
+ #
31373
+ # Corresponds to the JSON property `token`
31374
+ # @return [String]
31375
+ attr_accessor :token
31376
+
31377
+ def initialize(**args)
31378
+ update!(**args)
31379
+ end
31380
+
31381
+ # Update properties of this object
31382
+ def update!(**args)
31383
+ @end_token_score = args[:end_token_score] if args.key?(:end_token_score)
31384
+ @score = args[:score] if args.key?(:score)
31385
+ @token = args[:token] if args.key?(:token)
31386
+ end
31387
+ end
31388
+
31389
+ # Each SimilarityTakedownPhrase treats a logical group of blocked and allowed
31390
+ # phrases together along with a corresponding punt If the closest matching
31391
+ # response is of the allowed type, we allow the response If the closest matching
31392
+ # response is of the blocked type, we block the response. eg: Blocked phrase - "
31393
+ # All lives matter"
31394
+ class LearningGenaiRootSimilarityTakedownPhrase
31395
+ include Google::Apis::Core::Hashable
31396
+
31397
+ #
31398
+ # Corresponds to the JSON property `blockedPhrase`
31399
+ # @return [String]
31400
+ attr_accessor :blocked_phrase
31401
+
31402
+ def initialize(**args)
31403
+ update!(**args)
31404
+ end
31405
+
31406
+ # Update properties of this object
31407
+ def update!(**args)
31408
+ @blocked_phrase = args[:blocked_phrase] if args.key?(:blocked_phrase)
31409
+ end
31410
+ end
31411
+
31412
+ #
31413
+ class LearningGenaiRootSimilarityTakedownResult
31414
+ include Google::Apis::Core::Hashable
31415
+
31416
+ # False when query or response should be taken down by any of the takedown rules,
31417
+ # true otherwise.
31418
+ # Corresponds to the JSON property `allowed`
31419
+ # @return [Boolean]
31420
+ attr_accessor :allowed
31421
+ alias_method :allowed?, :allowed
31422
+
31423
+ # List of similar phrases with score. Set only if allowed=false.
31424
+ # Corresponds to the JSON property `scoredPhrases`
31425
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScoredSimilarityTakedownPhrase>]
31426
+ attr_accessor :scored_phrases
31427
+
31428
+ def initialize(**args)
31429
+ update!(**args)
31430
+ end
31431
+
31432
+ # Update properties of this object
31433
+ def update!(**args)
31434
+ @allowed = args[:allowed] if args.key?(:allowed)
31435
+ @scored_phrases = args[:scored_phrases] if args.key?(:scored_phrases)
31436
+ end
31437
+ end
31438
+
31439
+ #
31440
+ class LearningGenaiRootTakedownResult
31441
+ include Google::Apis::Core::Hashable
31442
+
31443
+ # False when query or response should be taken down by any of the takedown rules,
31444
+ # true otherwise.
31445
+ # Corresponds to the JSON property `allowed`
31446
+ # @return [Boolean]
31447
+ attr_accessor :allowed
31448
+ alias_method :allowed?, :allowed
31449
+
31450
+ #
31451
+ # Corresponds to the JSON property `regexTakedownResult`
31452
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRegexTakedownResult]
31453
+ attr_accessor :regex_takedown_result
31454
+
31455
+ #
31456
+ # Corresponds to the JSON property `requestResponseTakedownResult`
31457
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRequestResponseTakedownResult]
31458
+ attr_accessor :request_response_takedown_result
31459
+
31460
+ #
31461
+ # Corresponds to the JSON property `similarityTakedownResult`
31462
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootSimilarityTakedownResult]
31463
+ attr_accessor :similarity_takedown_result
31464
+
31465
+ def initialize(**args)
31466
+ update!(**args)
31467
+ end
31468
+
31469
+ # Update properties of this object
31470
+ def update!(**args)
31471
+ @allowed = args[:allowed] if args.key?(:allowed)
31472
+ @regex_takedown_result = args[:regex_takedown_result] if args.key?(:regex_takedown_result)
31473
+ @request_response_takedown_result = args[:request_response_takedown_result] if args.key?(:request_response_takedown_result)
31474
+ @similarity_takedown_result = args[:similarity_takedown_result] if args.key?(:similarity_takedown_result)
31475
+ end
31476
+ end
31477
+
31478
+ # The type of score that bundled with a threshold, and will not be attending the
31479
+ # final score calculation. How each score type uses the threshold can be
31480
+ # implementation details.
31481
+ class LearningGenaiRootThresholdType
31482
+ include Google::Apis::Core::Hashable
31483
+
31484
+ #
31485
+ # Corresponds to the JSON property `scoreType`
31486
+ # @return [String]
31487
+ attr_accessor :score_type
31488
+
31489
+ #
31490
+ # Corresponds to the JSON property `threshold`
31491
+ # @return [Float]
31492
+ attr_accessor :threshold
31493
+
31494
+ def initialize(**args)
31495
+ update!(**args)
31496
+ end
31497
+
31498
+ # Update properties of this object
31499
+ def update!(**args)
31500
+ @score_type = args[:score_type] if args.key?(:score_type)
31501
+ @threshold = args[:threshold] if args.key?(:threshold)
31502
+ end
31503
+ end
31504
+
31505
+ # Results of RandomSamplingParams::top_k_logprob_per_decoding_step.
31506
+ class LearningGenaiRootTokensAndLogProbPerDecodingStep
31507
+ include Google::Apis::Core::Hashable
31508
+
31509
+ # Length = total number of decoding steps. The chosen candidates may or may not
31510
+ # be in top_candidates.
31511
+ # Corresponds to the JSON property `chosenCandidates`
31512
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate>]
31513
+ attr_accessor :chosen_candidates
31514
+
31515
+ # Length = total number of decoding steps.
31516
+ # Corresponds to the JSON property `topCandidates`
31517
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates>]
31518
+ attr_accessor :top_candidates
31519
+
31520
+ def initialize(**args)
31521
+ update!(**args)
31522
+ end
31523
+
31524
+ # Update properties of this object
31525
+ def update!(**args)
31526
+ @chosen_candidates = args[:chosen_candidates] if args.key?(:chosen_candidates)
31527
+ @top_candidates = args[:top_candidates] if args.key?(:top_candidates)
31528
+ end
31529
+ end
31530
+
31531
+ # A candidate at a decoding step.
31532
+ class LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate
31533
+ include Google::Apis::Core::Hashable
31534
+
31535
+ # The candidate's log probability.
31536
+ # Corresponds to the JSON property `logProbability`
31537
+ # @return [Float]
31538
+ attr_accessor :log_probability
31539
+
31540
+ # The candidate’s token value.
31541
+ # Corresponds to the JSON property `token`
31542
+ # @return [String]
31543
+ attr_accessor :token
31544
+
31545
+ def initialize(**args)
31546
+ update!(**args)
31547
+ end
31548
+
31549
+ # Update properties of this object
31550
+ def update!(**args)
31551
+ @log_probability = args[:log_probability] if args.key?(:log_probability)
31552
+ @token = args[:token] if args.key?(:token)
31553
+ end
31554
+ end
31555
+
31556
+ # Candidates with top log probabilities at each decoding step.
31557
+ class LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates
31558
+ include Google::Apis::Core::Hashable
31559
+
31560
+ # Sorted by log probability in descending order.
31561
+ # Corresponds to the JSON property `candidates`
31562
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate>]
31563
+ attr_accessor :candidates
31564
+
31565
+ def initialize(**args)
31566
+ update!(**args)
31567
+ end
31568
+
31569
+ # Update properties of this object
31570
+ def update!(**args)
31571
+ @candidates = args[:candidates] if args.key?(:candidates)
31572
+ end
31573
+ end
31574
+
31575
+ # A model can generate multiple signals and this captures all the generated
31576
+ # signals for a single message.
31577
+ class LearningGenaiRootToxicityResult
31578
+ include Google::Apis::Core::Hashable
31579
+
31580
+ #
31581
+ # Corresponds to the JSON property `signals`
31582
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootToxicitySignal>]
31583
+ attr_accessor :signals
31584
+
31585
+ def initialize(**args)
31586
+ update!(**args)
31587
+ end
31588
+
31589
+ # Update properties of this object
31590
+ def update!(**args)
31591
+ @signals = args[:signals] if args.key?(:signals)
31592
+ end
31593
+ end
31594
+
31595
+ # Proto to capture a signal generated by the toxicity model.
31596
+ class LearningGenaiRootToxicitySignal
31597
+ include Google::Apis::Core::Hashable
31598
+
31599
+ #
31600
+ # Corresponds to the JSON property `allowed`
31601
+ # @return [Boolean]
31602
+ attr_accessor :allowed
31603
+ alias_method :allowed?, :allowed
31604
+
31605
+ #
31606
+ # Corresponds to the JSON property `label`
31607
+ # @return [String]
31608
+ attr_accessor :label
31609
+
31610
+ #
31611
+ # Corresponds to the JSON property `score`
31612
+ # @return [Float]
31613
+ attr_accessor :score
31614
+
31615
+ def initialize(**args)
31616
+ update!(**args)
31617
+ end
31618
+
31619
+ # Update properties of this object
31620
+ def update!(**args)
31621
+ @allowed = args[:allowed] if args.key?(:allowed)
31622
+ @label = args[:label] if args.key?(:label)
31623
+ @score = args[:score] if args.key?(:score)
31624
+ end
31625
+ end
31626
+
31627
+ #
31628
+ class LearningServingLlmLanguageFilterResult
31629
+ include Google::Apis::Core::Hashable
31630
+
31631
+ # False when query or response should be filtered out due to unsupported
31632
+ # language.
31633
+ # Corresponds to the JSON property `allowed`
31634
+ # @return [Boolean]
31635
+ attr_accessor :allowed
31636
+ alias_method :allowed?, :allowed
31637
+
31638
+ # Language of the query or response.
31639
+ # Corresponds to the JSON property `detectedLanguage`
31640
+ # @return [String]
31641
+ attr_accessor :detected_language
31642
+
31643
+ # Probability of the language predicted as returned by LangID.
31644
+ # Corresponds to the JSON property `detectedLanguageProbability`
31645
+ # @return [Float]
31646
+ attr_accessor :detected_language_probability
31647
+
31648
+ def initialize(**args)
31649
+ update!(**args)
31650
+ end
31651
+
31652
+ # Update properties of this object
31653
+ def update!(**args)
31654
+ @allowed = args[:allowed] if args.key?(:allowed)
31655
+ @detected_language = args[:detected_language] if args.key?(:detected_language)
31656
+ @detected_language_probability = args[:detected_language_probability] if args.key?(:detected_language_probability)
31657
+ end
31658
+ end
31659
+
31660
+ # LINT.IfChange This metadata contains additional information required for
31661
+ # debugging.
31662
+ class LearningServingLlmMessageMetadata
31663
+ include Google::Apis::Core::Hashable
31664
+
31665
+ # Summary of classifier output. We attach this to all messages regardless of
31666
+ # whether classification rules triggered or not.
31667
+ # Corresponds to the JSON property `classifierSummary`
31668
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierOutputSummary]
31669
+ attr_accessor :classifier_summary
31670
+
31671
+ #
31672
+ # Corresponds to the JSON property `currentStreamTextLength`
31673
+ # @return [Fixnum]
31674
+ attr_accessor :current_stream_text_length
31675
+
31676
+ # Whether the corresponding message has been deleted.
31677
+ # Corresponds to the JSON property `deleted`
31678
+ # @return [Boolean]
31679
+ attr_accessor :deleted
31680
+ alias_method :deleted?, :deleted
31681
+
31682
+ # Metadata for filters that triggered.
31683
+ # Corresponds to the JSON property `filterMeta`
31684
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootFilterMetadata>]
31685
+ attr_accessor :filter_meta
31686
+
31687
+ # This score is finally used for ranking the message. This will be same as the
31688
+ # score present in `Message.score` field.
31689
+ # Corresponds to the JSON property `finalMessageScore`
31690
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31691
+ attr_accessor :final_message_score
31692
+
31693
+ # NOT YET IMPLEMENTED.
31694
+ # Corresponds to the JSON property `finishReason`
31695
+ # @return [String]
31696
+ attr_accessor :finish_reason
31697
+
31698
+ # Applies to Response message only. Indicates whether the message is a fallback
31699
+ # and the response would have otherwise been empty.
31700
+ # Corresponds to the JSON property `isFallback`
31701
+ # @return [Boolean]
31702
+ attr_accessor :is_fallback
31703
+ alias_method :is_fallback?, :is_fallback
31704
+
31705
+ # Result from nlp_saft DetectLanguage method. Currently the predicted language
31706
+ # code and language probability is used.
31707
+ # Corresponds to the JSON property `langidResult`
31708
+ # @return [Google::Apis::AiplatformV1beta1::NlpSaftLangIdResult]
31709
+ attr_accessor :langid_result
31710
+
31711
+ # Detected language.
31712
+ # Corresponds to the JSON property `language`
31713
+ # @return [String]
31714
+ attr_accessor :language
31715
+
31716
+ # The LM prefix used to generate this response.
31717
+ # Corresponds to the JSON property `lmPrefix`
31718
+ # @return [String]
31719
+ attr_accessor :lm_prefix
31720
+
31721
+ # The original text generated by LLM. This is the raw output for debugging
31722
+ # purposes.
31723
+ # Corresponds to the JSON property `originalText`
31724
+ # @return [String]
31725
+ attr_accessor :original_text
31726
+
31727
+ # NOT YET IMPLEMENTED. Applies to streaming only. Number of tokens decoded /
31728
+ # emitted by the model as part of this stream. This may be different from
31729
+ # token_count, which contains number of tokens returned in this response after
31730
+ # any response rewriting / truncation.
31731
+ # Corresponds to the JSON property `perStreamDecodedTokenCount`
31732
+ # @return [Fixnum]
31733
+ attr_accessor :per_stream_decoded_token_count
31734
+
31735
+ # Results of running RAI on the query or this response candidate. One output per
31736
+ # rai_config. It will be populated regardless of whether the threshold is
31737
+ # exceeded or not.
31738
+ # Corresponds to the JSON property `raiOutputs`
31739
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRaiOutput>]
31740
+ attr_accessor :rai_outputs
31741
+
31742
+ # The recitation result for one input
31743
+ # Corresponds to the JSON property `recitationResult`
31744
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRecitationRecitationResult]
31745
+ attr_accessor :recitation_result
31746
+
31747
+ # NOT YET IMPLEMENTED. Number of tokens returned as part of this candidate.
31748
+ # Corresponds to the JSON property `returnTokenCount`
31749
+ # @return [Fixnum]
31750
+ attr_accessor :return_token_count
31751
+
31752
+ # All the different scores for a message are logged here.
31753
+ # Corresponds to the JSON property `scores`
31754
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScore>]
31755
+ attr_accessor :scores
31756
+
31757
+ # Whether the response is terminated during streaming return. Only used for
31758
+ # streaming requests.
31759
+ # Corresponds to the JSON property `streamTerminated`
31760
+ # @return [Boolean]
31761
+ attr_accessor :stream_terminated
31762
+ alias_method :stream_terminated?, :stream_terminated
31763
+
31764
+ # NOT YET IMPLEMENTED. Aggregated number of total tokens decoded so far. For
31765
+ # streaming, this is sum of all the tokens decoded so far i.e. aggregated count.
31766
+ # Corresponds to the JSON property `totalDecodedTokenCount`
31767
+ # @return [Fixnum]
31768
+ attr_accessor :total_decoded_token_count
31769
+
31770
+ # Translated user-prompt used for RAI post processing. This is for internal
31771
+ # processing only. We will translate in pre-processor and pass the translated
31772
+ # text to the post processor using this field. It will be empty if non of the
31773
+ # signals requested need translation.
31774
+ # Corresponds to the JSON property `translatedUserPrompts`
31775
+ # @return [Array<String>]
31776
+ attr_accessor :translated_user_prompts
31777
+
31778
+ # The RAI results for a given text.
31779
+ # Corresponds to the JSON property `vertexRaiResult`
31780
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiResult]
31781
+ attr_accessor :vertex_rai_result
31782
+
31783
+ def initialize(**args)
31784
+ update!(**args)
31785
+ end
31786
+
31787
+ # Update properties of this object
31788
+ def update!(**args)
31789
+ @classifier_summary = args[:classifier_summary] if args.key?(:classifier_summary)
31790
+ @current_stream_text_length = args[:current_stream_text_length] if args.key?(:current_stream_text_length)
31791
+ @deleted = args[:deleted] if args.key?(:deleted)
31792
+ @filter_meta = args[:filter_meta] if args.key?(:filter_meta)
31793
+ @final_message_score = args[:final_message_score] if args.key?(:final_message_score)
31794
+ @finish_reason = args[:finish_reason] if args.key?(:finish_reason)
31795
+ @is_fallback = args[:is_fallback] if args.key?(:is_fallback)
31796
+ @langid_result = args[:langid_result] if args.key?(:langid_result)
31797
+ @language = args[:language] if args.key?(:language)
31798
+ @lm_prefix = args[:lm_prefix] if args.key?(:lm_prefix)
31799
+ @original_text = args[:original_text] if args.key?(:original_text)
31800
+ @per_stream_decoded_token_count = args[:per_stream_decoded_token_count] if args.key?(:per_stream_decoded_token_count)
31801
+ @rai_outputs = args[:rai_outputs] if args.key?(:rai_outputs)
31802
+ @recitation_result = args[:recitation_result] if args.key?(:recitation_result)
31803
+ @return_token_count = args[:return_token_count] if args.key?(:return_token_count)
31804
+ @scores = args[:scores] if args.key?(:scores)
31805
+ @stream_terminated = args[:stream_terminated] if args.key?(:stream_terminated)
31806
+ @total_decoded_token_count = args[:total_decoded_token_count] if args.key?(:total_decoded_token_count)
31807
+ @translated_user_prompts = args[:translated_user_prompts] if args.key?(:translated_user_prompts)
31808
+ @vertex_rai_result = args[:vertex_rai_result] if args.key?(:vertex_rai_result)
31809
+ end
31810
+ end
31811
+
31812
+ #
31813
+ class NlpSaftLangIdLocalesResult
31814
+ include Google::Apis::Core::Hashable
31815
+
31816
+ # List of locales in which the text would be considered acceptable. Sorted in
31817
+ # descending order according to each locale's respective likelihood. For example,
31818
+ # if a Portuguese text is acceptable in both Brazil and Portugal, but is more
31819
+ # strongly associated with Brazil, then the predictions would be ["pt-BR", "pt-
31820
+ # PT"], in that order. May be empty, indicating that the model did not predict
31821
+ # any acceptable locales.
31822
+ # Corresponds to the JSON property `predictions`
31823
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLangIdLocalesResultLocale>]
31824
+ attr_accessor :predictions
31825
+
31826
+ def initialize(**args)
31827
+ update!(**args)
31828
+ end
31829
+
31830
+ # Update properties of this object
31831
+ def update!(**args)
31832
+ @predictions = args[:predictions] if args.key?(:predictions)
31833
+ end
31834
+ end
31835
+
31836
+ #
31837
+ class NlpSaftLangIdLocalesResultLocale
31838
+ include Google::Apis::Core::Hashable
31839
+
31840
+ # A BCP 47 language code that includes region information. For example, "pt-BR"
31841
+ # or "pt-PT". This field will always be populated.
31842
+ # Corresponds to the JSON property `languageCode`
31843
+ # @return [String]
31844
+ attr_accessor :language_code
31845
+
31846
+ def initialize(**args)
31847
+ update!(**args)
31848
+ end
31849
+
31850
+ # Update properties of this object
31851
+ def update!(**args)
31852
+ @language_code = args[:language_code] if args.key?(:language_code)
31853
+ end
31854
+ end
31855
+
31856
+ #
31857
+ class NlpSaftLangIdResult
31858
+ include Google::Apis::Core::Hashable
31859
+
31860
+ # The version of the model used to create these annotations.
31861
+ # Corresponds to the JSON property `modelVersion`
31862
+ # @return [String]
31863
+ attr_accessor :model_version
31864
+
31865
+ # This field stores the n-best list of possible BCP 47 language code strings for
31866
+ # a given input sorted in descending order according to each code's respective
31867
+ # probability.
31868
+ # Corresponds to the JSON property `predictions`
31869
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpan>]
31870
+ attr_accessor :predictions
31871
+
31872
+ # This field stores language predictions of subspans of the input, when
31873
+ # available. Each LanguageSpanSequence is a sequence of LanguageSpans. A
31874
+ # particular sequence of LanguageSpans has an associated probability, and need
31875
+ # not necessarily cover the entire input. If no language could be predicted for
31876
+ # any span, then this field may be empty.
31877
+ # Corresponds to the JSON property `spanPredictions`
31878
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpanSequence>]
31879
+ attr_accessor :span_predictions
31880
+
31881
+ def initialize(**args)
31882
+ update!(**args)
31883
+ end
31884
+
31885
+ # Update properties of this object
31886
+ def update!(**args)
31887
+ @model_version = args[:model_version] if args.key?(:model_version)
31888
+ @predictions = args[:predictions] if args.key?(:predictions)
31889
+ @span_predictions = args[:span_predictions] if args.key?(:span_predictions)
31890
+ end
31891
+ end
31892
+
31893
+ #
31894
+ class NlpSaftLanguageSpan
31895
+ include Google::Apis::Core::Hashable
31896
+
31897
+ #
31898
+ # Corresponds to the JSON property `end`
31899
+ # @return [Fixnum]
31900
+ attr_accessor :end
31901
+
31902
+ # A BCP 47 language code for this span.
31903
+ # Corresponds to the JSON property `languageCode`
31904
+ # @return [String]
31905
+ attr_accessor :language_code
31906
+
31907
+ # Optional field containing any information that was predicted about the
31908
+ # specific locale(s) of the span.
31909
+ # Corresponds to the JSON property `locales`
31910
+ # @return [Google::Apis::AiplatformV1beta1::NlpSaftLangIdLocalesResult]
31911
+ attr_accessor :locales
31912
+
31913
+ # A probability associated with this prediction.
31914
+ # Corresponds to the JSON property `probability`
31915
+ # @return [Float]
31916
+ attr_accessor :probability
31917
+
31918
+ # Start and end byte offsets, inclusive, within the given input string. A value
31919
+ # of -1 implies that this field is not set. Both fields must either be set with
31920
+ # a nonnegative value or both are unset. If both are unset then this
31921
+ # LanguageSpan applies to the entire input.
31922
+ # Corresponds to the JSON property `start`
31923
+ # @return [Fixnum]
31924
+ attr_accessor :start
31925
+
31926
+ def initialize(**args)
31927
+ update!(**args)
31928
+ end
31929
+
31930
+ # Update properties of this object
31931
+ def update!(**args)
31932
+ @end = args[:end] if args.key?(:end)
31933
+ @language_code = args[:language_code] if args.key?(:language_code)
31934
+ @locales = args[:locales] if args.key?(:locales)
31935
+ @probability = args[:probability] if args.key?(:probability)
31936
+ @start = args[:start] if args.key?(:start)
31937
+ end
31938
+ end
31939
+
31940
+ #
31941
+ class NlpSaftLanguageSpanSequence
31942
+ include Google::Apis::Core::Hashable
31943
+
31944
+ # A sequence of LanguageSpan objects, each assigning a language to a subspan of
31945
+ # the input.
31946
+ # Corresponds to the JSON property `languageSpans`
31947
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpan>]
31948
+ attr_accessor :language_spans
31949
+
31950
+ # The probability of this sequence of LanguageSpans.
31951
+ # Corresponds to the JSON property `probability`
31952
+ # @return [Float]
31953
+ attr_accessor :probability
31954
+
31955
+ def initialize(**args)
31956
+ update!(**args)
31957
+ end
31958
+
31959
+ # Update properties of this object
31960
+ def update!(**args)
31961
+ @language_spans = args[:language_spans] if args.key?(:language_spans)
31962
+ @probability = args[:probability] if args.key?(:probability)
31963
+ end
31964
+ end
31965
+
31966
+ # This is proto2's version of MessageSet.
31967
+ class Proto2BridgeMessageSet
31968
+ include Google::Apis::Core::Hashable
31969
+
31970
+ def initialize(**args)
31971
+ update!(**args)
31972
+ end
31973
+
31974
+ # Update properties of this object
31975
+ def update!(**args)
31976
+ end
31977
+ end
31978
+
31979
+ # Wire-format for a Status object
31980
+ class UtilStatusProto
31981
+ include Google::Apis::Core::Hashable
31982
+
31983
+ # The canonical error code (see codes.proto) that most closely corresponds to
31984
+ # this status. This may be missing, and in the common case of the generic space,
31985
+ # it definitely will be.
31986
+ # Corresponds to the JSON property `canonicalCode`
31987
+ # @return [Fixnum]
31988
+ attr_accessor :canonical_code
31989
+
31990
+ # Numeric code drawn from the space specified below. Often, this is the
31991
+ # canonical error space, and code is drawn from google3/util/task/codes.proto
31992
+ # Corresponds to the JSON property `code`
31993
+ # @return [Fixnum]
31994
+ attr_accessor :code
31995
+
31996
+ # Detail message
31997
+ # Corresponds to the JSON property `message`
31998
+ # @return [String]
31999
+ attr_accessor :message
32000
+
32001
+ # This is proto2's version of MessageSet.
32002
+ # Corresponds to the JSON property `messageSet`
32003
+ # @return [Google::Apis::AiplatformV1beta1::Proto2BridgeMessageSet]
32004
+ attr_accessor :message_set
32005
+
32006
+ # The following are usually only present when code != 0 Space to which this
32007
+ # status belongs
32008
+ # Corresponds to the JSON property `space`
32009
+ # @return [String]
32010
+ attr_accessor :space
32011
+
32012
+ def initialize(**args)
32013
+ update!(**args)
32014
+ end
32015
+
32016
+ # Update properties of this object
32017
+ def update!(**args)
32018
+ @canonical_code = args[:canonical_code] if args.key?(:canonical_code)
32019
+ @code = args[:code] if args.key?(:code)
32020
+ @message = args[:message] if args.key?(:message)
32021
+ @message_set = args[:message_set] if args.key?(:message_set)
32022
+ @space = args[:space] if args.key?(:space)
32023
+ end
32024
+ end
29377
32025
  end
29378
32026
  end
29379
32027
  end