google-apis-aiplatform_v1beta1 0.14.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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