google-apis-aiplatform_v1beta1 0.14.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -463,6 +463,12 @@ module Google
463
463
  # @return [String]
464
464
  attr_accessor :finish_reason
465
465
 
466
+ # Grounding metadata. Combine with the facts list from response to generate
467
+ # grounding citations for this choice.
468
+ # Corresponds to the JSON property `groundingMetadata`
469
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootGroundingMetadata]
470
+ attr_accessor :grounding_metadata
471
+
466
472
  # Index of the candidate.
467
473
  # Corresponds to the JSON property `index`
468
474
  # @return [Fixnum]
@@ -483,6 +489,7 @@ module Google
483
489
  @content = args[:content] if args.key?(:content)
484
490
  @finish_message = args[:finish_message] if args.key?(:finish_message)
485
491
  @finish_reason = args[:finish_reason] if args.key?(:finish_reason)
492
+ @grounding_metadata = args[:grounding_metadata] if args.key?(:grounding_metadata)
486
493
  @index = args[:index] if args.key?(:index)
487
494
  @safety_ratings = args[:safety_ratings] if args.key?(:safety_ratings)
488
495
  end
@@ -588,6 +595,45 @@ module Google
588
595
  end
589
596
  end
590
597
 
598
+ # A condense version of WorldFact (assistant/boq/lamda/factuality/proto/
599
+ # factuality.proto) to propagate the essential information about the fact used
600
+ # in factuality to the upstream caller.
601
+ class CloudAiNlLlmProtoServiceFact
602
+ include Google::Apis::Core::Hashable
603
+
604
+ # Query that is used to retrieve this fact.
605
+ # Corresponds to the JSON property `query`
606
+ # @return [String]
607
+ attr_accessor :query
608
+
609
+ # If present, the summary/snippet of the fact.
610
+ # Corresponds to the JSON property `summary`
611
+ # @return [String]
612
+ attr_accessor :summary
613
+
614
+ # If present, it refers to the title of this fact.
615
+ # Corresponds to the JSON property `title`
616
+ # @return [String]
617
+ attr_accessor :title
618
+
619
+ # If present, this URL links to the webpage of the fact.
620
+ # Corresponds to the JSON property `url`
621
+ # @return [String]
622
+ attr_accessor :url
623
+
624
+ def initialize(**args)
625
+ update!(**args)
626
+ end
627
+
628
+ # Update properties of this object
629
+ def update!(**args)
630
+ @query = args[:query] if args.key?(:query)
631
+ @summary = args[:summary] if args.key?(:summary)
632
+ @title = args[:title] if args.key?(:title)
633
+ @url = args[:url] if args.key?(:url)
634
+ end
635
+ end
636
+
591
637
  # Function call details.
592
638
  class CloudAiNlLlmProtoServiceFunctionCall
593
639
  include Google::Apis::Core::Hashable
@@ -647,6 +693,17 @@ module Google
647
693
  # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceCandidate>]
648
694
  attr_accessor :candidates
649
695
 
696
+ # Debug information containing message metadata. Clients should not consume this
697
+ # field, and this is only populated for Flow Runner path.
698
+ # Corresponds to the JSON property `debugMetadata`
699
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceMessageMetadata]
700
+ attr_accessor :debug_metadata
701
+
702
+ # External facts retrieved for factuality/grounding.
703
+ # Corresponds to the JSON property `facts`
704
+ # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceFact>]
705
+ attr_accessor :facts
706
+
650
707
  # Content filter results for a prompt sent in the request.
651
708
  # Corresponds to the JSON property `promptFeedback`
652
709
  # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServicePromptFeedback]
@@ -669,12 +726,47 @@ module Google
669
726
  # Update properties of this object
670
727
  def update!(**args)
671
728
  @candidates = args[:candidates] if args.key?(:candidates)
729
+ @debug_metadata = args[:debug_metadata] if args.key?(:debug_metadata)
730
+ @facts = args[:facts] if args.key?(:facts)
672
731
  @prompt_feedback = args[:prompt_feedback] if args.key?(:prompt_feedback)
673
732
  @reporting_metrics = args[:reporting_metrics] if args.key?(:reporting_metrics)
674
733
  @usage_metadata = args[:usage_metadata] if args.key?(:usage_metadata)
675
734
  end
676
735
  end
677
736
 
737
+ #
738
+ class CloudAiNlLlmProtoServiceMessageMetadata
739
+ include Google::Apis::Core::Hashable
740
+
741
+ # LINT.IfChange This metadata contains additional information required for
742
+ # debugging.
743
+ # Corresponds to the JSON property `inputFilterInfo`
744
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmMessageMetadata]
745
+ attr_accessor :input_filter_info
746
+
747
+ # Holds the final routing decision, by storing the model_config_id. And
748
+ # individual scores each model got.
749
+ # Corresponds to the JSON property `modelRoutingDecision`
750
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecision]
751
+ attr_accessor :model_routing_decision
752
+
753
+ # Filter metadata of the output messages.
754
+ # Corresponds to the JSON property `outputFilterInfo`
755
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningServingLlmMessageMetadata>]
756
+ attr_accessor :output_filter_info
757
+
758
+ def initialize(**args)
759
+ update!(**args)
760
+ end
761
+
762
+ # Update properties of this object
763
+ def update!(**args)
764
+ @input_filter_info = args[:input_filter_info] if args.key?(:input_filter_info)
765
+ @model_routing_decision = args[:model_routing_decision] if args.key?(:model_routing_decision)
766
+ @output_filter_info = args[:output_filter_info] if args.key?(:output_filter_info)
767
+ end
768
+ end
769
+
678
770
  # A single part of a message.
679
771
  class CloudAiNlLlmProtoServicePart
680
772
  include Google::Apis::Core::Hashable
@@ -790,6 +882,11 @@ module Google
790
882
  # @return [String]
791
883
  attr_accessor :end_offset
792
884
 
885
+ # Internal only fields
886
+ # Corresponds to the JSON property `modelLevelMetaData`
887
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServicePartVideoMetadataModelLevelMetadata]
888
+ attr_accessor :model_level_meta_data
889
+
793
890
  # The start offset of the video.
794
891
  # Corresponds to the JSON property `startOffset`
795
892
  # @return [String]
@@ -802,10 +899,36 @@ module Google
802
899
  # Update properties of this object
803
900
  def update!(**args)
804
901
  @end_offset = args[:end_offset] if args.key?(:end_offset)
902
+ @model_level_meta_data = args[:model_level_meta_data] if args.key?(:model_level_meta_data)
805
903
  @start_offset = args[:start_offset] if args.key?(:start_offset)
806
904
  end
807
905
  end
808
906
 
907
+ # Internal only fields
908
+ class CloudAiNlLlmProtoServicePartVideoMetadataModelLevelMetadata
909
+ include Google::Apis::Core::Hashable
910
+
911
+ # Frame rate to decode from this video.
912
+ # Corresponds to the JSON property `fps`
913
+ # @return [Float]
914
+ attr_accessor :fps
915
+
916
+ # Number of frames to decode from this video.
917
+ # Corresponds to the JSON property `numFrames`
918
+ # @return [Fixnum]
919
+ attr_accessor :num_frames
920
+
921
+ def initialize(**args)
922
+ update!(**args)
923
+ end
924
+
925
+ # Update properties of this object
926
+ def update!(**args)
927
+ @fps = args[:fps] if args.key?(:fps)
928
+ @num_frames = args[:num_frames] if args.key?(:num_frames)
929
+ end
930
+ end
931
+
809
932
  # Content filter results for a prompt sent in the request.
810
933
  class CloudAiNlLlmProtoServicePromptFeedback
811
934
  include Google::Apis::Core::Hashable
@@ -837,6 +960,122 @@ module Google
837
960
  end
838
961
  end
839
962
 
963
+ # The RAI results for a given text.
964
+ class CloudAiNlLlmProtoServiceRaiResult
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # The recitation result for one input
968
+ # Corresponds to the JSON property `aidaRecitationResult`
969
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoRecitationResult]
970
+ attr_accessor :aida_recitation_result
971
+
972
+ # Use `triggered_blocklist`.
973
+ # Corresponds to the JSON property `blocked`
974
+ # @return [Boolean]
975
+ attr_accessor :blocked
976
+ alias_method :blocked?, :blocked
977
+
978
+ # The error codes indicate which RAI filters block the response.
979
+ # Corresponds to the JSON property `errorCodes`
980
+ # @return [Array<Fixnum>]
981
+ attr_accessor :error_codes
982
+
983
+ # Whether the text should be filtered and not shown to the end user. This is
984
+ # determined based on a combination of `triggered_recitation`, `
985
+ # triggered_blocklist`, `language_filter_result`, and `triggered_safety_filter`.
986
+ # Corresponds to the JSON property `filtered`
987
+ # @return [Boolean]
988
+ attr_accessor :filtered
989
+ alias_method :filtered?, :filtered
990
+
991
+ # Language filter result from SAFT LangId.
992
+ # Corresponds to the JSON property `languageFilterResult`
993
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootLanguageFilterResult]
994
+ attr_accessor :language_filter_result
995
+
996
+ # The RAI signals for the text.
997
+ # Corresponds to the JSON property `raiSignals`
998
+ # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiSignal>]
999
+ attr_accessor :rai_signals
1000
+
1001
+ # Whether the text triggered the blocklist.
1002
+ # Corresponds to the JSON property `triggeredBlocklist`
1003
+ # @return [Boolean]
1004
+ attr_accessor :triggered_blocklist
1005
+ alias_method :triggered_blocklist?, :triggered_blocklist
1006
+
1007
+ # Whether the text should be blocked by the recitation result from Aida
1008
+ # recitation checker. It is determined from aida_recitation_result.
1009
+ # Corresponds to the JSON property `triggeredRecitation`
1010
+ # @return [Boolean]
1011
+ attr_accessor :triggered_recitation
1012
+ alias_method :triggered_recitation?, :triggered_recitation
1013
+
1014
+ # Whether the text triggered the safety filter. Currently, this is due to CSAI
1015
+ # triggering or one of four categories (derogatory, sexual, toxic, violent)
1016
+ # having a score over the filter threshold.
1017
+ # Corresponds to the JSON property `triggeredSafetyFilter`
1018
+ # @return [Boolean]
1019
+ attr_accessor :triggered_safety_filter
1020
+ alias_method :triggered_safety_filter?, :triggered_safety_filter
1021
+
1022
+ def initialize(**args)
1023
+ update!(**args)
1024
+ end
1025
+
1026
+ # Update properties of this object
1027
+ def update!(**args)
1028
+ @aida_recitation_result = args[:aida_recitation_result] if args.key?(:aida_recitation_result)
1029
+ @blocked = args[:blocked] if args.key?(:blocked)
1030
+ @error_codes = args[:error_codes] if args.key?(:error_codes)
1031
+ @filtered = args[:filtered] if args.key?(:filtered)
1032
+ @language_filter_result = args[:language_filter_result] if args.key?(:language_filter_result)
1033
+ @rai_signals = args[:rai_signals] if args.key?(:rai_signals)
1034
+ @triggered_blocklist = args[:triggered_blocklist] if args.key?(:triggered_blocklist)
1035
+ @triggered_recitation = args[:triggered_recitation] if args.key?(:triggered_recitation)
1036
+ @triggered_safety_filter = args[:triggered_safety_filter] if args.key?(:triggered_safety_filter)
1037
+ end
1038
+ end
1039
+
1040
+ # An RAI signal for a single category.
1041
+ class CloudAiNlLlmProtoServiceRaiSignal
1042
+ include Google::Apis::Core::Hashable
1043
+
1044
+ # The confidence level for the RAI category.
1045
+ # Corresponds to the JSON property `confidence`
1046
+ # @return [String]
1047
+ attr_accessor :confidence
1048
+
1049
+ # Whether the category is flagged as being present. Currently, this is set to
1050
+ # true if score >= 0.5.
1051
+ # Corresponds to the JSON property `flagged`
1052
+ # @return [Boolean]
1053
+ attr_accessor :flagged
1054
+ alias_method :flagged?, :flagged
1055
+
1056
+ # The RAI category.
1057
+ # Corresponds to the JSON property `raiCategory`
1058
+ # @return [String]
1059
+ attr_accessor :rai_category
1060
+
1061
+ # The score for the category, in the range [0.0, 1.0].
1062
+ # Corresponds to the JSON property `score`
1063
+ # @return [Float]
1064
+ attr_accessor :score
1065
+
1066
+ def initialize(**args)
1067
+ update!(**args)
1068
+ end
1069
+
1070
+ # Update properties of this object
1071
+ def update!(**args)
1072
+ @confidence = args[:confidence] if args.key?(:confidence)
1073
+ @flagged = args[:flagged] if args.key?(:flagged)
1074
+ @rai_category = args[:rai_category] if args.key?(:rai_category)
1075
+ @score = args[:score] if args.key?(:score)
1076
+ end
1077
+ end
1078
+
840
1079
  # Safety rating corresponding to the generated content.
841
1080
  class CloudAiNlLlmProtoServiceSafetyRating
842
1081
  include Google::Apis::Core::Hashable
@@ -3604,25 +3843,6 @@ module Google
3604
3843
  end
3605
3844
  end
3606
3845
 
3607
- # Details of ExtensionRegistryService.CreateExtensionDeployment operation.
3608
- class GoogleCloudAiplatformV1beta1CreateExtensionDeploymentOperationMetadata
3609
- include Google::Apis::Core::Hashable
3610
-
3611
- # Generic Metadata shared by all operations.
3612
- # Corresponds to the JSON property `genericMetadata`
3613
- # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenericOperationMetadata]
3614
- attr_accessor :generic_metadata
3615
-
3616
- def initialize(**args)
3617
- update!(**args)
3618
- end
3619
-
3620
- # Update properties of this object
3621
- def update!(**args)
3622
- @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
3623
- end
3624
- end
3625
-
3626
3846
  # Details of operations that perform create FeatureGroup.
3627
3847
  class GoogleCloudAiplatformV1beta1CreateFeatureGroupOperationMetadata
3628
3848
  include Google::Apis::Core::Hashable
@@ -3849,6 +4069,11 @@ module Google
3849
4069
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenericOperationMetadata]
3850
4070
  attr_accessor :generic_metadata
3851
4071
 
4072
+ # Progress Message for Create LRO
4073
+ # Corresponds to the JSON property `progressMessage`
4074
+ # @return [String]
4075
+ attr_accessor :progress_message
4076
+
3852
4077
  def initialize(**args)
3853
4078
  update!(**args)
3854
4079
  end
@@ -3856,6 +4081,7 @@ module Google
3856
4081
  # Update properties of this object
3857
4082
  def update!(**args)
3858
4083
  @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
4084
+ @progress_message = args[:progress_message] if args.key?(:progress_message)
3859
4085
  end
3860
4086
  end
3861
4087
 
@@ -3882,6 +4108,13 @@ module Google
3882
4108
  # @return [String]
3883
4109
  attr_accessor :pipeline_job_id
3884
4110
 
4111
+ # Optional. Whether to do component level validations before job creation.
4112
+ # Currently we only support Google First Party Component/Pipelines.
4113
+ # Corresponds to the JSON property `preflightValidations`
4114
+ # @return [Boolean]
4115
+ attr_accessor :preflight_validations
4116
+ alias_method :preflight_validations?, :preflight_validations
4117
+
3885
4118
  def initialize(**args)
3886
4119
  update!(**args)
3887
4120
  end
@@ -3891,6 +4124,7 @@ module Google
3891
4124
  @parent = args[:parent] if args.key?(:parent)
3892
4125
  @pipeline_job = args[:pipeline_job] if args.key?(:pipeline_job)
3893
4126
  @pipeline_job_id = args[:pipeline_job_id] if args.key?(:pipeline_job_id)
4127
+ @preflight_validations = args[:preflight_validations] if args.key?(:preflight_validations)
3894
4128
  end
3895
4129
  end
3896
4130
 
@@ -6623,8 +6857,15 @@ module Google
6623
6857
  # Models that predict multiple outputs, such as multiclass Models that predict
6624
6858
  # multiple classes, each element explains one specific item. Attribution.
6625
6859
  # output_index can be used to identify which output this attribution is
6626
- # explaining. If users set ExplanationParameters.top_k, the attributions are
6627
- # sorted by instance_output_value in descending order. If ExplanationParameters.
6860
+ # explaining. By default, we provide Shapley values for the predicted class.
6861
+ # However, you can configure the explanation request to generate Shapley values
6862
+ # for any other classes too. For example, if a model predicts a probability of `
6863
+ # 0.4` for approving a loan application, the model's decision is to reject the
6864
+ # application since `p(reject) = 0.6 > p(approve) = 0.4`, and the default
6865
+ # Shapley values would be computed for rejection decision and not approval, even
6866
+ # though the latter might be the positive class. If users set
6867
+ # ExplanationParameters.top_k, the attributions are sorted by
6868
+ # instance_output_value in descending order. If ExplanationParameters.
6628
6869
  # output_indices is specified, the attributions are stored by Attribution.
6629
6870
  # output_index in the same order as they appear in the output_indices.
6630
6871
  # Corresponds to the JSON property `attributions`
@@ -7964,7 +8205,8 @@ module Google
7964
8205
 
7965
8206
  # The dedicated serving endpoint for this FeatureOnlineStore. Only need to set
7966
8207
  # when you choose Optimized storage type or enable EmbeddingManagement. Will use
7967
- # public endpoint by default.
8208
+ # public endpoint by default. Note, for EmbeddingManagement use case, only [
8209
+ # DedicatedServingEndpoint.public_endpoint_domain_name] is available now.
7968
8210
  # Corresponds to the JSON property `dedicatedServingEndpoint`
7969
8211
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint]
7970
8212
  attr_accessor :dedicated_serving_endpoint
@@ -8091,7 +8333,8 @@ module Google
8091
8333
 
8092
8334
  # The dedicated serving endpoint for this FeatureOnlineStore. Only need to set
8093
8335
  # when you choose Optimized storage type or enable EmbeddingManagement. Will use
8094
- # public endpoint by default.
8336
+ # public endpoint by default. Note, for EmbeddingManagement use case, only [
8337
+ # DedicatedServingEndpoint.public_endpoint_domain_name] is available now.
8095
8338
  class GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint
8096
8339
  include Google::Apis::Core::Hashable
8097
8340
 
@@ -9645,12 +9888,6 @@ module Google
9645
9888
  # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1Content>]
9646
9889
  attr_accessor :contents
9647
9890
 
9648
- # Required. The name of the Endpoint requested to serve the prediction. Format: `
9649
- # projects/`project`/locations/`location`/endpoints/`endpoint``
9650
- # Corresponds to the JSON property `endpoint`
9651
- # @return [String]
9652
- attr_accessor :endpoint
9653
-
9654
9891
  # Generation config.
9655
9892
  # Corresponds to the JSON property `generationConfig`
9656
9893
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenerationConfig]
@@ -9677,7 +9914,6 @@ module Google
9677
9914
  # Update properties of this object
9678
9915
  def update!(**args)
9679
9916
  @contents = args[:contents] if args.key?(:contents)
9680
- @endpoint = args[:endpoint] if args.key?(:endpoint)
9681
9917
  @generation_config = args[:generation_config] if args.key?(:generation_config)
9682
9918
  @safety_settings = args[:safety_settings] if args.key?(:safety_settings)
9683
9919
  @tools = args[:tools] if args.key?(:tools)
@@ -10764,6 +11000,12 @@ module Google
10764
11000
  # @return [String]
10765
11001
  attr_accessor :match_grpc_address
10766
11002
 
11003
+ # Output only. PscAutomatedEndpoints is populated if private service connect is
11004
+ # enabled if PscAutomatedConfig is set.
11005
+ # Corresponds to the JSON property `pscAutomatedEndpoints`
11006
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PscAutomatedEndpoints>]
11007
+ attr_accessor :psc_automated_endpoints
11008
+
10767
11009
  # Output only. The name of the service attachment resource. Populated if private
10768
11010
  # service connect is enabled.
10769
11011
  # Corresponds to the JSON property `serviceAttachment`
@@ -10777,6 +11019,7 @@ module Google
10777
11019
  # Update properties of this object
10778
11020
  def update!(**args)
10779
11021
  @match_grpc_address = args[:match_grpc_address] if args.key?(:match_grpc_address)
11022
+ @psc_automated_endpoints = args[:psc_automated_endpoints] if args.key?(:psc_automated_endpoints)
10780
11023
  @service_attachment = args[:service_attachment] if args.key?(:service_attachment)
10781
11024
  end
10782
11025
  end
@@ -16405,6 +16648,11 @@ module Google
16405
16648
  class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig
16406
16649
  include Google::Apis::Core::Hashable
16407
16650
 
16651
+ # The default runtime for the PipelineJob.
16652
+ # Corresponds to the JSON property `defaultRuntime`
16653
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime]
16654
+ attr_accessor :default_runtime
16655
+
16408
16656
  # Represents the failure policy of a pipeline. Currently, the default of a
16409
16657
  # pipeline is that the pipeline will continue to run until no more tasks can be
16410
16658
  # executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a
@@ -16455,6 +16703,7 @@ module Google
16455
16703
 
16456
16704
  # Update properties of this object
16457
16705
  def update!(**args)
16706
+ @default_runtime = args[:default_runtime] if args.key?(:default_runtime)
16458
16707
  @failure_policy = args[:failure_policy] if args.key?(:failure_policy)
16459
16708
  @gcs_output_directory = args[:gcs_output_directory] if args.key?(:gcs_output_directory)
16460
16709
  @input_artifacts = args[:input_artifacts] if args.key?(:input_artifacts)
@@ -16463,6 +16712,26 @@ module Google
16463
16712
  end
16464
16713
  end
16465
16714
 
16715
+ # The default runtime for the PipelineJob.
16716
+ class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime
16717
+ include Google::Apis::Core::Hashable
16718
+
16719
+ # Persistent resource based runtime detail. For more information, refer to https:
16720
+ # //cloud.google.com/vertex-ai/docs/training/persistent-resource-overview
16721
+ # Corresponds to the JSON property `persistentResourceRuntimeDetail`
16722
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail]
16723
+ attr_accessor :persistent_resource_runtime_detail
16724
+
16725
+ def initialize(**args)
16726
+ update!(**args)
16727
+ end
16728
+
16729
+ # Update properties of this object
16730
+ def update!(**args)
16731
+ @persistent_resource_runtime_detail = args[:persistent_resource_runtime_detail] if args.key?(:persistent_resource_runtime_detail)
16732
+ end
16733
+ end
16734
+
16466
16735
  # The type of an input artifact.
16467
16736
  class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact
16468
16737
  include Google::Apis::Core::Hashable
@@ -16485,6 +16754,27 @@ module Google
16485
16754
  end
16486
16755
  end
16487
16756
 
16757
+ # Persistent resource based runtime detail. For more information, refer to https:
16758
+ # //cloud.google.com/vertex-ai/docs/training/persistent-resource-overview
16759
+ class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail
16760
+ include Google::Apis::Core::Hashable
16761
+
16762
+ # Persistent resource name. Format: `projects/`project`/locations/`location`/
16763
+ # persistentResources/`persistent_resource``
16764
+ # Corresponds to the JSON property `persistentResourceName`
16765
+ # @return [String]
16766
+ attr_accessor :persistent_resource_name
16767
+
16768
+ def initialize(**args)
16769
+ update!(**args)
16770
+ end
16771
+
16772
+ # Update properties of this object
16773
+ def update!(**args)
16774
+ @persistent_resource_name = args[:persistent_resource_name] if args.key?(:persistent_resource_name)
16775
+ end
16776
+ end
16777
+
16488
16778
  # The runtime detail of a task execution.
16489
16779
  class GoogleCloudAiplatformV1beta1PipelineTaskDetail
16490
16780
  include Google::Apis::Core::Hashable
@@ -17134,6 +17424,38 @@ module Google
17134
17424
  end
17135
17425
  end
17136
17426
 
17427
+ # PscAutomatedEndpoints defines the output of the forwarding rule automatically
17428
+ # created by each PscAutomationConfig.
17429
+ class GoogleCloudAiplatformV1beta1PscAutomatedEndpoints
17430
+ include Google::Apis::Core::Hashable
17431
+
17432
+ # Ip Address created by the automated forwarding rule.
17433
+ # Corresponds to the JSON property `matchAddress`
17434
+ # @return [String]
17435
+ attr_accessor :match_address
17436
+
17437
+ # Corresponding network in pscAutomationConfigs.
17438
+ # Corresponds to the JSON property `network`
17439
+ # @return [String]
17440
+ attr_accessor :network
17441
+
17442
+ # Corresponding project_id in pscAutomationConfigs
17443
+ # Corresponds to the JSON property `projectId`
17444
+ # @return [String]
17445
+ attr_accessor :project_id
17446
+
17447
+ def initialize(**args)
17448
+ update!(**args)
17449
+ end
17450
+
17451
+ # Update properties of this object
17452
+ def update!(**args)
17453
+ @match_address = args[:match_address] if args.key?(:match_address)
17454
+ @network = args[:network] if args.key?(:network)
17455
+ @project_id = args[:project_id] if args.key?(:project_id)
17456
+ end
17457
+ end
17458
+
17137
17459
  # A Model Garden Publisher Model.
17138
17460
  class GoogleCloudAiplatformV1beta1PublisherModel
17139
17461
  include Google::Apis::Core::Hashable
@@ -17239,6 +17561,11 @@ module Google
17239
17561
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences]
17240
17562
  attr_accessor :open_fine_tuning_pipeline
17241
17563
 
17564
+ # Open fine tuning pipelines.
17565
+ # Corresponds to the JSON property `openFineTuningPipelines`
17566
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines]
17567
+ attr_accessor :open_fine_tuning_pipelines
17568
+
17242
17569
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17243
17570
  # europe-west2, global, etc..
17244
17571
  # Corresponds to the JSON property `openGenerationAiStudio`
@@ -17257,6 +17584,11 @@ module Google
17257
17584
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences]
17258
17585
  attr_accessor :open_notebook
17259
17586
 
17587
+ # Open notebooks.
17588
+ # Corresponds to the JSON property `openNotebooks`
17589
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks]
17590
+ attr_accessor :open_notebooks
17591
+
17260
17592
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17261
17593
  # europe-west2, global, etc..
17262
17594
  # Corresponds to the JSON property `openPromptTuningPipeline`
@@ -17284,9 +17616,11 @@ module Google
17284
17616
  @deploy = args[:deploy] if args.key?(:deploy)
17285
17617
  @open_evaluation_pipeline = args[:open_evaluation_pipeline] if args.key?(:open_evaluation_pipeline)
17286
17618
  @open_fine_tuning_pipeline = args[:open_fine_tuning_pipeline] if args.key?(:open_fine_tuning_pipeline)
17619
+ @open_fine_tuning_pipelines = args[:open_fine_tuning_pipelines] if args.key?(:open_fine_tuning_pipelines)
17287
17620
  @open_generation_ai_studio = args[:open_generation_ai_studio] if args.key?(:open_generation_ai_studio)
17288
17621
  @open_genie = args[:open_genie] if args.key?(:open_genie)
17289
17622
  @open_notebook = args[:open_notebook] if args.key?(:open_notebook)
17623
+ @open_notebooks = args[:open_notebooks] if args.key?(:open_notebooks)
17290
17624
  @open_prompt_tuning_pipeline = args[:open_prompt_tuning_pipeline] if args.key?(:open_prompt_tuning_pipeline)
17291
17625
  @request_access = args[:request_access] if args.key?(:request_access)
17292
17626
  @view_rest_api = args[:view_rest_api] if args.key?(:view_rest_api)
@@ -17370,6 +17704,44 @@ module Google
17370
17704
  end
17371
17705
  end
17372
17706
 
17707
+ # Open fine tuning pipelines.
17708
+ class GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines
17709
+ include Google::Apis::Core::Hashable
17710
+
17711
+ # Required. Regional resource references to fine tuning pipelines.
17712
+ # Corresponds to the JSON property `fineTuningPipelines`
17713
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences>]
17714
+ attr_accessor :fine_tuning_pipelines
17715
+
17716
+ def initialize(**args)
17717
+ update!(**args)
17718
+ end
17719
+
17720
+ # Update properties of this object
17721
+ def update!(**args)
17722
+ @fine_tuning_pipelines = args[:fine_tuning_pipelines] if args.key?(:fine_tuning_pipelines)
17723
+ end
17724
+ end
17725
+
17726
+ # Open notebooks.
17727
+ class GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks
17728
+ include Google::Apis::Core::Hashable
17729
+
17730
+ # Required. Regional resource references to notebooks.
17731
+ # Corresponds to the JSON property `notebooks`
17732
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences>]
17733
+ attr_accessor :notebooks
17734
+
17735
+ def initialize(**args)
17736
+ update!(**args)
17737
+ end
17738
+
17739
+ # Update properties of this object
17740
+ def update!(**args)
17741
+ @notebooks = args[:notebooks] if args.key?(:notebooks)
17742
+ end
17743
+ end
17744
+
17373
17745
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17374
17746
  # europe-west2, global, etc..
17375
17747
  class GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences
@@ -17380,7 +17752,22 @@ module Google
17380
17752
  # @return [Hash<String,Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelResourceReference>]
17381
17753
  attr_accessor :references
17382
17754
 
17383
- # Required. The title of the regional resource reference.
17755
+ # Optional. Description of the resource.
17756
+ # Corresponds to the JSON property `resourceDescription`
17757
+ # @return [String]
17758
+ attr_accessor :resource_description
17759
+
17760
+ # Optional. Title of the resource.
17761
+ # Corresponds to the JSON property `resourceTitle`
17762
+ # @return [String]
17763
+ attr_accessor :resource_title
17764
+
17765
+ # Optional. Use case (CUJ) of the resource.
17766
+ # Corresponds to the JSON property `resourceUseCase`
17767
+ # @return [String]
17768
+ attr_accessor :resource_use_case
17769
+
17770
+ # Required.
17384
17771
  # Corresponds to the JSON property `title`
17385
17772
  # @return [String]
17386
17773
  attr_accessor :title
@@ -17392,6 +17779,9 @@ module Google
17392
17779
  # Update properties of this object
17393
17780
  def update!(**args)
17394
17781
  @references = args[:references] if args.key?(:references)
17782
+ @resource_description = args[:resource_description] if args.key?(:resource_description)
17783
+ @resource_title = args[:resource_title] if args.key?(:resource_title)
17784
+ @resource_use_case = args[:resource_use_case] if args.key?(:resource_use_case)
17395
17785
  @title = args[:title] if args.key?(:title)
17396
17786
  end
17397
17787
  end
@@ -18227,25 +18617,6 @@ module Google
18227
18617
  end
18228
18618
  end
18229
18619
 
18230
- # Details of operations that perform reboot PersistentResource.
18231
- class GoogleCloudAiplatformV1beta1RebootPersistentResourceOperationMetadata
18232
- include Google::Apis::Core::Hashable
18233
-
18234
- # Generic Metadata shared by all operations.
18235
- # Corresponds to the JSON property `genericMetadata`
18236
- # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenericOperationMetadata]
18237
- attr_accessor :generic_metadata
18238
-
18239
- def initialize(**args)
18240
- update!(**args)
18241
- end
18242
-
18243
- # Update properties of this object
18244
- def update!(**args)
18245
- @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
18246
- end
18247
- end
18248
-
18249
18620
  # Request message for MetadataService.DeleteContextChildrenRequest.
18250
18621
  class GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest
18251
18622
  include Google::Apis::Core::Hashable
@@ -18360,8 +18731,7 @@ module Google
18360
18731
  end
18361
18732
  end
18362
18733
 
18363
- # LINT.IfChange(report_event_message_types) Request message for
18364
- # NotebookInternalService.ReportRuntimeEvent.
18734
+ # Request message for NotebookInternalService.ReportRuntimeEvent.
18365
18735
  class GoogleCloudAiplatformV1beta1ReportRuntimeEventRequest
18366
18736
  include Google::Apis::Core::Hashable
18367
18737
 
@@ -28139,6 +28509,11 @@ module Google
28139
28509
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenericOperationMetadata]
28140
28510
  attr_accessor :generic_metadata
28141
28511
 
28512
+ # Progress Message for Update LRO
28513
+ # Corresponds to the JSON property `progressMessage`
28514
+ # @return [String]
28515
+ attr_accessor :progress_message
28516
+
28142
28517
  def initialize(**args)
28143
28518
  update!(**args)
28144
28519
  end
@@ -28146,6 +28521,7 @@ module Google
28146
28521
  # Update properties of this object
28147
28522
  def update!(**args)
28148
28523
  @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
28524
+ @progress_message = args[:progress_message] if args.key?(:progress_message)
28149
28525
  end
28150
28526
  end
28151
28527
 
@@ -28832,7 +29208,10 @@ module Google
28832
29208
  attr_accessor :members
28833
29209
 
28834
29210
  # Role that is assigned to the list of `members`, or principals. For example, `
28835
- # roles/viewer`, `roles/editor`, or `roles/owner`.
29211
+ # roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM
29212
+ # roles and permissions, see the [IAM documentation](https://cloud.google.com/
29213
+ # iam/docs/roles-overview). For a list of the available pre-defined roles, see [
29214
+ # here](https://cloud.google.com/iam/docs/understanding-roles).
28836
29215
  # Corresponds to the JSON property `role`
28837
29216
  # @return [String]
28838
29217
  attr_accessor :role
@@ -29556,6 +29935,2377 @@ module Google
29556
29935
  @metric_entries = args[:metric_entries] if args.key?(:metric_entries)
29557
29936
  end
29558
29937
  end
29938
+
29939
+ # The proto defines the attribution information for a document using whatever
29940
+ # fields are most applicable for that document's datasource. For example, a
29941
+ # Wikipedia article's attribution is in the form of its article title, a website
29942
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
29943
+ # id: 30
29944
+ class LanguageLabsAidaTrustRecitationProtoDocAttribution
29945
+ include Google::Apis::Core::Hashable
29946
+
29947
+ #
29948
+ # Corresponds to the JSON property `amarnaId`
29949
+ # @return [String]
29950
+ attr_accessor :amarna_id
29951
+
29952
+ #
29953
+ # Corresponds to the JSON property `arxivId`
29954
+ # @return [String]
29955
+ attr_accessor :arxiv_id
29956
+
29957
+ #
29958
+ # Corresponds to the JSON property `author`
29959
+ # @return [String]
29960
+ attr_accessor :author
29961
+
29962
+ #
29963
+ # Corresponds to the JSON property `bibkey`
29964
+ # @return [String]
29965
+ attr_accessor :bibkey
29966
+
29967
+ # ID of the paper in bioarxiv like ddoi.org/`biorxiv_id` eg: https://doi.org/10.
29968
+ # 1101/343517
29969
+ # Corresponds to the JSON property `biorxivId`
29970
+ # @return [String]
29971
+ attr_accessor :biorxiv_id
29972
+
29973
+ #
29974
+ # Corresponds to the JSON property `bookTitle`
29975
+ # @return [String]
29976
+ attr_accessor :book_title
29977
+
29978
+ # The Oceanographers full-view books dataset uses a 'volume id' as the unique ID
29979
+ # of a book. There is a deterministic function from a volume id to a URL under
29980
+ # the books.google.com domain. Marked as 'optional' since a volume ID of zero is
29981
+ # potentially possible and we want to distinguish that from the volume ID not
29982
+ # being set.
29983
+ # Corresponds to the JSON property `bookVolumeId`
29984
+ # @return [Fixnum]
29985
+ attr_accessor :book_volume_id
29986
+
29987
+ #
29988
+ # Corresponds to the JSON property `category`
29989
+ # @return [String]
29990
+ attr_accessor :category
29991
+
29992
+ #
29993
+ # Corresponds to the JSON property `conversationId`
29994
+ # @return [String]
29995
+ attr_accessor :conversation_id
29996
+
29997
+ # The dataset this document comes from.
29998
+ # Corresponds to the JSON property `dataset`
29999
+ # @return [String]
30000
+ attr_accessor :dataset
30001
+
30002
+ #
30003
+ # Corresponds to the JSON property `filepath`
30004
+ # @return [String]
30005
+ attr_accessor :filepath
30006
+
30007
+ #
30008
+ # Corresponds to the JSON property `geminiId`
30009
+ # @return [String]
30010
+ attr_accessor :gemini_id
30011
+
30012
+ #
30013
+ # Corresponds to the JSON property `gnewsArticleTitle`
30014
+ # @return [String]
30015
+ attr_accessor :gnews_article_title
30016
+
30017
+ #
30018
+ # Corresponds to the JSON property `goodallExampleId`
30019
+ # @return [String]
30020
+ attr_accessor :goodall_example_id
30021
+
30022
+ # Whether the document is opted out.
30023
+ # Corresponds to the JSON property `isOptOut`
30024
+ # @return [Boolean]
30025
+ attr_accessor :is_opt_out
30026
+ alias_method :is_opt_out?, :is_opt_out
30027
+
30028
+ #
30029
+ # Corresponds to the JSON property `isPrompt`
30030
+ # @return [Boolean]
30031
+ attr_accessor :is_prompt
30032
+ alias_method :is_prompt?, :is_prompt
30033
+
30034
+ #
30035
+ # Corresponds to the JSON property `lamdaExampleId`
30036
+ # @return [String]
30037
+ attr_accessor :lamda_example_id
30038
+
30039
+ #
30040
+ # Corresponds to the JSON property `license`
30041
+ # @return [String]
30042
+ attr_accessor :license
30043
+
30044
+ #
30045
+ # Corresponds to the JSON property `meenaConversationId`
30046
+ # @return [String]
30047
+ attr_accessor :meena_conversation_id
30048
+
30049
+ # Natural (not programming) language of the document. Language code as defined
30050
+ # by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/
30051
+ # html/bcp47. Currently applicable to full-view books. Use docinfo-util.h to set
30052
+ # & read language fields. See go/iii.
30053
+ # Corresponds to the JSON property `naturalLanguageCode`
30054
+ # @return [String]
30055
+ attr_accessor :natural_language_code
30056
+
30057
+ # True if this doc has no attribution information available. We use an explicit
30058
+ # field for this instead of just implicitly leaving all the DocAttribution
30059
+ # fields blank to distinguish a case where a bug/oversight has left the
30060
+ # attribution information empty vs when we really have no attribution
30061
+ # information available.
30062
+ # Corresponds to the JSON property `noAttribution`
30063
+ # @return [Boolean]
30064
+ attr_accessor :no_attribution
30065
+ alias_method :no_attribution?, :no_attribution
30066
+
30067
+ #
30068
+ # Corresponds to the JSON property `podcastUtteranceId`
30069
+ # @return [String]
30070
+ attr_accessor :podcast_utterance_id
30071
+
30072
+ # Represents a whole or partial calendar date, such as a birthday. The time of
30073
+ # day and time zone are either specified elsewhere or are insignificant. The
30074
+ # date is relative to the Gregorian Calendar. This can represent one of the
30075
+ # following: * A full date, with non-zero year, month, and day values. * A month
30076
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
30077
+ # with a zero month and a zero day. * A year and month, with a zero day (for
30078
+ # example, a credit card expiration date). Related types: * google.type.
30079
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
30080
+ # Corresponds to the JSON property `publicationDate`
30081
+ # @return [Google::Apis::AiplatformV1beta1::GoogleTypeDate]
30082
+ attr_accessor :publication_date
30083
+
30084
+ # This field is for opt-out experiment only, MUST never be used during actual
30085
+ # production/serving.
30086
+ # Corresponds to the JSON property `qualityScoreExperimentOnly`
30087
+ # @return [Float]
30088
+ attr_accessor :quality_score_experiment_only
30089
+
30090
+ # Github repository
30091
+ # Corresponds to the JSON property `repo`
30092
+ # @return [String]
30093
+ attr_accessor :repo
30094
+
30095
+ # URL of a webdoc
30096
+ # Corresponds to the JSON property `url`
30097
+ # @return [String]
30098
+ attr_accessor :url
30099
+
30100
+ #
30101
+ # Corresponds to the JSON property `volumeId`
30102
+ # @return [String]
30103
+ attr_accessor :volume_id
30104
+
30105
+ # Wikipedia article title. The Wikipedia TFDS dataset includes article titles
30106
+ # but not URLs. While a URL is to the best of our knowledge a deterministic
30107
+ # function of the title, we store the original title to reflect the information
30108
+ # in the original dataset.
30109
+ # Corresponds to the JSON property `wikipediaArticleTitle`
30110
+ # @return [String]
30111
+ attr_accessor :wikipedia_article_title
30112
+
30113
+ # The unique video id from Youtube. Example: AkoGsW52Ir0
30114
+ # Corresponds to the JSON property `youtubeVideoId`
30115
+ # @return [String]
30116
+ attr_accessor :youtube_video_id
30117
+
30118
+ def initialize(**args)
30119
+ update!(**args)
30120
+ end
30121
+
30122
+ # Update properties of this object
30123
+ def update!(**args)
30124
+ @amarna_id = args[:amarna_id] if args.key?(:amarna_id)
30125
+ @arxiv_id = args[:arxiv_id] if args.key?(:arxiv_id)
30126
+ @author = args[:author] if args.key?(:author)
30127
+ @bibkey = args[:bibkey] if args.key?(:bibkey)
30128
+ @biorxiv_id = args[:biorxiv_id] if args.key?(:biorxiv_id)
30129
+ @book_title = args[:book_title] if args.key?(:book_title)
30130
+ @book_volume_id = args[:book_volume_id] if args.key?(:book_volume_id)
30131
+ @category = args[:category] if args.key?(:category)
30132
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
30133
+ @dataset = args[:dataset] if args.key?(:dataset)
30134
+ @filepath = args[:filepath] if args.key?(:filepath)
30135
+ @gemini_id = args[:gemini_id] if args.key?(:gemini_id)
30136
+ @gnews_article_title = args[:gnews_article_title] if args.key?(:gnews_article_title)
30137
+ @goodall_example_id = args[:goodall_example_id] if args.key?(:goodall_example_id)
30138
+ @is_opt_out = args[:is_opt_out] if args.key?(:is_opt_out)
30139
+ @is_prompt = args[:is_prompt] if args.key?(:is_prompt)
30140
+ @lamda_example_id = args[:lamda_example_id] if args.key?(:lamda_example_id)
30141
+ @license = args[:license] if args.key?(:license)
30142
+ @meena_conversation_id = args[:meena_conversation_id] if args.key?(:meena_conversation_id)
30143
+ @natural_language_code = args[:natural_language_code] if args.key?(:natural_language_code)
30144
+ @no_attribution = args[:no_attribution] if args.key?(:no_attribution)
30145
+ @podcast_utterance_id = args[:podcast_utterance_id] if args.key?(:podcast_utterance_id)
30146
+ @publication_date = args[:publication_date] if args.key?(:publication_date)
30147
+ @quality_score_experiment_only = args[:quality_score_experiment_only] if args.key?(:quality_score_experiment_only)
30148
+ @repo = args[:repo] if args.key?(:repo)
30149
+ @url = args[:url] if args.key?(:url)
30150
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
30151
+ @wikipedia_article_title = args[:wikipedia_article_title] if args.key?(:wikipedia_article_title)
30152
+ @youtube_video_id = args[:youtube_video_id] if args.key?(:youtube_video_id)
30153
+ end
30154
+ end
30155
+
30156
+ # The recitation result for one input
30157
+ class LanguageLabsAidaTrustRecitationProtoRecitationResult
30158
+ include Google::Apis::Core::Hashable
30159
+
30160
+ #
30161
+ # Corresponds to the JSON property `dynamicSegmentResults`
30162
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30163
+ attr_accessor :dynamic_segment_results
30164
+
30165
+ # The recitation action for one given input. When its segments contain different
30166
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30167
+ # > NO_ACTION.
30168
+ # Corresponds to the JSON property `recitationAction`
30169
+ # @return [String]
30170
+ attr_accessor :recitation_action
30171
+
30172
+ #
30173
+ # Corresponds to the JSON property `trainingSegmentResults`
30174
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30175
+ attr_accessor :training_segment_results
30176
+
30177
+ def initialize(**args)
30178
+ update!(**args)
30179
+ end
30180
+
30181
+ # Update properties of this object
30182
+ def update!(**args)
30183
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30184
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30185
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30186
+ end
30187
+ end
30188
+
30189
+ # The recitation result for each segment in a given input.
30190
+ class LanguageLabsAidaTrustRecitationProtoSegmentResult
30191
+ include Google::Apis::Core::Hashable
30192
+
30193
+ # The dataset the segment came from.
30194
+ # Corresponds to the JSON property `attributionDataset`
30195
+ # @return [String]
30196
+ attr_accessor :attribution_dataset
30197
+
30198
+ # human-friendly string that contains information from doc_attribution which
30199
+ # could be shown by clients
30200
+ # Corresponds to the JSON property `displayAttributionMessage`
30201
+ # @return [String]
30202
+ attr_accessor :display_attribution_message
30203
+
30204
+ # The proto defines the attribution information for a document using whatever
30205
+ # fields are most applicable for that document's datasource. For example, a
30206
+ # Wikipedia article's attribution is in the form of its article title, a website
30207
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30208
+ # id: 30
30209
+ # Corresponds to the JSON property `docAttribution`
30210
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoDocAttribution]
30211
+ attr_accessor :doc_attribution
30212
+
30213
+ # number of documents that contained this segment
30214
+ # Corresponds to the JSON property `docOccurrences`
30215
+ # @return [Fixnum]
30216
+ attr_accessor :doc_occurrences
30217
+
30218
+ #
30219
+ # Corresponds to the JSON property `endIndex`
30220
+ # @return [Fixnum]
30221
+ attr_accessor :end_index
30222
+
30223
+ # The raw text in the given input that is corresponding to the segment. It will
30224
+ # be available only when 'return_segment_raw_text' is enabled in the request
30225
+ # options.
30226
+ # Corresponds to the JSON property `rawText`
30227
+ # @return [String]
30228
+ attr_accessor :raw_text
30229
+
30230
+ #
30231
+ # Corresponds to the JSON property `segmentRecitationAction`
30232
+ # @return [String]
30233
+ attr_accessor :segment_recitation_action
30234
+
30235
+ # The segment boundary start (inclusive) and end index (exclusive) in the given
30236
+ # text. In the streaming RPC, the indexes always start from the beginning of the
30237
+ # first text in the entire stream. The indexes are measured in UTF-16 code units.
30238
+ # Corresponds to the JSON property `startIndex`
30239
+ # @return [Fixnum]
30240
+ attr_accessor :start_index
30241
+
30242
+ def initialize(**args)
30243
+ update!(**args)
30244
+ end
30245
+
30246
+ # Update properties of this object
30247
+ def update!(**args)
30248
+ @attribution_dataset = args[:attribution_dataset] if args.key?(:attribution_dataset)
30249
+ @display_attribution_message = args[:display_attribution_message] if args.key?(:display_attribution_message)
30250
+ @doc_attribution = args[:doc_attribution] if args.key?(:doc_attribution)
30251
+ @doc_occurrences = args[:doc_occurrences] if args.key?(:doc_occurrences)
30252
+ @end_index = args[:end_index] if args.key?(:end_index)
30253
+ @raw_text = args[:raw_text] if args.key?(:raw_text)
30254
+ @segment_recitation_action = args[:segment_recitation_action] if args.key?(:segment_recitation_action)
30255
+ @start_index = args[:start_index] if args.key?(:start_index)
30256
+ end
30257
+ end
30258
+
30259
+ # The recitation result for one stream input
30260
+ class LanguageLabsAidaTrustRecitationProtoStreamRecitationResult
30261
+ include Google::Apis::Core::Hashable
30262
+
30263
+ # The recitation result against the given dynamic data source.
30264
+ # Corresponds to the JSON property `dynamicSegmentResults`
30265
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30266
+ attr_accessor :dynamic_segment_results
30267
+
30268
+ # Last index of input text fully checked for recitation in the entire streaming
30269
+ # context. Would return `-1` if no Input was checked for recitation.
30270
+ # Corresponds to the JSON property `fullyCheckedTextIndex`
30271
+ # @return [Fixnum]
30272
+ attr_accessor :fully_checked_text_index
30273
+
30274
+ # The recitation action for one given input. When its segments contain different
30275
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30276
+ # > NO_ACTION.
30277
+ # Corresponds to the JSON property `recitationAction`
30278
+ # @return [String]
30279
+ attr_accessor :recitation_action
30280
+
30281
+ # The recitation result against model training data.
30282
+ # Corresponds to the JSON property `trainingSegmentResults`
30283
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30284
+ attr_accessor :training_segment_results
30285
+
30286
+ def initialize(**args)
30287
+ update!(**args)
30288
+ end
30289
+
30290
+ # Update properties of this object
30291
+ def update!(**args)
30292
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30293
+ @fully_checked_text_index = args[:fully_checked_text_index] if args.key?(:fully_checked_text_index)
30294
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30295
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30296
+ end
30297
+ end
30298
+
30299
+ # The proto defines the attribution information for a document using whatever
30300
+ # fields are most applicable for that document's datasource. For example, a
30301
+ # Wikipedia article's attribution is in the form of its article title, a website
30302
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30303
+ # id: 30
30304
+ class LearningGenaiRecitationDocAttribution
30305
+ include Google::Apis::Core::Hashable
30306
+
30307
+ #
30308
+ # Corresponds to the JSON property `amarnaId`
30309
+ # @return [String]
30310
+ attr_accessor :amarna_id
30311
+
30312
+ #
30313
+ # Corresponds to the JSON property `arxivId`
30314
+ # @return [String]
30315
+ attr_accessor :arxiv_id
30316
+
30317
+ #
30318
+ # Corresponds to the JSON property `author`
30319
+ # @return [String]
30320
+ attr_accessor :author
30321
+
30322
+ #
30323
+ # Corresponds to the JSON property `bibkey`
30324
+ # @return [String]
30325
+ attr_accessor :bibkey
30326
+
30327
+ # ID of the paper in bioarxiv like ddoi.org/`biorxiv_id` eg: https://doi.org/10.
30328
+ # 1101/343517
30329
+ # Corresponds to the JSON property `biorxivId`
30330
+ # @return [String]
30331
+ attr_accessor :biorxiv_id
30332
+
30333
+ #
30334
+ # Corresponds to the JSON property `bookTitle`
30335
+ # @return [String]
30336
+ attr_accessor :book_title
30337
+
30338
+ # The Oceanographers full-view books dataset uses a 'volume id' as the unique ID
30339
+ # of a book. There is a deterministic function from a volume id to a URL under
30340
+ # the books.google.com domain. Marked as 'optional' since a volume ID of zero is
30341
+ # potentially possible and we want to distinguish that from the volume ID not
30342
+ # being set.
30343
+ # Corresponds to the JSON property `bookVolumeId`
30344
+ # @return [Fixnum]
30345
+ attr_accessor :book_volume_id
30346
+
30347
+ #
30348
+ # Corresponds to the JSON property `conversationId`
30349
+ # @return [String]
30350
+ attr_accessor :conversation_id
30351
+
30352
+ # The dataset this document comes from.
30353
+ # Corresponds to the JSON property `dataset`
30354
+ # @return [String]
30355
+ attr_accessor :dataset
30356
+
30357
+ #
30358
+ # Corresponds to the JSON property `filepath`
30359
+ # @return [String]
30360
+ attr_accessor :filepath
30361
+
30362
+ #
30363
+ # Corresponds to the JSON property `geminiId`
30364
+ # @return [String]
30365
+ attr_accessor :gemini_id
30366
+
30367
+ #
30368
+ # Corresponds to the JSON property `gnewsArticleTitle`
30369
+ # @return [String]
30370
+ attr_accessor :gnews_article_title
30371
+
30372
+ #
30373
+ # Corresponds to the JSON property `goodallExampleId`
30374
+ # @return [String]
30375
+ attr_accessor :goodall_example_id
30376
+
30377
+ # Whether the document is opted out.
30378
+ # Corresponds to the JSON property `isOptOut`
30379
+ # @return [Boolean]
30380
+ attr_accessor :is_opt_out
30381
+ alias_method :is_opt_out?, :is_opt_out
30382
+
30383
+ # When true, this attribution came from the user's prompt.
30384
+ # Corresponds to the JSON property `isPrompt`
30385
+ # @return [Boolean]
30386
+ attr_accessor :is_prompt
30387
+ alias_method :is_prompt?, :is_prompt
30388
+
30389
+ #
30390
+ # Corresponds to the JSON property `lamdaExampleId`
30391
+ # @return [String]
30392
+ attr_accessor :lamda_example_id
30393
+
30394
+ #
30395
+ # Corresponds to the JSON property `license`
30396
+ # @return [String]
30397
+ attr_accessor :license
30398
+
30399
+ #
30400
+ # Corresponds to the JSON property `meenaConversationId`
30401
+ # @return [String]
30402
+ attr_accessor :meena_conversation_id
30403
+
30404
+ # Natural (not programming) language of the document. Language code as defined
30405
+ # by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/
30406
+ # html/bcp47. Currently applicable to full-view books. Use docinfo-util.h to set
30407
+ # & read language fields. See go/iii.
30408
+ # Corresponds to the JSON property `naturalLanguageCode`
30409
+ # @return [String]
30410
+ attr_accessor :natural_language_code
30411
+
30412
+ # True if this doc has no attribution information available. We use an explicit
30413
+ # field for this instead of just implicitly leaving all the DocAttribution
30414
+ # fields blank to distinguish a case where a bug/oversight has left the
30415
+ # attribution information empty vs when we really have no attribution
30416
+ # information available.
30417
+ # Corresponds to the JSON property `noAttribution`
30418
+ # @return [Boolean]
30419
+ attr_accessor :no_attribution
30420
+ alias_method :no_attribution?, :no_attribution
30421
+
30422
+ #
30423
+ # Corresponds to the JSON property `podcastUtteranceId`
30424
+ # @return [String]
30425
+ attr_accessor :podcast_utterance_id
30426
+
30427
+ # Represents a whole or partial calendar date, such as a birthday. The time of
30428
+ # day and time zone are either specified elsewhere or are insignificant. The
30429
+ # date is relative to the Gregorian Calendar. This can represent one of the
30430
+ # following: * A full date, with non-zero year, month, and day values. * A month
30431
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
30432
+ # with a zero month and a zero day. * A year and month, with a zero day (for
30433
+ # example, a credit card expiration date). Related types: * google.type.
30434
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
30435
+ # Corresponds to the JSON property `publicationDate`
30436
+ # @return [Google::Apis::AiplatformV1beta1::GoogleTypeDate]
30437
+ attr_accessor :publication_date
30438
+
30439
+ # This field is for opt-out experiment only, MUST never be used during actual
30440
+ # production/serving.
30441
+ # Corresponds to the JSON property `qualityScoreExperimentOnly`
30442
+ # @return [Float]
30443
+ attr_accessor :quality_score_experiment_only
30444
+
30445
+ # Github repository
30446
+ # Corresponds to the JSON property `repo`
30447
+ # @return [String]
30448
+ attr_accessor :repo
30449
+
30450
+ # URL of a webdoc
30451
+ # Corresponds to the JSON property `url`
30452
+ # @return [String]
30453
+ attr_accessor :url
30454
+
30455
+ #
30456
+ # Corresponds to the JSON property `volumeId`
30457
+ # @return [String]
30458
+ attr_accessor :volume_id
30459
+
30460
+ # Wikipedia article title. The Wikipedia TFDS dataset includes article titles
30461
+ # but not URLs. While a URL is to the best of our knowledge a deterministic
30462
+ # function of the title, we store the original title to reflect the information
30463
+ # in the original dataset.
30464
+ # Corresponds to the JSON property `wikipediaArticleTitle`
30465
+ # @return [String]
30466
+ attr_accessor :wikipedia_article_title
30467
+
30468
+ #
30469
+ # Corresponds to the JSON property `youtubeVideoId`
30470
+ # @return [String]
30471
+ attr_accessor :youtube_video_id
30472
+
30473
+ def initialize(**args)
30474
+ update!(**args)
30475
+ end
30476
+
30477
+ # Update properties of this object
30478
+ def update!(**args)
30479
+ @amarna_id = args[:amarna_id] if args.key?(:amarna_id)
30480
+ @arxiv_id = args[:arxiv_id] if args.key?(:arxiv_id)
30481
+ @author = args[:author] if args.key?(:author)
30482
+ @bibkey = args[:bibkey] if args.key?(:bibkey)
30483
+ @biorxiv_id = args[:biorxiv_id] if args.key?(:biorxiv_id)
30484
+ @book_title = args[:book_title] if args.key?(:book_title)
30485
+ @book_volume_id = args[:book_volume_id] if args.key?(:book_volume_id)
30486
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
30487
+ @dataset = args[:dataset] if args.key?(:dataset)
30488
+ @filepath = args[:filepath] if args.key?(:filepath)
30489
+ @gemini_id = args[:gemini_id] if args.key?(:gemini_id)
30490
+ @gnews_article_title = args[:gnews_article_title] if args.key?(:gnews_article_title)
30491
+ @goodall_example_id = args[:goodall_example_id] if args.key?(:goodall_example_id)
30492
+ @is_opt_out = args[:is_opt_out] if args.key?(:is_opt_out)
30493
+ @is_prompt = args[:is_prompt] if args.key?(:is_prompt)
30494
+ @lamda_example_id = args[:lamda_example_id] if args.key?(:lamda_example_id)
30495
+ @license = args[:license] if args.key?(:license)
30496
+ @meena_conversation_id = args[:meena_conversation_id] if args.key?(:meena_conversation_id)
30497
+ @natural_language_code = args[:natural_language_code] if args.key?(:natural_language_code)
30498
+ @no_attribution = args[:no_attribution] if args.key?(:no_attribution)
30499
+ @podcast_utterance_id = args[:podcast_utterance_id] if args.key?(:podcast_utterance_id)
30500
+ @publication_date = args[:publication_date] if args.key?(:publication_date)
30501
+ @quality_score_experiment_only = args[:quality_score_experiment_only] if args.key?(:quality_score_experiment_only)
30502
+ @repo = args[:repo] if args.key?(:repo)
30503
+ @url = args[:url] if args.key?(:url)
30504
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
30505
+ @wikipedia_article_title = args[:wikipedia_article_title] if args.key?(:wikipedia_article_title)
30506
+ @youtube_video_id = args[:youtube_video_id] if args.key?(:youtube_video_id)
30507
+ end
30508
+ end
30509
+
30510
+ # The recitation result for one input
30511
+ class LearningGenaiRecitationRecitationResult
30512
+ include Google::Apis::Core::Hashable
30513
+
30514
+ #
30515
+ # Corresponds to the JSON property `dynamicSegmentResults`
30516
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRecitationSegmentResult>]
30517
+ attr_accessor :dynamic_segment_results
30518
+
30519
+ # The recitation action for one given input. When its segments contain different
30520
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30521
+ # > NO_ACTION.
30522
+ # Corresponds to the JSON property `recitationAction`
30523
+ # @return [String]
30524
+ attr_accessor :recitation_action
30525
+
30526
+ #
30527
+ # Corresponds to the JSON property `trainingSegmentResults`
30528
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRecitationSegmentResult>]
30529
+ attr_accessor :training_segment_results
30530
+
30531
+ def initialize(**args)
30532
+ update!(**args)
30533
+ end
30534
+
30535
+ # Update properties of this object
30536
+ def update!(**args)
30537
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30538
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30539
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30540
+ end
30541
+ end
30542
+
30543
+ # The recitation result for each segment in a given input.
30544
+ class LearningGenaiRecitationSegmentResult
30545
+ include Google::Apis::Core::Hashable
30546
+
30547
+ # The dataset the segment came from.
30548
+ # Corresponds to the JSON property `attributionDataset`
30549
+ # @return [String]
30550
+ attr_accessor :attribution_dataset
30551
+
30552
+ # human-friendly string that contains information from doc_attribution which
30553
+ # could be shown by clients
30554
+ # Corresponds to the JSON property `displayAttributionMessage`
30555
+ # @return [String]
30556
+ attr_accessor :display_attribution_message
30557
+
30558
+ # The proto defines the attribution information for a document using whatever
30559
+ # fields are most applicable for that document's datasource. For example, a
30560
+ # Wikipedia article's attribution is in the form of its article title, a website
30561
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30562
+ # id: 30
30563
+ # Corresponds to the JSON property `docAttribution`
30564
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRecitationDocAttribution]
30565
+ attr_accessor :doc_attribution
30566
+
30567
+ # number of documents that contained this segment
30568
+ # Corresponds to the JSON property `docOccurrences`
30569
+ # @return [Fixnum]
30570
+ attr_accessor :doc_occurrences
30571
+
30572
+ #
30573
+ # Corresponds to the JSON property `endIndex`
30574
+ # @return [Fixnum]
30575
+ attr_accessor :end_index
30576
+
30577
+ # The raw text in the given input that is corresponding to the segment. It will
30578
+ # be available only when 'return_segment_raw_text' is enabled in the request
30579
+ # options.
30580
+ # Corresponds to the JSON property `rawText`
30581
+ # @return [String]
30582
+ attr_accessor :raw_text
30583
+
30584
+ #
30585
+ # Corresponds to the JSON property `segmentRecitationAction`
30586
+ # @return [String]
30587
+ attr_accessor :segment_recitation_action
30588
+
30589
+ # The segment boundary start (inclusive) and end index (exclusive) in the given
30590
+ # text. In the streaming RPC, the indexes always start from the beginning of the
30591
+ # first text in the entire stream. The indexes are measured in UTF-16 code units.
30592
+ # Corresponds to the JSON property `startIndex`
30593
+ # @return [Fixnum]
30594
+ attr_accessor :start_index
30595
+
30596
+ def initialize(**args)
30597
+ update!(**args)
30598
+ end
30599
+
30600
+ # Update properties of this object
30601
+ def update!(**args)
30602
+ @attribution_dataset = args[:attribution_dataset] if args.key?(:attribution_dataset)
30603
+ @display_attribution_message = args[:display_attribution_message] if args.key?(:display_attribution_message)
30604
+ @doc_attribution = args[:doc_attribution] if args.key?(:doc_attribution)
30605
+ @doc_occurrences = args[:doc_occurrences] if args.key?(:doc_occurrences)
30606
+ @end_index = args[:end_index] if args.key?(:end_index)
30607
+ @raw_text = args[:raw_text] if args.key?(:raw_text)
30608
+ @segment_recitation_action = args[:segment_recitation_action] if args.key?(:segment_recitation_action)
30609
+ @start_index = args[:start_index] if args.key?(:start_index)
30610
+ end
30611
+ end
30612
+
30613
+ # The type used for final weights calculation.
30614
+ class LearningGenaiRootCalculationType
30615
+ include Google::Apis::Core::Hashable
30616
+
30617
+ #
30618
+ # Corresponds to the JSON property `scoreType`
30619
+ # @return [String]
30620
+ attr_accessor :score_type
30621
+
30622
+ #
30623
+ # Corresponds to the JSON property `weights`
30624
+ # @return [Float]
30625
+ attr_accessor :weights
30626
+
30627
+ def initialize(**args)
30628
+ update!(**args)
30629
+ end
30630
+
30631
+ # Update properties of this object
30632
+ def update!(**args)
30633
+ @score_type = args[:score_type] if args.key?(:score_type)
30634
+ @weights = args[:weights] if args.key?(:weights)
30635
+ end
30636
+ end
30637
+
30638
+ #
30639
+ class LearningGenaiRootClassifierOutput
30640
+ include Google::Apis::Core::Hashable
30641
+
30642
+ # If set, this is the output of the first matching rule.
30643
+ # Corresponds to the JSON property `ruleOutput`
30644
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput]
30645
+ attr_accessor :rule_output
30646
+
30647
+ # outputs of all matching rule.
30648
+ # Corresponds to the JSON property `ruleOutputs`
30649
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput>]
30650
+ attr_accessor :rule_outputs
30651
+
30652
+ # DataProviderOutput and MetricOutput can be saved between calls to the
30653
+ # Classifier framework. For instance, you can run the query classifier, get
30654
+ # outputs from those metrics, then use them in a result classifier as well.
30655
+ # Example rule based on this idea: and_rules ` rule ` metric_name: '
30656
+ # query_safesearch_v2' ... ` rule ` metric_name: 'response_safesearch_v2' ... ` `
30657
+ # Corresponds to the JSON property `state`
30658
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierState]
30659
+ attr_accessor :state
30660
+
30661
+ def initialize(**args)
30662
+ update!(**args)
30663
+ end
30664
+
30665
+ # Update properties of this object
30666
+ def update!(**args)
30667
+ @rule_output = args[:rule_output] if args.key?(:rule_output)
30668
+ @rule_outputs = args[:rule_outputs] if args.key?(:rule_outputs)
30669
+ @state = args[:state] if args.key?(:state)
30670
+ end
30671
+ end
30672
+
30673
+ #
30674
+ class LearningGenaiRootClassifierOutputSummary
30675
+ include Google::Apis::Core::Hashable
30676
+
30677
+ #
30678
+ # Corresponds to the JSON property `metrics`
30679
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootMetricOutput>]
30680
+ attr_accessor :metrics
30681
+
30682
+ # Output of the first matching rule.
30683
+ # Corresponds to the JSON property `ruleOutput`
30684
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput]
30685
+ attr_accessor :rule_output
30686
+
30687
+ # outputs of all matching rule.
30688
+ # Corresponds to the JSON property `ruleOutputs`
30689
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput>]
30690
+ attr_accessor :rule_outputs
30691
+
30692
+ def initialize(**args)
30693
+ update!(**args)
30694
+ end
30695
+
30696
+ # Update properties of this object
30697
+ def update!(**args)
30698
+ @metrics = args[:metrics] if args.key?(:metrics)
30699
+ @rule_output = args[:rule_output] if args.key?(:rule_output)
30700
+ @rule_outputs = args[:rule_outputs] if args.key?(:rule_outputs)
30701
+ end
30702
+ end
30703
+
30704
+ # DataProviderOutput and MetricOutput can be saved between calls to the
30705
+ # Classifier framework. For instance, you can run the query classifier, get
30706
+ # outputs from those metrics, then use them in a result classifier as well.
30707
+ # Example rule based on this idea: and_rules ` rule ` metric_name: '
30708
+ # query_safesearch_v2' ... ` rule ` metric_name: 'response_safesearch_v2' ... ` `
30709
+ class LearningGenaiRootClassifierState
30710
+ include Google::Apis::Core::Hashable
30711
+
30712
+ #
30713
+ # Corresponds to the JSON property `dataProviderOutput`
30714
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootDataProviderOutput>]
30715
+ attr_accessor :data_provider_output
30716
+
30717
+ #
30718
+ # Corresponds to the JSON property `metricOutput`
30719
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootMetricOutput>]
30720
+ attr_accessor :metric_output
30721
+
30722
+ def initialize(**args)
30723
+ update!(**args)
30724
+ end
30725
+
30726
+ # Update properties of this object
30727
+ def update!(**args)
30728
+ @data_provider_output = args[:data_provider_output] if args.key?(:data_provider_output)
30729
+ @metric_output = args[:metric_output] if args.key?(:metric_output)
30730
+ end
30731
+ end
30732
+
30733
+ #
30734
+ class LearningGenaiRootDataProviderOutput
30735
+ include Google::Apis::Core::Hashable
30736
+
30737
+ #
30738
+ # Corresponds to the JSON property `name`
30739
+ # @return [String]
30740
+ attr_accessor :name
30741
+
30742
+ # Wire-format for a Status object
30743
+ # Corresponds to the JSON property `status`
30744
+ # @return [Google::Apis::AiplatformV1beta1::UtilStatusProto]
30745
+ attr_accessor :status
30746
+
30747
+ def initialize(**args)
30748
+ update!(**args)
30749
+ end
30750
+
30751
+ # Update properties of this object
30752
+ def update!(**args)
30753
+ @name = args[:name] if args.key?(:name)
30754
+ @status = args[:status] if args.key?(:status)
30755
+ end
30756
+ end
30757
+
30758
+ #
30759
+ class LearningGenaiRootFilterMetadata
30760
+ include Google::Apis::Core::Hashable
30761
+
30762
+ # Filter confidence.
30763
+ # Corresponds to the JSON property `confidence`
30764
+ # @return [String]
30765
+ attr_accessor :confidence
30766
+
30767
+ # Debug info for the message.
30768
+ # Corresponds to the JSON property `debugInfo`
30769
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootFilterMetadataFilterDebugInfo]
30770
+ attr_accessor :debug_info
30771
+
30772
+ # A fallback message chosen by the applied filter.
30773
+ # Corresponds to the JSON property `fallback`
30774
+ # @return [String]
30775
+ attr_accessor :fallback
30776
+
30777
+ # Additional info for the filter.
30778
+ # Corresponds to the JSON property `info`
30779
+ # @return [String]
30780
+ attr_accessor :info
30781
+
30782
+ # Name of the filter that triggered.
30783
+ # Corresponds to the JSON property `name`
30784
+ # @return [String]
30785
+ attr_accessor :name
30786
+
30787
+ # Filter reason.
30788
+ # Corresponds to the JSON property `reason`
30789
+ # @return [String]
30790
+ attr_accessor :reason
30791
+
30792
+ # The input query or generated response that is getting filtered.
30793
+ # Corresponds to the JSON property `text`
30794
+ # @return [String]
30795
+ attr_accessor :text
30796
+
30797
+ def initialize(**args)
30798
+ update!(**args)
30799
+ end
30800
+
30801
+ # Update properties of this object
30802
+ def update!(**args)
30803
+ @confidence = args[:confidence] if args.key?(:confidence)
30804
+ @debug_info = args[:debug_info] if args.key?(:debug_info)
30805
+ @fallback = args[:fallback] if args.key?(:fallback)
30806
+ @info = args[:info] if args.key?(:info)
30807
+ @name = args[:name] if args.key?(:name)
30808
+ @reason = args[:reason] if args.key?(:reason)
30809
+ @text = args[:text] if args.key?(:text)
30810
+ end
30811
+ end
30812
+
30813
+ #
30814
+ class LearningGenaiRootFilterMetadataFilterDebugInfo
30815
+ include Google::Apis::Core::Hashable
30816
+
30817
+ #
30818
+ # Corresponds to the JSON property `classifierOutput`
30819
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierOutput]
30820
+ attr_accessor :classifier_output
30821
+
30822
+ #
30823
+ # Corresponds to the JSON property `defaultMetadata`
30824
+ # @return [String]
30825
+ attr_accessor :default_metadata
30826
+
30827
+ #
30828
+ # Corresponds to the JSON property `languageFilterResult`
30829
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootLanguageFilterResult]
30830
+ attr_accessor :language_filter_result
30831
+
30832
+ # This is per harm.
30833
+ # Corresponds to the JSON property `raiOutput`
30834
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRaiOutput]
30835
+ attr_accessor :rai_output
30836
+
30837
+ # The RAI results for a given text.
30838
+ # Corresponds to the JSON property `raiResult`
30839
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiResult]
30840
+ attr_accessor :rai_result
30841
+
30842
+ # An RAI signal for a single category.
30843
+ # Corresponds to the JSON property `raiSignal`
30844
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiSignal]
30845
+ attr_accessor :rai_signal
30846
+
30847
+ # The recitation result for one stream input
30848
+ # Corresponds to the JSON property `streamRecitationResult`
30849
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoStreamRecitationResult]
30850
+ attr_accessor :stream_recitation_result
30851
+
30852
+ #
30853
+ # Corresponds to the JSON property `takedownResult`
30854
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootTakedownResult]
30855
+ attr_accessor :takedown_result
30856
+
30857
+ # A model can generate multiple signals and this captures all the generated
30858
+ # signals for a single message.
30859
+ # Corresponds to the JSON property `toxicityResult`
30860
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootToxicityResult]
30861
+ attr_accessor :toxicity_result
30862
+
30863
+ def initialize(**args)
30864
+ update!(**args)
30865
+ end
30866
+
30867
+ # Update properties of this object
30868
+ def update!(**args)
30869
+ @classifier_output = args[:classifier_output] if args.key?(:classifier_output)
30870
+ @default_metadata = args[:default_metadata] if args.key?(:default_metadata)
30871
+ @language_filter_result = args[:language_filter_result] if args.key?(:language_filter_result)
30872
+ @rai_output = args[:rai_output] if args.key?(:rai_output)
30873
+ @rai_result = args[:rai_result] if args.key?(:rai_result)
30874
+ @rai_signal = args[:rai_signal] if args.key?(:rai_signal)
30875
+ @stream_recitation_result = args[:stream_recitation_result] if args.key?(:stream_recitation_result)
30876
+ @takedown_result = args[:takedown_result] if args.key?(:takedown_result)
30877
+ @toxicity_result = args[:toxicity_result] if args.key?(:toxicity_result)
30878
+ end
30879
+ end
30880
+
30881
+ #
30882
+ class LearningGenaiRootGroundingMetadata
30883
+ include Google::Apis::Core::Hashable
30884
+
30885
+ #
30886
+ # Corresponds to the JSON property `citations`
30887
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootGroundingMetadataCitation>]
30888
+ attr_accessor :citations
30889
+
30890
+ # True if grounding is cancelled, for example, no facts being retrieved.
30891
+ # Corresponds to the JSON property `groundingCancelled`
30892
+ # @return [Boolean]
30893
+ attr_accessor :grounding_cancelled
30894
+ alias_method :grounding_cancelled?, :grounding_cancelled
30895
+
30896
+ #
30897
+ # Corresponds to the JSON property `searchQueries`
30898
+ # @return [Array<String>]
30899
+ attr_accessor :search_queries
30900
+
30901
+ def initialize(**args)
30902
+ update!(**args)
30903
+ end
30904
+
30905
+ # Update properties of this object
30906
+ def update!(**args)
30907
+ @citations = args[:citations] if args.key?(:citations)
30908
+ @grounding_cancelled = args[:grounding_cancelled] if args.key?(:grounding_cancelled)
30909
+ @search_queries = args[:search_queries] if args.key?(:search_queries)
30910
+ end
30911
+ end
30912
+
30913
+ #
30914
+ class LearningGenaiRootGroundingMetadataCitation
30915
+ include Google::Apis::Core::Hashable
30916
+
30917
+ # Index in the prediction output where the citation ends (exclusive). Must be >
30918
+ # start_index and < len(output).
30919
+ # Corresponds to the JSON property `endIndex`
30920
+ # @return [Fixnum]
30921
+ attr_accessor :end_index
30922
+
30923
+ # Index of the fact supporting this claim. Should be within the range of the `
30924
+ # world_facts` in the GenerateResponse.
30925
+ # Corresponds to the JSON property `factIndex`
30926
+ # @return [Fixnum]
30927
+ attr_accessor :fact_index
30928
+
30929
+ # Confidence score of this entailment. Value is [0,1] with 1 is the most
30930
+ # confidence.
30931
+ # Corresponds to the JSON property `score`
30932
+ # @return [Float]
30933
+ attr_accessor :score
30934
+
30935
+ # Index in the prediction output where the citation starts (inclusive). Must be >
30936
+ # = 0 and < end_index.
30937
+ # Corresponds to the JSON property `startIndex`
30938
+ # @return [Fixnum]
30939
+ attr_accessor :start_index
30940
+
30941
+ def initialize(**args)
30942
+ update!(**args)
30943
+ end
30944
+
30945
+ # Update properties of this object
30946
+ def update!(**args)
30947
+ @end_index = args[:end_index] if args.key?(:end_index)
30948
+ @fact_index = args[:fact_index] if args.key?(:fact_index)
30949
+ @score = args[:score] if args.key?(:score)
30950
+ @start_index = args[:start_index] if args.key?(:start_index)
30951
+ end
30952
+ end
30953
+
30954
+ #
30955
+ class LearningGenaiRootHarm
30956
+ include Google::Apis::Core::Hashable
30957
+
30958
+ # Please do not use, this is still under development.
30959
+ # Corresponds to the JSON property `contextualDangerous`
30960
+ # @return [Boolean]
30961
+ attr_accessor :contextual_dangerous
30962
+ alias_method :contextual_dangerous?, :contextual_dangerous
30963
+
30964
+ #
30965
+ # Corresponds to the JSON property `csam`
30966
+ # @return [Boolean]
30967
+ attr_accessor :csam
30968
+ alias_method :csam?, :csam
30969
+
30970
+ #
30971
+ # Corresponds to the JSON property `fringe`
30972
+ # @return [Boolean]
30973
+ attr_accessor :fringe
30974
+ alias_method :fringe?, :fringe
30975
+
30976
+ # Harm type for images
30977
+ # Corresponds to the JSON property `grailImageHarmType`
30978
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmGrailImageHarmType]
30979
+ attr_accessor :grail_image_harm_type
30980
+
30981
+ # Harm type for text
30982
+ # Corresponds to the JSON property `grailTextHarmType`
30983
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmGrailTextHarmType]
30984
+ attr_accessor :grail_text_harm_type
30985
+
30986
+ #
30987
+ # Corresponds to the JSON property `imageCsam`
30988
+ # @return [Boolean]
30989
+ attr_accessor :image_csam
30990
+ alias_method :image_csam?, :image_csam
30991
+
30992
+ #
30993
+ # Corresponds to the JSON property `imagePedo`
30994
+ # @return [Boolean]
30995
+ attr_accessor :image_pedo
30996
+ alias_method :image_pedo?, :image_pedo
30997
+
30998
+ # Image signals
30999
+ # Corresponds to the JSON property `imagePorn`
31000
+ # @return [Boolean]
31001
+ attr_accessor :image_porn
31002
+ alias_method :image_porn?, :image_porn
31003
+
31004
+ #
31005
+ # Corresponds to the JSON property `imageViolence`
31006
+ # @return [Boolean]
31007
+ attr_accessor :image_violence
31008
+ alias_method :image_violence?, :image_violence
31009
+
31010
+ #
31011
+ # Corresponds to the JSON property `pqc`
31012
+ # @return [Boolean]
31013
+ attr_accessor :pqc
31014
+ alias_method :pqc?, :pqc
31015
+
31016
+ #
31017
+ # Corresponds to the JSON property `safetycat`
31018
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmSafetyCatCategories]
31019
+ attr_accessor :safetycat
31020
+
31021
+ #
31022
+ # Corresponds to the JSON property `spii`
31023
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmSpiiFilter]
31024
+ attr_accessor :spii
31025
+
31026
+ #
31027
+ # Corresponds to the JSON property `threshold`
31028
+ # @return [Float]
31029
+ attr_accessor :threshold
31030
+
31031
+ #
31032
+ # Corresponds to the JSON property `videoFrameCsam`
31033
+ # @return [Boolean]
31034
+ attr_accessor :video_frame_csam
31035
+ alias_method :video_frame_csam?, :video_frame_csam
31036
+
31037
+ #
31038
+ # Corresponds to the JSON property `videoFramePedo`
31039
+ # @return [Boolean]
31040
+ attr_accessor :video_frame_pedo
31041
+ alias_method :video_frame_pedo?, :video_frame_pedo
31042
+
31043
+ # Video frame signals
31044
+ # Corresponds to the JSON property `videoFramePorn`
31045
+ # @return [Boolean]
31046
+ attr_accessor :video_frame_porn
31047
+ alias_method :video_frame_porn?, :video_frame_porn
31048
+
31049
+ #
31050
+ # Corresponds to the JSON property `videoFrameViolence`
31051
+ # @return [Boolean]
31052
+ attr_accessor :video_frame_violence
31053
+ alias_method :video_frame_violence?, :video_frame_violence
31054
+
31055
+ def initialize(**args)
31056
+ update!(**args)
31057
+ end
31058
+
31059
+ # Update properties of this object
31060
+ def update!(**args)
31061
+ @contextual_dangerous = args[:contextual_dangerous] if args.key?(:contextual_dangerous)
31062
+ @csam = args[:csam] if args.key?(:csam)
31063
+ @fringe = args[:fringe] if args.key?(:fringe)
31064
+ @grail_image_harm_type = args[:grail_image_harm_type] if args.key?(:grail_image_harm_type)
31065
+ @grail_text_harm_type = args[:grail_text_harm_type] if args.key?(:grail_text_harm_type)
31066
+ @image_csam = args[:image_csam] if args.key?(:image_csam)
31067
+ @image_pedo = args[:image_pedo] if args.key?(:image_pedo)
31068
+ @image_porn = args[:image_porn] if args.key?(:image_porn)
31069
+ @image_violence = args[:image_violence] if args.key?(:image_violence)
31070
+ @pqc = args[:pqc] if args.key?(:pqc)
31071
+ @safetycat = args[:safetycat] if args.key?(:safetycat)
31072
+ @spii = args[:spii] if args.key?(:spii)
31073
+ @threshold = args[:threshold] if args.key?(:threshold)
31074
+ @video_frame_csam = args[:video_frame_csam] if args.key?(:video_frame_csam)
31075
+ @video_frame_pedo = args[:video_frame_pedo] if args.key?(:video_frame_pedo)
31076
+ @video_frame_porn = args[:video_frame_porn] if args.key?(:video_frame_porn)
31077
+ @video_frame_violence = args[:video_frame_violence] if args.key?(:video_frame_violence)
31078
+ end
31079
+ end
31080
+
31081
+ # Harm type for images
31082
+ class LearningGenaiRootHarmGrailImageHarmType
31083
+ include Google::Apis::Core::Hashable
31084
+
31085
+ #
31086
+ # Corresponds to the JSON property `imageHarmType`
31087
+ # @return [Array<String>]
31088
+ attr_accessor :image_harm_type
31089
+
31090
+ def initialize(**args)
31091
+ update!(**args)
31092
+ end
31093
+
31094
+ # Update properties of this object
31095
+ def update!(**args)
31096
+ @image_harm_type = args[:image_harm_type] if args.key?(:image_harm_type)
31097
+ end
31098
+ end
31099
+
31100
+ # Harm type for text
31101
+ class LearningGenaiRootHarmGrailTextHarmType
31102
+ include Google::Apis::Core::Hashable
31103
+
31104
+ #
31105
+ # Corresponds to the JSON property `harmType`
31106
+ # @return [Array<String>]
31107
+ attr_accessor :harm_type
31108
+
31109
+ def initialize(**args)
31110
+ update!(**args)
31111
+ end
31112
+
31113
+ # Update properties of this object
31114
+ def update!(**args)
31115
+ @harm_type = args[:harm_type] if args.key?(:harm_type)
31116
+ end
31117
+ end
31118
+
31119
+ #
31120
+ class LearningGenaiRootHarmSafetyCatCategories
31121
+ include Google::Apis::Core::Hashable
31122
+
31123
+ #
31124
+ # Corresponds to the JSON property `categories`
31125
+ # @return [Array<String>]
31126
+ attr_accessor :categories
31127
+
31128
+ def initialize(**args)
31129
+ update!(**args)
31130
+ end
31131
+
31132
+ # Update properties of this object
31133
+ def update!(**args)
31134
+ @categories = args[:categories] if args.key?(:categories)
31135
+ end
31136
+ end
31137
+
31138
+ #
31139
+ class LearningGenaiRootHarmSpiiFilter
31140
+ include Google::Apis::Core::Hashable
31141
+
31142
+ #
31143
+ # Corresponds to the JSON property `usBankRoutingMicr`
31144
+ # @return [Boolean]
31145
+ attr_accessor :us_bank_routing_micr
31146
+ alias_method :us_bank_routing_micr?, :us_bank_routing_micr
31147
+
31148
+ #
31149
+ # Corresponds to the JSON property `usEmployerIdentificationNumber`
31150
+ # @return [Boolean]
31151
+ attr_accessor :us_employer_identification_number
31152
+ alias_method :us_employer_identification_number?, :us_employer_identification_number
31153
+
31154
+ #
31155
+ # Corresponds to the JSON property `usSocialSecurityNumber`
31156
+ # @return [Boolean]
31157
+ attr_accessor :us_social_security_number
31158
+ alias_method :us_social_security_number?, :us_social_security_number
31159
+
31160
+ def initialize(**args)
31161
+ update!(**args)
31162
+ end
31163
+
31164
+ # Update properties of this object
31165
+ def update!(**args)
31166
+ @us_bank_routing_micr = args[:us_bank_routing_micr] if args.key?(:us_bank_routing_micr)
31167
+ @us_employer_identification_number = args[:us_employer_identification_number] if args.key?(:us_employer_identification_number)
31168
+ @us_social_security_number = args[:us_social_security_number] if args.key?(:us_social_security_number)
31169
+ end
31170
+ end
31171
+
31172
+ #
31173
+ class LearningGenaiRootInternalMetadata
31174
+ include Google::Apis::Core::Hashable
31175
+
31176
+ #
31177
+ # Corresponds to the JSON property `scoredTokens`
31178
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScoredToken>]
31179
+ attr_accessor :scored_tokens
31180
+
31181
+ def initialize(**args)
31182
+ update!(**args)
31183
+ end
31184
+
31185
+ # Update properties of this object
31186
+ def update!(**args)
31187
+ @scored_tokens = args[:scored_tokens] if args.key?(:scored_tokens)
31188
+ end
31189
+ end
31190
+
31191
+ #
31192
+ class LearningGenaiRootLanguageFilterResult
31193
+ include Google::Apis::Core::Hashable
31194
+
31195
+ # False when query or response should be filtered out due to unsupported
31196
+ # language.
31197
+ # Corresponds to the JSON property `allowed`
31198
+ # @return [Boolean]
31199
+ attr_accessor :allowed
31200
+ alias_method :allowed?, :allowed
31201
+
31202
+ # Language of the query or response.
31203
+ # Corresponds to the JSON property `detectedLanguage`
31204
+ # @return [String]
31205
+ attr_accessor :detected_language
31206
+
31207
+ # Probability of the language predicted as returned by LangID.
31208
+ # Corresponds to the JSON property `detectedLanguageProbability`
31209
+ # @return [Float]
31210
+ attr_accessor :detected_language_probability
31211
+
31212
+ def initialize(**args)
31213
+ update!(**args)
31214
+ end
31215
+
31216
+ # Update properties of this object
31217
+ def update!(**args)
31218
+ @allowed = args[:allowed] if args.key?(:allowed)
31219
+ @detected_language = args[:detected_language] if args.key?(:detected_language)
31220
+ @detected_language_probability = args[:detected_language_probability] if args.key?(:detected_language_probability)
31221
+ end
31222
+ end
31223
+
31224
+ #
31225
+ class LearningGenaiRootMetricOutput
31226
+ include Google::Apis::Core::Hashable
31227
+
31228
+ #
31229
+ # Corresponds to the JSON property `debug`
31230
+ # @return [String]
31231
+ attr_accessor :debug
31232
+
31233
+ # Name of the metric.
31234
+ # Corresponds to the JSON property `name`
31235
+ # @return [String]
31236
+ attr_accessor :name
31237
+
31238
+ #
31239
+ # Corresponds to the JSON property `numericValue`
31240
+ # @return [Float]
31241
+ attr_accessor :numeric_value
31242
+
31243
+ # Wire-format for a Status object
31244
+ # Corresponds to the JSON property `status`
31245
+ # @return [Google::Apis::AiplatformV1beta1::UtilStatusProto]
31246
+ attr_accessor :status
31247
+
31248
+ #
31249
+ # Corresponds to the JSON property `stringValue`
31250
+ # @return [String]
31251
+ attr_accessor :string_value
31252
+
31253
+ def initialize(**args)
31254
+ update!(**args)
31255
+ end
31256
+
31257
+ # Update properties of this object
31258
+ def update!(**args)
31259
+ @debug = args[:debug] if args.key?(:debug)
31260
+ @name = args[:name] if args.key?(:name)
31261
+ @numeric_value = args[:numeric_value] if args.key?(:numeric_value)
31262
+ @status = args[:status] if args.key?(:status)
31263
+ @string_value = args[:string_value] if args.key?(:string_value)
31264
+ end
31265
+ end
31266
+
31267
+ # This is per harm.
31268
+ class LearningGenaiRootRaiOutput
31269
+ include Google::Apis::Core::Hashable
31270
+
31271
+ #
31272
+ # Corresponds to the JSON property `allowed`
31273
+ # @return [Boolean]
31274
+ attr_accessor :allowed
31275
+ alias_method :allowed?, :allowed
31276
+
31277
+ #
31278
+ # Corresponds to the JSON property `harm`
31279
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarm]
31280
+ attr_accessor :harm
31281
+
31282
+ #
31283
+ # Corresponds to the JSON property `name`
31284
+ # @return [String]
31285
+ attr_accessor :name
31286
+
31287
+ #
31288
+ # Corresponds to the JSON property `score`
31289
+ # @return [Float]
31290
+ attr_accessor :score
31291
+
31292
+ def initialize(**args)
31293
+ update!(**args)
31294
+ end
31295
+
31296
+ # Update properties of this object
31297
+ def update!(**args)
31298
+ @allowed = args[:allowed] if args.key?(:allowed)
31299
+ @harm = args[:harm] if args.key?(:harm)
31300
+ @name = args[:name] if args.key?(:name)
31301
+ @score = args[:score] if args.key?(:score)
31302
+ end
31303
+ end
31304
+
31305
+ #
31306
+ class LearningGenaiRootRegexTakedownResult
31307
+ include Google::Apis::Core::Hashable
31308
+
31309
+ # False when query or response should be taken down due to match with a blocked
31310
+ # regex, true otherwise.
31311
+ # Corresponds to the JSON property `allowed`
31312
+ # @return [Boolean]
31313
+ attr_accessor :allowed
31314
+ alias_method :allowed?, :allowed
31315
+
31316
+ # Regex used to decide that query or response should be taken down. Empty when
31317
+ # query or response is kept.
31318
+ # Corresponds to the JSON property `takedownRegex`
31319
+ # @return [String]
31320
+ attr_accessor :takedown_regex
31321
+
31322
+ def initialize(**args)
31323
+ update!(**args)
31324
+ end
31325
+
31326
+ # Update properties of this object
31327
+ def update!(**args)
31328
+ @allowed = args[:allowed] if args.key?(:allowed)
31329
+ @takedown_regex = args[:takedown_regex] if args.key?(:takedown_regex)
31330
+ end
31331
+ end
31332
+
31333
+ #
31334
+ class LearningGenaiRootRequestResponseTakedownResult
31335
+ include Google::Apis::Core::Hashable
31336
+
31337
+ # False when response has to be taken down per above config.
31338
+ # Corresponds to the JSON property `allowed`
31339
+ # @return [Boolean]
31340
+ attr_accessor :allowed
31341
+ alias_method :allowed?, :allowed
31342
+
31343
+ # Regex used to match the request.
31344
+ # Corresponds to the JSON property `requestTakedownRegex`
31345
+ # @return [String]
31346
+ attr_accessor :request_takedown_regex
31347
+
31348
+ # Regex used to decide that response should be taken down. Empty when response
31349
+ # is kept.
31350
+ # Corresponds to the JSON property `responseTakedownRegex`
31351
+ # @return [String]
31352
+ attr_accessor :response_takedown_regex
31353
+
31354
+ def initialize(**args)
31355
+ update!(**args)
31356
+ end
31357
+
31358
+ # Update properties of this object
31359
+ def update!(**args)
31360
+ @allowed = args[:allowed] if args.key?(:allowed)
31361
+ @request_takedown_regex = args[:request_takedown_regex] if args.key?(:request_takedown_regex)
31362
+ @response_takedown_regex = args[:response_takedown_regex] if args.key?(:response_takedown_regex)
31363
+ end
31364
+ end
31365
+
31366
+ # Holds the final routing decision, by storing the model_config_id. And
31367
+ # individual scores each model got.
31368
+ class LearningGenaiRootRoutingDecision
31369
+ include Google::Apis::Core::Hashable
31370
+
31371
+ # Debug metadata about the routing decision.
31372
+ # Corresponds to the JSON property `metadata`
31373
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadata]
31374
+ attr_accessor :metadata
31375
+
31376
+ # The selected model to route traffic to.
31377
+ # Corresponds to the JSON property `modelConfigId`
31378
+ # @return [String]
31379
+ attr_accessor :model_config_id
31380
+
31381
+ def initialize(**args)
31382
+ update!(**args)
31383
+ end
31384
+
31385
+ # Update properties of this object
31386
+ def update!(**args)
31387
+ @metadata = args[:metadata] if args.key?(:metadata)
31388
+ @model_config_id = args[:model_config_id] if args.key?(:model_config_id)
31389
+ end
31390
+ end
31391
+
31392
+ # Debug metadata about the routing decision.
31393
+ class LearningGenaiRootRoutingDecisionMetadata
31394
+ include Google::Apis::Core::Hashable
31395
+
31396
+ # If we are routing using scored based configuration, then the metadata about
31397
+ # that is available in this proto.
31398
+ # Corresponds to the JSON property `scoreBasedRoutingMetadata`
31399
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataScoreBased]
31400
+ attr_accessor :score_based_routing_metadata
31401
+
31402
+ #
31403
+ # Corresponds to the JSON property `tokenLengthBasedRoutingMetadata`
31404
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBased]
31405
+ attr_accessor :token_length_based_routing_metadata
31406
+
31407
+ def initialize(**args)
31408
+ update!(**args)
31409
+ end
31410
+
31411
+ # Update properties of this object
31412
+ def update!(**args)
31413
+ @score_based_routing_metadata = args[:score_based_routing_metadata] if args.key?(:score_based_routing_metadata)
31414
+ @token_length_based_routing_metadata = args[:token_length_based_routing_metadata] if args.key?(:token_length_based_routing_metadata)
31415
+ end
31416
+ end
31417
+
31418
+ # If we are routing using scored based configuration, then the metadata about
31419
+ # that is available in this proto.
31420
+ class LearningGenaiRootRoutingDecisionMetadataScoreBased
31421
+ include Google::Apis::Core::Hashable
31422
+
31423
+ # The rule that was matched.
31424
+ # Corresponds to the JSON property `matchedRule`
31425
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScoreBasedRoutingConfigRule]
31426
+ attr_accessor :matched_rule
31427
+
31428
+ # The score that was generated by the router i.e. the model.
31429
+ # Corresponds to the JSON property `score`
31430
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31431
+ attr_accessor :score
31432
+
31433
+ # No rules were matched & therefore used the default fallback.
31434
+ # Corresponds to the JSON property `usedDefaultFallback`
31435
+ # @return [Boolean]
31436
+ attr_accessor :used_default_fallback
31437
+ alias_method :used_default_fallback?, :used_default_fallback
31438
+
31439
+ def initialize(**args)
31440
+ update!(**args)
31441
+ end
31442
+
31443
+ # Update properties of this object
31444
+ def update!(**args)
31445
+ @matched_rule = args[:matched_rule] if args.key?(:matched_rule)
31446
+ @score = args[:score] if args.key?(:score)
31447
+ @used_default_fallback = args[:used_default_fallback] if args.key?(:used_default_fallback)
31448
+ end
31449
+ end
31450
+
31451
+ #
31452
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBased
31453
+ include Google::Apis::Core::Hashable
31454
+
31455
+ #
31456
+ # Corresponds to the JSON property `modelInputTokenMetadata`
31457
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata>]
31458
+ attr_accessor :model_input_token_metadata
31459
+
31460
+ #
31461
+ # Corresponds to the JSON property `modelMaxTokenMetadata`
31462
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelMaxTokenMetadata>]
31463
+ attr_accessor :model_max_token_metadata
31464
+
31465
+ def initialize(**args)
31466
+ update!(**args)
31467
+ end
31468
+
31469
+ # Update properties of this object
31470
+ def update!(**args)
31471
+ @model_input_token_metadata = args[:model_input_token_metadata] if args.key?(:model_input_token_metadata)
31472
+ @model_max_token_metadata = args[:model_max_token_metadata] if args.key?(:model_max_token_metadata)
31473
+ end
31474
+ end
31475
+
31476
+ #
31477
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata
31478
+ include Google::Apis::Core::Hashable
31479
+
31480
+ # The length computed by backends using the formatter & tokenizer specific to
31481
+ # the model
31482
+ # Corresponds to the JSON property `computedInputTokenLength`
31483
+ # @return [Fixnum]
31484
+ attr_accessor :computed_input_token_length
31485
+
31486
+ #
31487
+ # Corresponds to the JSON property `modelId`
31488
+ # @return [String]
31489
+ attr_accessor :model_id
31490
+
31491
+ def initialize(**args)
31492
+ update!(**args)
31493
+ end
31494
+
31495
+ # Update properties of this object
31496
+ def update!(**args)
31497
+ @computed_input_token_length = args[:computed_input_token_length] if args.key?(:computed_input_token_length)
31498
+ @model_id = args[:model_id] if args.key?(:model_id)
31499
+ end
31500
+ end
31501
+
31502
+ #
31503
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelMaxTokenMetadata
31504
+ include Google::Apis::Core::Hashable
31505
+
31506
+ #
31507
+ # Corresponds to the JSON property `maxNumInputTokens`
31508
+ # @return [Fixnum]
31509
+ attr_accessor :max_num_input_tokens
31510
+
31511
+ #
31512
+ # Corresponds to the JSON property `maxNumOutputTokens`
31513
+ # @return [Fixnum]
31514
+ attr_accessor :max_num_output_tokens
31515
+
31516
+ #
31517
+ # Corresponds to the JSON property `modelId`
31518
+ # @return [String]
31519
+ attr_accessor :model_id
31520
+
31521
+ def initialize(**args)
31522
+ update!(**args)
31523
+ end
31524
+
31525
+ # Update properties of this object
31526
+ def update!(**args)
31527
+ @max_num_input_tokens = args[:max_num_input_tokens] if args.key?(:max_num_input_tokens)
31528
+ @max_num_output_tokens = args[:max_num_output_tokens] if args.key?(:max_num_output_tokens)
31529
+ @model_id = args[:model_id] if args.key?(:model_id)
31530
+ end
31531
+ end
31532
+
31533
+ #
31534
+ class LearningGenaiRootRuleOutput
31535
+ include Google::Apis::Core::Hashable
31536
+
31537
+ #
31538
+ # Corresponds to the JSON property `decision`
31539
+ # @return [String]
31540
+ attr_accessor :decision
31541
+
31542
+ #
31543
+ # Corresponds to the JSON property `name`
31544
+ # @return [String]
31545
+ attr_accessor :name
31546
+
31547
+ def initialize(**args)
31548
+ update!(**args)
31549
+ end
31550
+
31551
+ # Update properties of this object
31552
+ def update!(**args)
31553
+ @decision = args[:decision] if args.key?(:decision)
31554
+ @name = args[:name] if args.key?(:name)
31555
+ end
31556
+ end
31557
+
31558
+ #
31559
+ class LearningGenaiRootScore
31560
+ include Google::Apis::Core::Hashable
31561
+
31562
+ # The type used for final weights calculation.
31563
+ # Corresponds to the JSON property `calculationType`
31564
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootCalculationType]
31565
+ attr_accessor :calculation_type
31566
+
31567
+ # The internal_metadata is intended to be used by internal processors and will
31568
+ # be cleared before returns.
31569
+ # Corresponds to the JSON property `internalMetadata`
31570
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootInternalMetadata]
31571
+ attr_accessor :internal_metadata
31572
+
31573
+ # The type of score that bundled with a threshold, and will not be attending the
31574
+ # final score calculation. How each score type uses the threshold can be
31575
+ # implementation details.
31576
+ # Corresponds to the JSON property `thresholdType`
31577
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootThresholdType]
31578
+ attr_accessor :threshold_type
31579
+
31580
+ # Results of RandomSamplingParams::top_k_logprob_per_decoding_step.
31581
+ # Corresponds to the JSON property `tokensAndLogprobPerDecodingStep`
31582
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStep]
31583
+ attr_accessor :tokens_and_logprob_per_decoding_step
31584
+
31585
+ #
31586
+ # Corresponds to the JSON property `value`
31587
+ # @return [Float]
31588
+ attr_accessor :value
31589
+
31590
+ def initialize(**args)
31591
+ update!(**args)
31592
+ end
31593
+
31594
+ # Update properties of this object
31595
+ def update!(**args)
31596
+ @calculation_type = args[:calculation_type] if args.key?(:calculation_type)
31597
+ @internal_metadata = args[:internal_metadata] if args.key?(:internal_metadata)
31598
+ @threshold_type = args[:threshold_type] if args.key?(:threshold_type)
31599
+ @tokens_and_logprob_per_decoding_step = args[:tokens_and_logprob_per_decoding_step] if args.key?(:tokens_and_logprob_per_decoding_step)
31600
+ @value = args[:value] if args.key?(:value)
31601
+ end
31602
+ end
31603
+
31604
+ #
31605
+ class LearningGenaiRootScoreBasedRoutingConfigRule
31606
+ include Google::Apis::Core::Hashable
31607
+
31608
+ # NOTE: Hardest examples have smaller values in their routing scores.
31609
+ # Corresponds to the JSON property `equalOrGreaterThan`
31610
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31611
+ attr_accessor :equal_or_greater_than
31612
+
31613
+ #
31614
+ # Corresponds to the JSON property `lessThan`
31615
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31616
+ attr_accessor :less_than
31617
+
31618
+ # This model_config_id points to ModelConfig::id which allows us to find the
31619
+ # ModelConfig to route to. This is part of the banks specified in the
31620
+ # ModelBankConfig.
31621
+ # Corresponds to the JSON property `modelConfigId`
31622
+ # @return [String]
31623
+ attr_accessor :model_config_id
31624
+
31625
+ def initialize(**args)
31626
+ update!(**args)
31627
+ end
31628
+
31629
+ # Update properties of this object
31630
+ def update!(**args)
31631
+ @equal_or_greater_than = args[:equal_or_greater_than] if args.key?(:equal_or_greater_than)
31632
+ @less_than = args[:less_than] if args.key?(:less_than)
31633
+ @model_config_id = args[:model_config_id] if args.key?(:model_config_id)
31634
+ end
31635
+ end
31636
+
31637
+ # Proto containing the results from the Universal Sentence Encoder / Other
31638
+ # models
31639
+ class LearningGenaiRootScoredSimilarityTakedownPhrase
31640
+ include Google::Apis::Core::Hashable
31641
+
31642
+ # Each SimilarityTakedownPhrase treats a logical group of blocked and allowed
31643
+ # phrases together along with a corresponding punt If the closest matching
31644
+ # response is of the allowed type, we allow the response If the closest matching
31645
+ # response is of the blocked type, we block the response. eg: Blocked phrase - "
31646
+ # All lives matter"
31647
+ # Corresponds to the JSON property `phrase`
31648
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootSimilarityTakedownPhrase]
31649
+ attr_accessor :phrase
31650
+
31651
+ #
31652
+ # Corresponds to the JSON property `similarityScore`
31653
+ # @return [Float]
31654
+ attr_accessor :similarity_score
31655
+
31656
+ def initialize(**args)
31657
+ update!(**args)
31658
+ end
31659
+
31660
+ # Update properties of this object
31661
+ def update!(**args)
31662
+ @phrase = args[:phrase] if args.key?(:phrase)
31663
+ @similarity_score = args[:similarity_score] if args.key?(:similarity_score)
31664
+ end
31665
+ end
31666
+
31667
+ # A token with its own score.
31668
+ class LearningGenaiRootScoredToken
31669
+ include Google::Apis::Core::Hashable
31670
+
31671
+ # Each end_token_score is a logprob for how well the completion would end at a
31672
+ # particular token. See http://google3/labs/language/aida/config/proto/
31673
+ # model_config.proto;l=376;rcl=573039459
31674
+ # Corresponds to the JSON property `endTokenScore`
31675
+ # @return [Float]
31676
+ attr_accessor :end_token_score
31677
+
31678
+ # Each score is the logprob for the token in model response.
31679
+ # Corresponds to the JSON property `score`
31680
+ # @return [Float]
31681
+ attr_accessor :score
31682
+
31683
+ #
31684
+ # Corresponds to the JSON property `token`
31685
+ # @return [String]
31686
+ attr_accessor :token
31687
+
31688
+ def initialize(**args)
31689
+ update!(**args)
31690
+ end
31691
+
31692
+ # Update properties of this object
31693
+ def update!(**args)
31694
+ @end_token_score = args[:end_token_score] if args.key?(:end_token_score)
31695
+ @score = args[:score] if args.key?(:score)
31696
+ @token = args[:token] if args.key?(:token)
31697
+ end
31698
+ end
31699
+
31700
+ # Each SimilarityTakedownPhrase treats a logical group of blocked and allowed
31701
+ # phrases together along with a corresponding punt If the closest matching
31702
+ # response is of the allowed type, we allow the response If the closest matching
31703
+ # response is of the blocked type, we block the response. eg: Blocked phrase - "
31704
+ # All lives matter"
31705
+ class LearningGenaiRootSimilarityTakedownPhrase
31706
+ include Google::Apis::Core::Hashable
31707
+
31708
+ #
31709
+ # Corresponds to the JSON property `blockedPhrase`
31710
+ # @return [String]
31711
+ attr_accessor :blocked_phrase
31712
+
31713
+ def initialize(**args)
31714
+ update!(**args)
31715
+ end
31716
+
31717
+ # Update properties of this object
31718
+ def update!(**args)
31719
+ @blocked_phrase = args[:blocked_phrase] if args.key?(:blocked_phrase)
31720
+ end
31721
+ end
31722
+
31723
+ #
31724
+ class LearningGenaiRootSimilarityTakedownResult
31725
+ include Google::Apis::Core::Hashable
31726
+
31727
+ # False when query or response should be taken down by any of the takedown rules,
31728
+ # true otherwise.
31729
+ # Corresponds to the JSON property `allowed`
31730
+ # @return [Boolean]
31731
+ attr_accessor :allowed
31732
+ alias_method :allowed?, :allowed
31733
+
31734
+ # List of similar phrases with score. Set only if allowed=false.
31735
+ # Corresponds to the JSON property `scoredPhrases`
31736
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScoredSimilarityTakedownPhrase>]
31737
+ attr_accessor :scored_phrases
31738
+
31739
+ def initialize(**args)
31740
+ update!(**args)
31741
+ end
31742
+
31743
+ # Update properties of this object
31744
+ def update!(**args)
31745
+ @allowed = args[:allowed] if args.key?(:allowed)
31746
+ @scored_phrases = args[:scored_phrases] if args.key?(:scored_phrases)
31747
+ end
31748
+ end
31749
+
31750
+ #
31751
+ class LearningGenaiRootTakedownResult
31752
+ include Google::Apis::Core::Hashable
31753
+
31754
+ # False when query or response should be taken down by any of the takedown rules,
31755
+ # true otherwise.
31756
+ # Corresponds to the JSON property `allowed`
31757
+ # @return [Boolean]
31758
+ attr_accessor :allowed
31759
+ alias_method :allowed?, :allowed
31760
+
31761
+ #
31762
+ # Corresponds to the JSON property `regexTakedownResult`
31763
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRegexTakedownResult]
31764
+ attr_accessor :regex_takedown_result
31765
+
31766
+ #
31767
+ # Corresponds to the JSON property `requestResponseTakedownResult`
31768
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRequestResponseTakedownResult]
31769
+ attr_accessor :request_response_takedown_result
31770
+
31771
+ #
31772
+ # Corresponds to the JSON property `similarityTakedownResult`
31773
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootSimilarityTakedownResult]
31774
+ attr_accessor :similarity_takedown_result
31775
+
31776
+ def initialize(**args)
31777
+ update!(**args)
31778
+ end
31779
+
31780
+ # Update properties of this object
31781
+ def update!(**args)
31782
+ @allowed = args[:allowed] if args.key?(:allowed)
31783
+ @regex_takedown_result = args[:regex_takedown_result] if args.key?(:regex_takedown_result)
31784
+ @request_response_takedown_result = args[:request_response_takedown_result] if args.key?(:request_response_takedown_result)
31785
+ @similarity_takedown_result = args[:similarity_takedown_result] if args.key?(:similarity_takedown_result)
31786
+ end
31787
+ end
31788
+
31789
+ # The type of score that bundled with a threshold, and will not be attending the
31790
+ # final score calculation. How each score type uses the threshold can be
31791
+ # implementation details.
31792
+ class LearningGenaiRootThresholdType
31793
+ include Google::Apis::Core::Hashable
31794
+
31795
+ #
31796
+ # Corresponds to the JSON property `scoreType`
31797
+ # @return [String]
31798
+ attr_accessor :score_type
31799
+
31800
+ #
31801
+ # Corresponds to the JSON property `threshold`
31802
+ # @return [Float]
31803
+ attr_accessor :threshold
31804
+
31805
+ def initialize(**args)
31806
+ update!(**args)
31807
+ end
31808
+
31809
+ # Update properties of this object
31810
+ def update!(**args)
31811
+ @score_type = args[:score_type] if args.key?(:score_type)
31812
+ @threshold = args[:threshold] if args.key?(:threshold)
31813
+ end
31814
+ end
31815
+
31816
+ # Results of RandomSamplingParams::top_k_logprob_per_decoding_step.
31817
+ class LearningGenaiRootTokensAndLogProbPerDecodingStep
31818
+ include Google::Apis::Core::Hashable
31819
+
31820
+ # Length = total number of decoding steps. The chosen candidates may or may not
31821
+ # be in top_candidates.
31822
+ # Corresponds to the JSON property `chosenCandidates`
31823
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate>]
31824
+ attr_accessor :chosen_candidates
31825
+
31826
+ # Length = total number of decoding steps.
31827
+ # Corresponds to the JSON property `topCandidates`
31828
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates>]
31829
+ attr_accessor :top_candidates
31830
+
31831
+ def initialize(**args)
31832
+ update!(**args)
31833
+ end
31834
+
31835
+ # Update properties of this object
31836
+ def update!(**args)
31837
+ @chosen_candidates = args[:chosen_candidates] if args.key?(:chosen_candidates)
31838
+ @top_candidates = args[:top_candidates] if args.key?(:top_candidates)
31839
+ end
31840
+ end
31841
+
31842
+ # A candidate at a decoding step.
31843
+ class LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate
31844
+ include Google::Apis::Core::Hashable
31845
+
31846
+ # The candidate's log probability.
31847
+ # Corresponds to the JSON property `logProbability`
31848
+ # @return [Float]
31849
+ attr_accessor :log_probability
31850
+
31851
+ # The candidate’s token value.
31852
+ # Corresponds to the JSON property `token`
31853
+ # @return [String]
31854
+ attr_accessor :token
31855
+
31856
+ def initialize(**args)
31857
+ update!(**args)
31858
+ end
31859
+
31860
+ # Update properties of this object
31861
+ def update!(**args)
31862
+ @log_probability = args[:log_probability] if args.key?(:log_probability)
31863
+ @token = args[:token] if args.key?(:token)
31864
+ end
31865
+ end
31866
+
31867
+ # Candidates with top log probabilities at each decoding step.
31868
+ class LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates
31869
+ include Google::Apis::Core::Hashable
31870
+
31871
+ # Sorted by log probability in descending order.
31872
+ # Corresponds to the JSON property `candidates`
31873
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate>]
31874
+ attr_accessor :candidates
31875
+
31876
+ def initialize(**args)
31877
+ update!(**args)
31878
+ end
31879
+
31880
+ # Update properties of this object
31881
+ def update!(**args)
31882
+ @candidates = args[:candidates] if args.key?(:candidates)
31883
+ end
31884
+ end
31885
+
31886
+ # A model can generate multiple signals and this captures all the generated
31887
+ # signals for a single message.
31888
+ class LearningGenaiRootToxicityResult
31889
+ include Google::Apis::Core::Hashable
31890
+
31891
+ #
31892
+ # Corresponds to the JSON property `signals`
31893
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootToxicitySignal>]
31894
+ attr_accessor :signals
31895
+
31896
+ def initialize(**args)
31897
+ update!(**args)
31898
+ end
31899
+
31900
+ # Update properties of this object
31901
+ def update!(**args)
31902
+ @signals = args[:signals] if args.key?(:signals)
31903
+ end
31904
+ end
31905
+
31906
+ # Proto to capture a signal generated by the toxicity model.
31907
+ class LearningGenaiRootToxicitySignal
31908
+ include Google::Apis::Core::Hashable
31909
+
31910
+ #
31911
+ # Corresponds to the JSON property `allowed`
31912
+ # @return [Boolean]
31913
+ attr_accessor :allowed
31914
+ alias_method :allowed?, :allowed
31915
+
31916
+ #
31917
+ # Corresponds to the JSON property `label`
31918
+ # @return [String]
31919
+ attr_accessor :label
31920
+
31921
+ #
31922
+ # Corresponds to the JSON property `score`
31923
+ # @return [Float]
31924
+ attr_accessor :score
31925
+
31926
+ def initialize(**args)
31927
+ update!(**args)
31928
+ end
31929
+
31930
+ # Update properties of this object
31931
+ def update!(**args)
31932
+ @allowed = args[:allowed] if args.key?(:allowed)
31933
+ @label = args[:label] if args.key?(:label)
31934
+ @score = args[:score] if args.key?(:score)
31935
+ end
31936
+ end
31937
+
31938
+ # LINT.IfChange This metadata contains additional information required for
31939
+ # debugging.
31940
+ class LearningServingLlmMessageMetadata
31941
+ include Google::Apis::Core::Hashable
31942
+
31943
+ # Summary of classifier output. We attach this to all messages regardless of
31944
+ # whether classification rules triggered or not.
31945
+ # Corresponds to the JSON property `classifierSummary`
31946
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierOutputSummary]
31947
+ attr_accessor :classifier_summary
31948
+
31949
+ #
31950
+ # Corresponds to the JSON property `currentStreamTextLength`
31951
+ # @return [Fixnum]
31952
+ attr_accessor :current_stream_text_length
31953
+
31954
+ # Whether the corresponding message has been deleted.
31955
+ # Corresponds to the JSON property `deleted`
31956
+ # @return [Boolean]
31957
+ attr_accessor :deleted
31958
+ alias_method :deleted?, :deleted
31959
+
31960
+ # Metadata for filters that triggered.
31961
+ # Corresponds to the JSON property `filterMeta`
31962
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootFilterMetadata>]
31963
+ attr_accessor :filter_meta
31964
+
31965
+ # This score is finally used for ranking the message. This will be same as the
31966
+ # score present in `Message.score` field.
31967
+ # Corresponds to the JSON property `finalMessageScore`
31968
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31969
+ attr_accessor :final_message_score
31970
+
31971
+ # NOT YET IMPLEMENTED.
31972
+ # Corresponds to the JSON property `finishReason`
31973
+ # @return [String]
31974
+ attr_accessor :finish_reason
31975
+
31976
+ #
31977
+ # Corresponds to the JSON property `groundingMetadata`
31978
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootGroundingMetadata]
31979
+ attr_accessor :grounding_metadata
31980
+
31981
+ # Applies to Response message only. Indicates whether the message is a fallback
31982
+ # and the response would have otherwise been empty.
31983
+ # Corresponds to the JSON property `isFallback`
31984
+ # @return [Boolean]
31985
+ attr_accessor :is_fallback
31986
+ alias_method :is_fallback?, :is_fallback
31987
+
31988
+ # Result from nlp_saft DetectLanguage method. Currently the predicted language
31989
+ # code and language probability is used.
31990
+ # Corresponds to the JSON property `langidResult`
31991
+ # @return [Google::Apis::AiplatformV1beta1::NlpSaftLangIdResult]
31992
+ attr_accessor :langid_result
31993
+
31994
+ # Detected language.
31995
+ # Corresponds to the JSON property `language`
31996
+ # @return [String]
31997
+ attr_accessor :language
31998
+
31999
+ # The LM prefix used to generate this response.
32000
+ # Corresponds to the JSON property `lmPrefix`
32001
+ # @return [String]
32002
+ attr_accessor :lm_prefix
32003
+
32004
+ # The original text generated by LLM. This is the raw output for debugging
32005
+ # purposes.
32006
+ # Corresponds to the JSON property `originalText`
32007
+ # @return [String]
32008
+ attr_accessor :original_text
32009
+
32010
+ # NOT YET IMPLEMENTED. Applies to streaming only. Number of tokens decoded /
32011
+ # emitted by the model as part of this stream. This may be different from
32012
+ # token_count, which contains number of tokens returned in this response after
32013
+ # any response rewriting / truncation.
32014
+ # Corresponds to the JSON property `perStreamDecodedTokenCount`
32015
+ # @return [Fixnum]
32016
+ attr_accessor :per_stream_decoded_token_count
32017
+
32018
+ # Results of running RAI on the query or this response candidate. One output per
32019
+ # rai_config. It will be populated regardless of whether the threshold is
32020
+ # exceeded or not.
32021
+ # Corresponds to the JSON property `raiOutputs`
32022
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRaiOutput>]
32023
+ attr_accessor :rai_outputs
32024
+
32025
+ # The recitation result for one input
32026
+ # Corresponds to the JSON property `recitationResult`
32027
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRecitationRecitationResult]
32028
+ attr_accessor :recitation_result
32029
+
32030
+ # NOT YET IMPLEMENTED. Number of tokens returned as part of this candidate.
32031
+ # Corresponds to the JSON property `returnTokenCount`
32032
+ # @return [Fixnum]
32033
+ attr_accessor :return_token_count
32034
+
32035
+ # All the different scores for a message are logged here.
32036
+ # Corresponds to the JSON property `scores`
32037
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScore>]
32038
+ attr_accessor :scores
32039
+
32040
+ # Whether the response is terminated during streaming return. Only used for
32041
+ # streaming requests.
32042
+ # Corresponds to the JSON property `streamTerminated`
32043
+ # @return [Boolean]
32044
+ attr_accessor :stream_terminated
32045
+ alias_method :stream_terminated?, :stream_terminated
32046
+
32047
+ # NOT YET IMPLEMENTED. Aggregated number of total tokens decoded so far. For
32048
+ # streaming, this is sum of all the tokens decoded so far i.e. aggregated count.
32049
+ # Corresponds to the JSON property `totalDecodedTokenCount`
32050
+ # @return [Fixnum]
32051
+ attr_accessor :total_decoded_token_count
32052
+
32053
+ # Translated user-prompt used for RAI post processing. This is for internal
32054
+ # processing only. We will translate in pre-processor and pass the translated
32055
+ # text to the post processor using this field. It will be empty if non of the
32056
+ # signals requested need translation.
32057
+ # Corresponds to the JSON property `translatedUserPrompts`
32058
+ # @return [Array<String>]
32059
+ attr_accessor :translated_user_prompts
32060
+
32061
+ # The RAI results for a given text.
32062
+ # Corresponds to the JSON property `vertexRaiResult`
32063
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiResult]
32064
+ attr_accessor :vertex_rai_result
32065
+
32066
+ def initialize(**args)
32067
+ update!(**args)
32068
+ end
32069
+
32070
+ # Update properties of this object
32071
+ def update!(**args)
32072
+ @classifier_summary = args[:classifier_summary] if args.key?(:classifier_summary)
32073
+ @current_stream_text_length = args[:current_stream_text_length] if args.key?(:current_stream_text_length)
32074
+ @deleted = args[:deleted] if args.key?(:deleted)
32075
+ @filter_meta = args[:filter_meta] if args.key?(:filter_meta)
32076
+ @final_message_score = args[:final_message_score] if args.key?(:final_message_score)
32077
+ @finish_reason = args[:finish_reason] if args.key?(:finish_reason)
32078
+ @grounding_metadata = args[:grounding_metadata] if args.key?(:grounding_metadata)
32079
+ @is_fallback = args[:is_fallback] if args.key?(:is_fallback)
32080
+ @langid_result = args[:langid_result] if args.key?(:langid_result)
32081
+ @language = args[:language] if args.key?(:language)
32082
+ @lm_prefix = args[:lm_prefix] if args.key?(:lm_prefix)
32083
+ @original_text = args[:original_text] if args.key?(:original_text)
32084
+ @per_stream_decoded_token_count = args[:per_stream_decoded_token_count] if args.key?(:per_stream_decoded_token_count)
32085
+ @rai_outputs = args[:rai_outputs] if args.key?(:rai_outputs)
32086
+ @recitation_result = args[:recitation_result] if args.key?(:recitation_result)
32087
+ @return_token_count = args[:return_token_count] if args.key?(:return_token_count)
32088
+ @scores = args[:scores] if args.key?(:scores)
32089
+ @stream_terminated = args[:stream_terminated] if args.key?(:stream_terminated)
32090
+ @total_decoded_token_count = args[:total_decoded_token_count] if args.key?(:total_decoded_token_count)
32091
+ @translated_user_prompts = args[:translated_user_prompts] if args.key?(:translated_user_prompts)
32092
+ @vertex_rai_result = args[:vertex_rai_result] if args.key?(:vertex_rai_result)
32093
+ end
32094
+ end
32095
+
32096
+ #
32097
+ class NlpSaftLangIdLocalesResult
32098
+ include Google::Apis::Core::Hashable
32099
+
32100
+ # List of locales in which the text would be considered acceptable. Sorted in
32101
+ # descending order according to each locale's respective likelihood. For example,
32102
+ # if a Portuguese text is acceptable in both Brazil and Portugal, but is more
32103
+ # strongly associated with Brazil, then the predictions would be ["pt-BR", "pt-
32104
+ # PT"], in that order. May be empty, indicating that the model did not predict
32105
+ # any acceptable locales.
32106
+ # Corresponds to the JSON property `predictions`
32107
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLangIdLocalesResultLocale>]
32108
+ attr_accessor :predictions
32109
+
32110
+ def initialize(**args)
32111
+ update!(**args)
32112
+ end
32113
+
32114
+ # Update properties of this object
32115
+ def update!(**args)
32116
+ @predictions = args[:predictions] if args.key?(:predictions)
32117
+ end
32118
+ end
32119
+
32120
+ #
32121
+ class NlpSaftLangIdLocalesResultLocale
32122
+ include Google::Apis::Core::Hashable
32123
+
32124
+ # A BCP 47 language code that includes region information. For example, "pt-BR"
32125
+ # or "pt-PT". This field will always be populated.
32126
+ # Corresponds to the JSON property `languageCode`
32127
+ # @return [String]
32128
+ attr_accessor :language_code
32129
+
32130
+ def initialize(**args)
32131
+ update!(**args)
32132
+ end
32133
+
32134
+ # Update properties of this object
32135
+ def update!(**args)
32136
+ @language_code = args[:language_code] if args.key?(:language_code)
32137
+ end
32138
+ end
32139
+
32140
+ #
32141
+ class NlpSaftLangIdResult
32142
+ include Google::Apis::Core::Hashable
32143
+
32144
+ # The version of the model used to create these annotations.
32145
+ # Corresponds to the JSON property `modelVersion`
32146
+ # @return [String]
32147
+ attr_accessor :model_version
32148
+
32149
+ # This field stores the n-best list of possible BCP 47 language code strings for
32150
+ # a given input sorted in descending order according to each code's respective
32151
+ # probability.
32152
+ # Corresponds to the JSON property `predictions`
32153
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpan>]
32154
+ attr_accessor :predictions
32155
+
32156
+ # This field stores language predictions of subspans of the input, when
32157
+ # available. Each LanguageSpanSequence is a sequence of LanguageSpans. A
32158
+ # particular sequence of LanguageSpans has an associated probability, and need
32159
+ # not necessarily cover the entire input. If no language could be predicted for
32160
+ # any span, then this field may be empty.
32161
+ # Corresponds to the JSON property `spanPredictions`
32162
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpanSequence>]
32163
+ attr_accessor :span_predictions
32164
+
32165
+ def initialize(**args)
32166
+ update!(**args)
32167
+ end
32168
+
32169
+ # Update properties of this object
32170
+ def update!(**args)
32171
+ @model_version = args[:model_version] if args.key?(:model_version)
32172
+ @predictions = args[:predictions] if args.key?(:predictions)
32173
+ @span_predictions = args[:span_predictions] if args.key?(:span_predictions)
32174
+ end
32175
+ end
32176
+
32177
+ #
32178
+ class NlpSaftLanguageSpan
32179
+ include Google::Apis::Core::Hashable
32180
+
32181
+ #
32182
+ # Corresponds to the JSON property `end`
32183
+ # @return [Fixnum]
32184
+ attr_accessor :end
32185
+
32186
+ # A BCP 47 language code for this span.
32187
+ # Corresponds to the JSON property `languageCode`
32188
+ # @return [String]
32189
+ attr_accessor :language_code
32190
+
32191
+ # Optional field containing any information that was predicted about the
32192
+ # specific locale(s) of the span.
32193
+ # Corresponds to the JSON property `locales`
32194
+ # @return [Google::Apis::AiplatformV1beta1::NlpSaftLangIdLocalesResult]
32195
+ attr_accessor :locales
32196
+
32197
+ # A probability associated with this prediction.
32198
+ # Corresponds to the JSON property `probability`
32199
+ # @return [Float]
32200
+ attr_accessor :probability
32201
+
32202
+ # Start and end byte offsets, inclusive, within the given input string. A value
32203
+ # of -1 implies that this field is not set. Both fields must either be set with
32204
+ # a nonnegative value or both are unset. If both are unset then this
32205
+ # LanguageSpan applies to the entire input.
32206
+ # Corresponds to the JSON property `start`
32207
+ # @return [Fixnum]
32208
+ attr_accessor :start
32209
+
32210
+ def initialize(**args)
32211
+ update!(**args)
32212
+ end
32213
+
32214
+ # Update properties of this object
32215
+ def update!(**args)
32216
+ @end = args[:end] if args.key?(:end)
32217
+ @language_code = args[:language_code] if args.key?(:language_code)
32218
+ @locales = args[:locales] if args.key?(:locales)
32219
+ @probability = args[:probability] if args.key?(:probability)
32220
+ @start = args[:start] if args.key?(:start)
32221
+ end
32222
+ end
32223
+
32224
+ #
32225
+ class NlpSaftLanguageSpanSequence
32226
+ include Google::Apis::Core::Hashable
32227
+
32228
+ # A sequence of LanguageSpan objects, each assigning a language to a subspan of
32229
+ # the input.
32230
+ # Corresponds to the JSON property `languageSpans`
32231
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpan>]
32232
+ attr_accessor :language_spans
32233
+
32234
+ # The probability of this sequence of LanguageSpans.
32235
+ # Corresponds to the JSON property `probability`
32236
+ # @return [Float]
32237
+ attr_accessor :probability
32238
+
32239
+ def initialize(**args)
32240
+ update!(**args)
32241
+ end
32242
+
32243
+ # Update properties of this object
32244
+ def update!(**args)
32245
+ @language_spans = args[:language_spans] if args.key?(:language_spans)
32246
+ @probability = args[:probability] if args.key?(:probability)
32247
+ end
32248
+ end
32249
+
32250
+ # This is proto2's version of MessageSet.
32251
+ class Proto2BridgeMessageSet
32252
+ include Google::Apis::Core::Hashable
32253
+
32254
+ def initialize(**args)
32255
+ update!(**args)
32256
+ end
32257
+
32258
+ # Update properties of this object
32259
+ def update!(**args)
32260
+ end
32261
+ end
32262
+
32263
+ # Wire-format for a Status object
32264
+ class UtilStatusProto
32265
+ include Google::Apis::Core::Hashable
32266
+
32267
+ # The canonical error code (see codes.proto) that most closely corresponds to
32268
+ # this status. This may be missing, and in the common case of the generic space,
32269
+ # it definitely will be.
32270
+ # Corresponds to the JSON property `canonicalCode`
32271
+ # @return [Fixnum]
32272
+ attr_accessor :canonical_code
32273
+
32274
+ # Numeric code drawn from the space specified below. Often, this is the
32275
+ # canonical error space, and code is drawn from google3/util/task/codes.proto
32276
+ # Corresponds to the JSON property `code`
32277
+ # @return [Fixnum]
32278
+ attr_accessor :code
32279
+
32280
+ # Detail message
32281
+ # Corresponds to the JSON property `message`
32282
+ # @return [String]
32283
+ attr_accessor :message
32284
+
32285
+ # This is proto2's version of MessageSet.
32286
+ # Corresponds to the JSON property `messageSet`
32287
+ # @return [Google::Apis::AiplatformV1beta1::Proto2BridgeMessageSet]
32288
+ attr_accessor :message_set
32289
+
32290
+ # The following are usually only present when code != 0 Space to which this
32291
+ # status belongs
32292
+ # Corresponds to the JSON property `space`
32293
+ # @return [String]
32294
+ attr_accessor :space
32295
+
32296
+ def initialize(**args)
32297
+ update!(**args)
32298
+ end
32299
+
32300
+ # Update properties of this object
32301
+ def update!(**args)
32302
+ @canonical_code = args[:canonical_code] if args.key?(:canonical_code)
32303
+ @code = args[:code] if args.key?(:code)
32304
+ @message = args[:message] if args.key?(:message)
32305
+ @message_set = args[:message_set] if args.key?(:message_set)
32306
+ @space = args[:space] if args.key?(:space)
32307
+ end
32308
+ end
29559
32309
  end
29560
32310
  end
29561
32311
  end