google-apis-aiplatform_v1beta1 0.14.0 → 0.15.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.
@@ -647,6 +647,12 @@ module Google
647
647
  # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceCandidate>]
648
648
  attr_accessor :candidates
649
649
 
650
+ # Debug information containing message metadata. Clients should not consume this
651
+ # field, and this is only populated for Flow Runner path.
652
+ # Corresponds to the JSON property `debugMetadata`
653
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceMessageMetadata]
654
+ attr_accessor :debug_metadata
655
+
650
656
  # Content filter results for a prompt sent in the request.
651
657
  # Corresponds to the JSON property `promptFeedback`
652
658
  # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServicePromptFeedback]
@@ -669,12 +675,46 @@ module Google
669
675
  # Update properties of this object
670
676
  def update!(**args)
671
677
  @candidates = args[:candidates] if args.key?(:candidates)
678
+ @debug_metadata = args[:debug_metadata] if args.key?(:debug_metadata)
672
679
  @prompt_feedback = args[:prompt_feedback] if args.key?(:prompt_feedback)
673
680
  @reporting_metrics = args[:reporting_metrics] if args.key?(:reporting_metrics)
674
681
  @usage_metadata = args[:usage_metadata] if args.key?(:usage_metadata)
675
682
  end
676
683
  end
677
684
 
685
+ #
686
+ class CloudAiNlLlmProtoServiceMessageMetadata
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # LINT.IfChange This metadata contains additional information required for
690
+ # debugging.
691
+ # Corresponds to the JSON property `inputFilterInfo`
692
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmMessageMetadata]
693
+ attr_accessor :input_filter_info
694
+
695
+ # Holds the final routing decision, by storing the model_config_id. And
696
+ # individual scores each model got.
697
+ # Corresponds to the JSON property `modelRoutingDecision`
698
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecision]
699
+ attr_accessor :model_routing_decision
700
+
701
+ # Filter metadata of the output messages.
702
+ # Corresponds to the JSON property `outputFilterInfo`
703
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningServingLlmMessageMetadata>]
704
+ attr_accessor :output_filter_info
705
+
706
+ def initialize(**args)
707
+ update!(**args)
708
+ end
709
+
710
+ # Update properties of this object
711
+ def update!(**args)
712
+ @input_filter_info = args[:input_filter_info] if args.key?(:input_filter_info)
713
+ @model_routing_decision = args[:model_routing_decision] if args.key?(:model_routing_decision)
714
+ @output_filter_info = args[:output_filter_info] if args.key?(:output_filter_info)
715
+ end
716
+ end
717
+
678
718
  # A single part of a message.
679
719
  class CloudAiNlLlmProtoServicePart
680
720
  include Google::Apis::Core::Hashable
@@ -837,6 +877,122 @@ module Google
837
877
  end
838
878
  end
839
879
 
880
+ # The RAI results for a given text.
881
+ class CloudAiNlLlmProtoServiceRaiResult
882
+ include Google::Apis::Core::Hashable
883
+
884
+ # The recitation result for one input
885
+ # Corresponds to the JSON property `aidaRecitationResult`
886
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoRecitationResult]
887
+ attr_accessor :aida_recitation_result
888
+
889
+ # Use `triggered_blocklist`.
890
+ # Corresponds to the JSON property `blocked`
891
+ # @return [Boolean]
892
+ attr_accessor :blocked
893
+ alias_method :blocked?, :blocked
894
+
895
+ # The error codes indicate which RAI filters block the response.
896
+ # Corresponds to the JSON property `errorCodes`
897
+ # @return [Array<Fixnum>]
898
+ attr_accessor :error_codes
899
+
900
+ # Whether the text should be filtered and not shown to the end user. This is
901
+ # determined based on a combination of `triggered_recitation`, `
902
+ # triggered_blocklist`, `language_filter_result`, and `triggered_safety_filter`.
903
+ # Corresponds to the JSON property `filtered`
904
+ # @return [Boolean]
905
+ attr_accessor :filtered
906
+ alias_method :filtered?, :filtered
907
+
908
+ # Language filter result from SAFT LangId.
909
+ # Corresponds to the JSON property `languageFilterResult`
910
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmLanguageFilterResult]
911
+ attr_accessor :language_filter_result
912
+
913
+ # The RAI signals for the text.
914
+ # Corresponds to the JSON property `raiSignals`
915
+ # @return [Array<Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiSignal>]
916
+ attr_accessor :rai_signals
917
+
918
+ # Whether the text triggered the blocklist.
919
+ # Corresponds to the JSON property `triggeredBlocklist`
920
+ # @return [Boolean]
921
+ attr_accessor :triggered_blocklist
922
+ alias_method :triggered_blocklist?, :triggered_blocklist
923
+
924
+ # Whether the text should be blocked by the recitation result from Aida
925
+ # recitation checker. It is determined from aida_recitation_result.
926
+ # Corresponds to the JSON property `triggeredRecitation`
927
+ # @return [Boolean]
928
+ attr_accessor :triggered_recitation
929
+ alias_method :triggered_recitation?, :triggered_recitation
930
+
931
+ # Whether the text triggered the safety filter. Currently, this is due to CSAI
932
+ # triggering or one of four categories (derogatory, sexual, toxic, violent)
933
+ # having a score over the filter threshold.
934
+ # Corresponds to the JSON property `triggeredSafetyFilter`
935
+ # @return [Boolean]
936
+ attr_accessor :triggered_safety_filter
937
+ alias_method :triggered_safety_filter?, :triggered_safety_filter
938
+
939
+ def initialize(**args)
940
+ update!(**args)
941
+ end
942
+
943
+ # Update properties of this object
944
+ def update!(**args)
945
+ @aida_recitation_result = args[:aida_recitation_result] if args.key?(:aida_recitation_result)
946
+ @blocked = args[:blocked] if args.key?(:blocked)
947
+ @error_codes = args[:error_codes] if args.key?(:error_codes)
948
+ @filtered = args[:filtered] if args.key?(:filtered)
949
+ @language_filter_result = args[:language_filter_result] if args.key?(:language_filter_result)
950
+ @rai_signals = args[:rai_signals] if args.key?(:rai_signals)
951
+ @triggered_blocklist = args[:triggered_blocklist] if args.key?(:triggered_blocklist)
952
+ @triggered_recitation = args[:triggered_recitation] if args.key?(:triggered_recitation)
953
+ @triggered_safety_filter = args[:triggered_safety_filter] if args.key?(:triggered_safety_filter)
954
+ end
955
+ end
956
+
957
+ # An RAI signal for a single category.
958
+ class CloudAiNlLlmProtoServiceRaiSignal
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # The confidence level for the RAI category.
962
+ # Corresponds to the JSON property `confidence`
963
+ # @return [String]
964
+ attr_accessor :confidence
965
+
966
+ # Whether the category is flagged as being present. Currently, this is set to
967
+ # true if score >= 0.5.
968
+ # Corresponds to the JSON property `flagged`
969
+ # @return [Boolean]
970
+ attr_accessor :flagged
971
+ alias_method :flagged?, :flagged
972
+
973
+ # The RAI category.
974
+ # Corresponds to the JSON property `raiCategory`
975
+ # @return [String]
976
+ attr_accessor :rai_category
977
+
978
+ # The score for the category, in the range [0.0, 1.0].
979
+ # Corresponds to the JSON property `score`
980
+ # @return [Float]
981
+ attr_accessor :score
982
+
983
+ def initialize(**args)
984
+ update!(**args)
985
+ end
986
+
987
+ # Update properties of this object
988
+ def update!(**args)
989
+ @confidence = args[:confidence] if args.key?(:confidence)
990
+ @flagged = args[:flagged] if args.key?(:flagged)
991
+ @rai_category = args[:rai_category] if args.key?(:rai_category)
992
+ @score = args[:score] if args.key?(:score)
993
+ end
994
+ end
995
+
840
996
  # Safety rating corresponding to the generated content.
841
997
  class CloudAiNlLlmProtoServiceSafetyRating
842
998
  include Google::Apis::Core::Hashable
@@ -7964,7 +8120,8 @@ module Google
7964
8120
 
7965
8121
  # The dedicated serving endpoint for this FeatureOnlineStore. Only need to set
7966
8122
  # when you choose Optimized storage type or enable EmbeddingManagement. Will use
7967
- # public endpoint by default.
8123
+ # public endpoint by default. Note, for EmbeddingManagement use case, only [
8124
+ # DedicatedServingEndpoint.public_endpoint_domain_name] is available now.
7968
8125
  # Corresponds to the JSON property `dedicatedServingEndpoint`
7969
8126
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint]
7970
8127
  attr_accessor :dedicated_serving_endpoint
@@ -8091,7 +8248,8 @@ module Google
8091
8248
 
8092
8249
  # The dedicated serving endpoint for this FeatureOnlineStore. Only need to set
8093
8250
  # when you choose Optimized storage type or enable EmbeddingManagement. Will use
8094
- # public endpoint by default.
8251
+ # public endpoint by default. Note, for EmbeddingManagement use case, only [
8252
+ # DedicatedServingEndpoint.public_endpoint_domain_name] is available now.
8095
8253
  class GoogleCloudAiplatformV1beta1FeatureOnlineStoreDedicatedServingEndpoint
8096
8254
  include Google::Apis::Core::Hashable
8097
8255
 
@@ -9645,12 +9803,6 @@ module Google
9645
9803
  # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1Content>]
9646
9804
  attr_accessor :contents
9647
9805
 
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
9806
  # Generation config.
9655
9807
  # Corresponds to the JSON property `generationConfig`
9656
9808
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1GenerationConfig]
@@ -9677,7 +9829,6 @@ module Google
9677
9829
  # Update properties of this object
9678
9830
  def update!(**args)
9679
9831
  @contents = args[:contents] if args.key?(:contents)
9680
- @endpoint = args[:endpoint] if args.key?(:endpoint)
9681
9832
  @generation_config = args[:generation_config] if args.key?(:generation_config)
9682
9833
  @safety_settings = args[:safety_settings] if args.key?(:safety_settings)
9683
9834
  @tools = args[:tools] if args.key?(:tools)
@@ -17239,6 +17390,11 @@ module Google
17239
17390
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences]
17240
17391
  attr_accessor :open_fine_tuning_pipeline
17241
17392
 
17393
+ # Open fine tuning pipelines.
17394
+ # Corresponds to the JSON property `openFineTuningPipelines`
17395
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines]
17396
+ attr_accessor :open_fine_tuning_pipelines
17397
+
17242
17398
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17243
17399
  # europe-west2, global, etc..
17244
17400
  # Corresponds to the JSON property `openGenerationAiStudio`
@@ -17257,6 +17413,11 @@ module Google
17257
17413
  # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences]
17258
17414
  attr_accessor :open_notebook
17259
17415
 
17416
+ # Open notebooks.
17417
+ # Corresponds to the JSON property `openNotebooks`
17418
+ # @return [Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks]
17419
+ attr_accessor :open_notebooks
17420
+
17260
17421
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17261
17422
  # europe-west2, global, etc..
17262
17423
  # Corresponds to the JSON property `openPromptTuningPipeline`
@@ -17284,9 +17445,11 @@ module Google
17284
17445
  @deploy = args[:deploy] if args.key?(:deploy)
17285
17446
  @open_evaluation_pipeline = args[:open_evaluation_pipeline] if args.key?(:open_evaluation_pipeline)
17286
17447
  @open_fine_tuning_pipeline = args[:open_fine_tuning_pipeline] if args.key?(:open_fine_tuning_pipeline)
17448
+ @open_fine_tuning_pipelines = args[:open_fine_tuning_pipelines] if args.key?(:open_fine_tuning_pipelines)
17287
17449
  @open_generation_ai_studio = args[:open_generation_ai_studio] if args.key?(:open_generation_ai_studio)
17288
17450
  @open_genie = args[:open_genie] if args.key?(:open_genie)
17289
17451
  @open_notebook = args[:open_notebook] if args.key?(:open_notebook)
17452
+ @open_notebooks = args[:open_notebooks] if args.key?(:open_notebooks)
17290
17453
  @open_prompt_tuning_pipeline = args[:open_prompt_tuning_pipeline] if args.key?(:open_prompt_tuning_pipeline)
17291
17454
  @request_access = args[:request_access] if args.key?(:request_access)
17292
17455
  @view_rest_api = args[:view_rest_api] if args.key?(:view_rest_api)
@@ -17370,6 +17533,44 @@ module Google
17370
17533
  end
17371
17534
  end
17372
17535
 
17536
+ # Open fine tuning pipelines.
17537
+ class GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenFineTuningPipelines
17538
+ include Google::Apis::Core::Hashable
17539
+
17540
+ # Required. Regional resource references to fine tuning pipelines.
17541
+ # Corresponds to the JSON property `fineTuningPipelines`
17542
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences>]
17543
+ attr_accessor :fine_tuning_pipelines
17544
+
17545
+ def initialize(**args)
17546
+ update!(**args)
17547
+ end
17548
+
17549
+ # Update properties of this object
17550
+ def update!(**args)
17551
+ @fine_tuning_pipelines = args[:fine_tuning_pipelines] if args.key?(:fine_tuning_pipelines)
17552
+ end
17553
+ end
17554
+
17555
+ # Open notebooks.
17556
+ class GoogleCloudAiplatformV1beta1PublisherModelCallToActionOpenNotebooks
17557
+ include Google::Apis::Core::Hashable
17558
+
17559
+ # Required. Regional resource references to notebooks.
17560
+ # Corresponds to the JSON property `notebooks`
17561
+ # @return [Array<Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences>]
17562
+ attr_accessor :notebooks
17563
+
17564
+ def initialize(**args)
17565
+ update!(**args)
17566
+ end
17567
+
17568
+ # Update properties of this object
17569
+ def update!(**args)
17570
+ @notebooks = args[:notebooks] if args.key?(:notebooks)
17571
+ end
17572
+ end
17573
+
17373
17574
  # The regional resource name or the URI. Key is region, e.g., us-central1,
17374
17575
  # europe-west2, global, etc..
17375
17576
  class GoogleCloudAiplatformV1beta1PublisherModelCallToActionRegionalResourceReferences
@@ -17380,7 +17581,22 @@ module Google
17380
17581
  # @return [Hash<String,Google::Apis::AiplatformV1beta1::GoogleCloudAiplatformV1beta1PublisherModelResourceReference>]
17381
17582
  attr_accessor :references
17382
17583
 
17383
- # Required. The title of the regional resource reference.
17584
+ # Optional. Description of the resource.
17585
+ # Corresponds to the JSON property `resourceDescription`
17586
+ # @return [String]
17587
+ attr_accessor :resource_description
17588
+
17589
+ # Optional. Title of the resource.
17590
+ # Corresponds to the JSON property `resourceTitle`
17591
+ # @return [String]
17592
+ attr_accessor :resource_title
17593
+
17594
+ # Optional. Use case (CUJ) of the resource.
17595
+ # Corresponds to the JSON property `resourceUseCase`
17596
+ # @return [String]
17597
+ attr_accessor :resource_use_case
17598
+
17599
+ # Required.
17384
17600
  # Corresponds to the JSON property `title`
17385
17601
  # @return [String]
17386
17602
  attr_accessor :title
@@ -17392,6 +17608,9 @@ module Google
17392
17608
  # Update properties of this object
17393
17609
  def update!(**args)
17394
17610
  @references = args[:references] if args.key?(:references)
17611
+ @resource_description = args[:resource_description] if args.key?(:resource_description)
17612
+ @resource_title = args[:resource_title] if args.key?(:resource_title)
17613
+ @resource_use_case = args[:resource_use_case] if args.key?(:resource_use_case)
17395
17614
  @title = args[:title] if args.key?(:title)
17396
17615
  end
17397
17616
  end
@@ -18227,25 +18446,6 @@ module Google
18227
18446
  end
18228
18447
  end
18229
18448
 
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
18449
  # Request message for MetadataService.DeleteContextChildrenRequest.
18250
18450
  class GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest
18251
18451
  include Google::Apis::Core::Hashable
@@ -29556,6 +29756,2272 @@ module Google
29556
29756
  @metric_entries = args[:metric_entries] if args.key?(:metric_entries)
29557
29757
  end
29558
29758
  end
29759
+
29760
+ # The proto defines the attribution information for a document using whatever
29761
+ # fields are most applicable for that document's datasource. For example, a
29762
+ # Wikipedia article's attribution is in the form of its article title, a website
29763
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
29764
+ # id:28
29765
+ class LanguageLabsAidaTrustRecitationProtoDocAttribution
29766
+ include Google::Apis::Core::Hashable
29767
+
29768
+ #
29769
+ # Corresponds to the JSON property `amarnaId`
29770
+ # @return [String]
29771
+ attr_accessor :amarna_id
29772
+
29773
+ #
29774
+ # Corresponds to the JSON property `arxivId`
29775
+ # @return [String]
29776
+ attr_accessor :arxiv_id
29777
+
29778
+ #
29779
+ # Corresponds to the JSON property `author`
29780
+ # @return [String]
29781
+ attr_accessor :author
29782
+
29783
+ #
29784
+ # Corresponds to the JSON property `bibkey`
29785
+ # @return [String]
29786
+ attr_accessor :bibkey
29787
+
29788
+ #
29789
+ # Corresponds to the JSON property `bookTitle`
29790
+ # @return [String]
29791
+ attr_accessor :book_title
29792
+
29793
+ # The Oceanographers full-view books dataset uses a 'volume id' as the unique ID
29794
+ # of a book. There is a deterministic function from a volume id to a URL under
29795
+ # the books.google.com domain. Marked as 'optional' since a volume ID of zero is
29796
+ # potentially possible and we want to distinguish that from the volume ID not
29797
+ # being set.
29798
+ # Corresponds to the JSON property `bookVolumeId`
29799
+ # @return [Fixnum]
29800
+ attr_accessor :book_volume_id
29801
+
29802
+ #
29803
+ # Corresponds to the JSON property `category`
29804
+ # @return [String]
29805
+ attr_accessor :category
29806
+
29807
+ #
29808
+ # Corresponds to the JSON property `conversationId`
29809
+ # @return [String]
29810
+ attr_accessor :conversation_id
29811
+
29812
+ # The dataset this document comes from.
29813
+ # Corresponds to the JSON property `dataset`
29814
+ # @return [String]
29815
+ attr_accessor :dataset
29816
+
29817
+ #
29818
+ # Corresponds to the JSON property `filepath`
29819
+ # @return [String]
29820
+ attr_accessor :filepath
29821
+
29822
+ #
29823
+ # Corresponds to the JSON property `geminiId`
29824
+ # @return [String]
29825
+ attr_accessor :gemini_id
29826
+
29827
+ #
29828
+ # Corresponds to the JSON property `gnewsArticleTitle`
29829
+ # @return [String]
29830
+ attr_accessor :gnews_article_title
29831
+
29832
+ #
29833
+ # Corresponds to the JSON property `goodallExampleId`
29834
+ # @return [String]
29835
+ attr_accessor :goodall_example_id
29836
+
29837
+ # Whether the document is opted out.
29838
+ # Corresponds to the JSON property `isOptOut`
29839
+ # @return [Boolean]
29840
+ attr_accessor :is_opt_out
29841
+ alias_method :is_opt_out?, :is_opt_out
29842
+
29843
+ #
29844
+ # Corresponds to the JSON property `isPrompt`
29845
+ # @return [Boolean]
29846
+ attr_accessor :is_prompt
29847
+ alias_method :is_prompt?, :is_prompt
29848
+
29849
+ #
29850
+ # Corresponds to the JSON property `lamdaExampleId`
29851
+ # @return [String]
29852
+ attr_accessor :lamda_example_id
29853
+
29854
+ #
29855
+ # Corresponds to the JSON property `license`
29856
+ # @return [String]
29857
+ attr_accessor :license
29858
+
29859
+ #
29860
+ # Corresponds to the JSON property `meenaConversationId`
29861
+ # @return [String]
29862
+ attr_accessor :meena_conversation_id
29863
+
29864
+ # Natural (not programming) language of the document. Language code as defined
29865
+ # by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/
29866
+ # html/bcp47. Currently applicable to full-view books. Use docinfo-util.h to set
29867
+ # & read language fields. See go/iii.
29868
+ # Corresponds to the JSON property `naturalLanguageCode`
29869
+ # @return [String]
29870
+ attr_accessor :natural_language_code
29871
+
29872
+ # True if this doc has no attribution information available. We use an explicit
29873
+ # field for this instead of just implicitly leaving all the DocAttribution
29874
+ # fields blank to distinguish a case where a bug/oversight has left the
29875
+ # attribution information empty vs when we really have no attribution
29876
+ # information available.
29877
+ # Corresponds to the JSON property `noAttribution`
29878
+ # @return [Boolean]
29879
+ attr_accessor :no_attribution
29880
+ alias_method :no_attribution?, :no_attribution
29881
+
29882
+ #
29883
+ # Corresponds to the JSON property `podcastUtteranceId`
29884
+ # @return [String]
29885
+ attr_accessor :podcast_utterance_id
29886
+
29887
+ # Represents a whole or partial calendar date, such as a birthday. The time of
29888
+ # day and time zone are either specified elsewhere or are insignificant. The
29889
+ # date is relative to the Gregorian Calendar. This can represent one of the
29890
+ # following: * A full date, with non-zero year, month, and day values. * A month
29891
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
29892
+ # with a zero month and a zero day. * A year and month, with a zero day (for
29893
+ # example, a credit card expiration date). Related types: * google.type.
29894
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
29895
+ # Corresponds to the JSON property `publicationDate`
29896
+ # @return [Google::Apis::AiplatformV1beta1::GoogleTypeDate]
29897
+ attr_accessor :publication_date
29898
+
29899
+ # This field is for opt-out experiment only, MUST never be used during actual
29900
+ # production/serving.
29901
+ # Corresponds to the JSON property `qualityScoreExperimentOnly`
29902
+ # @return [Float]
29903
+ attr_accessor :quality_score_experiment_only
29904
+
29905
+ # Github repository
29906
+ # Corresponds to the JSON property `repo`
29907
+ # @return [String]
29908
+ attr_accessor :repo
29909
+
29910
+ # URL of a webdoc
29911
+ # Corresponds to the JSON property `url`
29912
+ # @return [String]
29913
+ attr_accessor :url
29914
+
29915
+ #
29916
+ # Corresponds to the JSON property `volumeId`
29917
+ # @return [String]
29918
+ attr_accessor :volume_id
29919
+
29920
+ # Wikipedia article title. The Wikipedia TFDS dataset includes article titles
29921
+ # but not URLs. While a URL is to the best of our knowledge a deterministic
29922
+ # function of the title, we store the original title to reflect the information
29923
+ # in the original dataset.
29924
+ # Corresponds to the JSON property `wikipediaArticleTitle`
29925
+ # @return [String]
29926
+ attr_accessor :wikipedia_article_title
29927
+
29928
+ def initialize(**args)
29929
+ update!(**args)
29930
+ end
29931
+
29932
+ # Update properties of this object
29933
+ def update!(**args)
29934
+ @amarna_id = args[:amarna_id] if args.key?(:amarna_id)
29935
+ @arxiv_id = args[:arxiv_id] if args.key?(:arxiv_id)
29936
+ @author = args[:author] if args.key?(:author)
29937
+ @bibkey = args[:bibkey] if args.key?(:bibkey)
29938
+ @book_title = args[:book_title] if args.key?(:book_title)
29939
+ @book_volume_id = args[:book_volume_id] if args.key?(:book_volume_id)
29940
+ @category = args[:category] if args.key?(:category)
29941
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
29942
+ @dataset = args[:dataset] if args.key?(:dataset)
29943
+ @filepath = args[:filepath] if args.key?(:filepath)
29944
+ @gemini_id = args[:gemini_id] if args.key?(:gemini_id)
29945
+ @gnews_article_title = args[:gnews_article_title] if args.key?(:gnews_article_title)
29946
+ @goodall_example_id = args[:goodall_example_id] if args.key?(:goodall_example_id)
29947
+ @is_opt_out = args[:is_opt_out] if args.key?(:is_opt_out)
29948
+ @is_prompt = args[:is_prompt] if args.key?(:is_prompt)
29949
+ @lamda_example_id = args[:lamda_example_id] if args.key?(:lamda_example_id)
29950
+ @license = args[:license] if args.key?(:license)
29951
+ @meena_conversation_id = args[:meena_conversation_id] if args.key?(:meena_conversation_id)
29952
+ @natural_language_code = args[:natural_language_code] if args.key?(:natural_language_code)
29953
+ @no_attribution = args[:no_attribution] if args.key?(:no_attribution)
29954
+ @podcast_utterance_id = args[:podcast_utterance_id] if args.key?(:podcast_utterance_id)
29955
+ @publication_date = args[:publication_date] if args.key?(:publication_date)
29956
+ @quality_score_experiment_only = args[:quality_score_experiment_only] if args.key?(:quality_score_experiment_only)
29957
+ @repo = args[:repo] if args.key?(:repo)
29958
+ @url = args[:url] if args.key?(:url)
29959
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
29960
+ @wikipedia_article_title = args[:wikipedia_article_title] if args.key?(:wikipedia_article_title)
29961
+ end
29962
+ end
29963
+
29964
+ # The recitation result for one input
29965
+ class LanguageLabsAidaTrustRecitationProtoRecitationResult
29966
+ include Google::Apis::Core::Hashable
29967
+
29968
+ #
29969
+ # Corresponds to the JSON property `dynamicSegmentResults`
29970
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
29971
+ attr_accessor :dynamic_segment_results
29972
+
29973
+ # The recitation action for one given input. When its segments contain different
29974
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
29975
+ # > NO_ACTION.
29976
+ # Corresponds to the JSON property `recitationAction`
29977
+ # @return [String]
29978
+ attr_accessor :recitation_action
29979
+
29980
+ #
29981
+ # Corresponds to the JSON property `trainingSegmentResults`
29982
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
29983
+ attr_accessor :training_segment_results
29984
+
29985
+ def initialize(**args)
29986
+ update!(**args)
29987
+ end
29988
+
29989
+ # Update properties of this object
29990
+ def update!(**args)
29991
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
29992
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
29993
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
29994
+ end
29995
+ end
29996
+
29997
+ # The recitation result for each segment in a given input.
29998
+ class LanguageLabsAidaTrustRecitationProtoSegmentResult
29999
+ include Google::Apis::Core::Hashable
30000
+
30001
+ # The dataset the segment came from.
30002
+ # Corresponds to the JSON property `attributionDataset`
30003
+ # @return [String]
30004
+ attr_accessor :attribution_dataset
30005
+
30006
+ # human-friendly string that contains information from doc_attribution which
30007
+ # could be shown by clients
30008
+ # Corresponds to the JSON property `displayAttributionMessage`
30009
+ # @return [String]
30010
+ attr_accessor :display_attribution_message
30011
+
30012
+ # The proto defines the attribution information for a document using whatever
30013
+ # fields are most applicable for that document's datasource. For example, a
30014
+ # Wikipedia article's attribution is in the form of its article title, a website
30015
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30016
+ # id:28
30017
+ # Corresponds to the JSON property `docAttribution`
30018
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoDocAttribution]
30019
+ attr_accessor :doc_attribution
30020
+
30021
+ # number of documents that contained this segment
30022
+ # Corresponds to the JSON property `docOccurrences`
30023
+ # @return [Fixnum]
30024
+ attr_accessor :doc_occurrences
30025
+
30026
+ #
30027
+ # Corresponds to the JSON property `endIndex`
30028
+ # @return [Fixnum]
30029
+ attr_accessor :end_index
30030
+
30031
+ # The raw text in the given input that is corresponding to the segment. It will
30032
+ # be available only when 'return_segment_raw_text' is enabled in the request
30033
+ # options.
30034
+ # Corresponds to the JSON property `rawText`
30035
+ # @return [String]
30036
+ attr_accessor :raw_text
30037
+
30038
+ #
30039
+ # Corresponds to the JSON property `segmentRecitationAction`
30040
+ # @return [String]
30041
+ attr_accessor :segment_recitation_action
30042
+
30043
+ # The segment boundary start (inclusive) and end index (exclusive) in the given
30044
+ # text. In the streaming RPC, the indexes always start from the beginning of the
30045
+ # first text in the entire stream. The indexes are measured in UTF-16 code units.
30046
+ # Corresponds to the JSON property `startIndex`
30047
+ # @return [Fixnum]
30048
+ attr_accessor :start_index
30049
+
30050
+ def initialize(**args)
30051
+ update!(**args)
30052
+ end
30053
+
30054
+ # Update properties of this object
30055
+ def update!(**args)
30056
+ @attribution_dataset = args[:attribution_dataset] if args.key?(:attribution_dataset)
30057
+ @display_attribution_message = args[:display_attribution_message] if args.key?(:display_attribution_message)
30058
+ @doc_attribution = args[:doc_attribution] if args.key?(:doc_attribution)
30059
+ @doc_occurrences = args[:doc_occurrences] if args.key?(:doc_occurrences)
30060
+ @end_index = args[:end_index] if args.key?(:end_index)
30061
+ @raw_text = args[:raw_text] if args.key?(:raw_text)
30062
+ @segment_recitation_action = args[:segment_recitation_action] if args.key?(:segment_recitation_action)
30063
+ @start_index = args[:start_index] if args.key?(:start_index)
30064
+ end
30065
+ end
30066
+
30067
+ # The recitation result for one stream input
30068
+ class LanguageLabsAidaTrustRecitationProtoStreamRecitationResult
30069
+ include Google::Apis::Core::Hashable
30070
+
30071
+ # The recitation result against the given dynamic data source.
30072
+ # Corresponds to the JSON property `dynamicSegmentResults`
30073
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30074
+ attr_accessor :dynamic_segment_results
30075
+
30076
+ # Last index of input text fully checked for recitation in the entire streaming
30077
+ # context. Would return `-1` if no Input was checked for recitation.
30078
+ # Corresponds to the JSON property `fullyCheckedTextIndex`
30079
+ # @return [Fixnum]
30080
+ attr_accessor :fully_checked_text_index
30081
+
30082
+ # The recitation action for one given input. When its segments contain different
30083
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30084
+ # > NO_ACTION.
30085
+ # Corresponds to the JSON property `recitationAction`
30086
+ # @return [String]
30087
+ attr_accessor :recitation_action
30088
+
30089
+ # The recitation result against model training data.
30090
+ # Corresponds to the JSON property `trainingSegmentResults`
30091
+ # @return [Array<Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoSegmentResult>]
30092
+ attr_accessor :training_segment_results
30093
+
30094
+ def initialize(**args)
30095
+ update!(**args)
30096
+ end
30097
+
30098
+ # Update properties of this object
30099
+ def update!(**args)
30100
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30101
+ @fully_checked_text_index = args[:fully_checked_text_index] if args.key?(:fully_checked_text_index)
30102
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30103
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30104
+ end
30105
+ end
30106
+
30107
+ # The proto defines the attribution information for a document using whatever
30108
+ # fields are most applicable for that document's datasource. For example, a
30109
+ # Wikipedia article's attribution is in the form of its article title, a website
30110
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30111
+ # id: 28
30112
+ class LearningGenaiRecitationDocAttribution
30113
+ include Google::Apis::Core::Hashable
30114
+
30115
+ #
30116
+ # Corresponds to the JSON property `amarnaId`
30117
+ # @return [String]
30118
+ attr_accessor :amarna_id
30119
+
30120
+ #
30121
+ # Corresponds to the JSON property `arxivId`
30122
+ # @return [String]
30123
+ attr_accessor :arxiv_id
30124
+
30125
+ #
30126
+ # Corresponds to the JSON property `author`
30127
+ # @return [String]
30128
+ attr_accessor :author
30129
+
30130
+ #
30131
+ # Corresponds to the JSON property `bibkey`
30132
+ # @return [String]
30133
+ attr_accessor :bibkey
30134
+
30135
+ #
30136
+ # Corresponds to the JSON property `bookTitle`
30137
+ # @return [String]
30138
+ attr_accessor :book_title
30139
+
30140
+ # The Oceanographers full-view books dataset uses a 'volume id' as the unique ID
30141
+ # of a book. There is a deterministic function from a volume id to a URL under
30142
+ # the books.google.com domain. Marked as 'optional' since a volume ID of zero is
30143
+ # potentially possible and we want to distinguish that from the volume ID not
30144
+ # being set.
30145
+ # Corresponds to the JSON property `bookVolumeId`
30146
+ # @return [Fixnum]
30147
+ attr_accessor :book_volume_id
30148
+
30149
+ #
30150
+ # Corresponds to the JSON property `conversationId`
30151
+ # @return [String]
30152
+ attr_accessor :conversation_id
30153
+
30154
+ # The dataset this document comes from.
30155
+ # Corresponds to the JSON property `dataset`
30156
+ # @return [String]
30157
+ attr_accessor :dataset
30158
+
30159
+ #
30160
+ # Corresponds to the JSON property `filepath`
30161
+ # @return [String]
30162
+ attr_accessor :filepath
30163
+
30164
+ #
30165
+ # Corresponds to the JSON property `geminiId`
30166
+ # @return [String]
30167
+ attr_accessor :gemini_id
30168
+
30169
+ #
30170
+ # Corresponds to the JSON property `gnewsArticleTitle`
30171
+ # @return [String]
30172
+ attr_accessor :gnews_article_title
30173
+
30174
+ #
30175
+ # Corresponds to the JSON property `goodallExampleId`
30176
+ # @return [String]
30177
+ attr_accessor :goodall_example_id
30178
+
30179
+ # Whether the document is opted out.
30180
+ # Corresponds to the JSON property `isOptOut`
30181
+ # @return [Boolean]
30182
+ attr_accessor :is_opt_out
30183
+ alias_method :is_opt_out?, :is_opt_out
30184
+
30185
+ # When true, this attribution came from the user's prompt.
30186
+ # Corresponds to the JSON property `isPrompt`
30187
+ # @return [Boolean]
30188
+ attr_accessor :is_prompt
30189
+ alias_method :is_prompt?, :is_prompt
30190
+
30191
+ #
30192
+ # Corresponds to the JSON property `lamdaExampleId`
30193
+ # @return [String]
30194
+ attr_accessor :lamda_example_id
30195
+
30196
+ #
30197
+ # Corresponds to the JSON property `license`
30198
+ # @return [String]
30199
+ attr_accessor :license
30200
+
30201
+ #
30202
+ # Corresponds to the JSON property `meenaConversationId`
30203
+ # @return [String]
30204
+ attr_accessor :meena_conversation_id
30205
+
30206
+ # Natural (not programming) language of the document. Language code as defined
30207
+ # by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/
30208
+ # html/bcp47. Currently applicable to full-view books. Use docinfo-util.h to set
30209
+ # & read language fields. See go/iii.
30210
+ # Corresponds to the JSON property `naturalLanguageCode`
30211
+ # @return [String]
30212
+ attr_accessor :natural_language_code
30213
+
30214
+ # True if this doc has no attribution information available. We use an explicit
30215
+ # field for this instead of just implicitly leaving all the DocAttribution
30216
+ # fields blank to distinguish a case where a bug/oversight has left the
30217
+ # attribution information empty vs when we really have no attribution
30218
+ # information available.
30219
+ # Corresponds to the JSON property `noAttribution`
30220
+ # @return [Boolean]
30221
+ attr_accessor :no_attribution
30222
+ alias_method :no_attribution?, :no_attribution
30223
+
30224
+ #
30225
+ # Corresponds to the JSON property `podcastUtteranceId`
30226
+ # @return [String]
30227
+ attr_accessor :podcast_utterance_id
30228
+
30229
+ # Represents a whole or partial calendar date, such as a birthday. The time of
30230
+ # day and time zone are either specified elsewhere or are insignificant. The
30231
+ # date is relative to the Gregorian Calendar. This can represent one of the
30232
+ # following: * A full date, with non-zero year, month, and day values. * A month
30233
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
30234
+ # with a zero month and a zero day. * A year and month, with a zero day (for
30235
+ # example, a credit card expiration date). Related types: * google.type.
30236
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
30237
+ # Corresponds to the JSON property `publicationDate`
30238
+ # @return [Google::Apis::AiplatformV1beta1::GoogleTypeDate]
30239
+ attr_accessor :publication_date
30240
+
30241
+ # This field is for opt-out experiment only, MUST never be used during actual
30242
+ # production/serving.
30243
+ # Corresponds to the JSON property `qualityScoreExperimentOnly`
30244
+ # @return [Float]
30245
+ attr_accessor :quality_score_experiment_only
30246
+
30247
+ # Github repository
30248
+ # Corresponds to the JSON property `repo`
30249
+ # @return [String]
30250
+ attr_accessor :repo
30251
+
30252
+ # URL of a webdoc
30253
+ # Corresponds to the JSON property `url`
30254
+ # @return [String]
30255
+ attr_accessor :url
30256
+
30257
+ #
30258
+ # Corresponds to the JSON property `volumeId`
30259
+ # @return [String]
30260
+ attr_accessor :volume_id
30261
+
30262
+ # Wikipedia article title. The Wikipedia TFDS dataset includes article titles
30263
+ # but not URLs. While a URL is to the best of our knowledge a deterministic
30264
+ # function of the title, we store the original title to reflect the information
30265
+ # in the original dataset.
30266
+ # Corresponds to the JSON property `wikipediaArticleTitle`
30267
+ # @return [String]
30268
+ attr_accessor :wikipedia_article_title
30269
+
30270
+ def initialize(**args)
30271
+ update!(**args)
30272
+ end
30273
+
30274
+ # Update properties of this object
30275
+ def update!(**args)
30276
+ @amarna_id = args[:amarna_id] if args.key?(:amarna_id)
30277
+ @arxiv_id = args[:arxiv_id] if args.key?(:arxiv_id)
30278
+ @author = args[:author] if args.key?(:author)
30279
+ @bibkey = args[:bibkey] if args.key?(:bibkey)
30280
+ @book_title = args[:book_title] if args.key?(:book_title)
30281
+ @book_volume_id = args[:book_volume_id] if args.key?(:book_volume_id)
30282
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
30283
+ @dataset = args[:dataset] if args.key?(:dataset)
30284
+ @filepath = args[:filepath] if args.key?(:filepath)
30285
+ @gemini_id = args[:gemini_id] if args.key?(:gemini_id)
30286
+ @gnews_article_title = args[:gnews_article_title] if args.key?(:gnews_article_title)
30287
+ @goodall_example_id = args[:goodall_example_id] if args.key?(:goodall_example_id)
30288
+ @is_opt_out = args[:is_opt_out] if args.key?(:is_opt_out)
30289
+ @is_prompt = args[:is_prompt] if args.key?(:is_prompt)
30290
+ @lamda_example_id = args[:lamda_example_id] if args.key?(:lamda_example_id)
30291
+ @license = args[:license] if args.key?(:license)
30292
+ @meena_conversation_id = args[:meena_conversation_id] if args.key?(:meena_conversation_id)
30293
+ @natural_language_code = args[:natural_language_code] if args.key?(:natural_language_code)
30294
+ @no_attribution = args[:no_attribution] if args.key?(:no_attribution)
30295
+ @podcast_utterance_id = args[:podcast_utterance_id] if args.key?(:podcast_utterance_id)
30296
+ @publication_date = args[:publication_date] if args.key?(:publication_date)
30297
+ @quality_score_experiment_only = args[:quality_score_experiment_only] if args.key?(:quality_score_experiment_only)
30298
+ @repo = args[:repo] if args.key?(:repo)
30299
+ @url = args[:url] if args.key?(:url)
30300
+ @volume_id = args[:volume_id] if args.key?(:volume_id)
30301
+ @wikipedia_article_title = args[:wikipedia_article_title] if args.key?(:wikipedia_article_title)
30302
+ end
30303
+ end
30304
+
30305
+ # The recitation result for one input
30306
+ class LearningGenaiRecitationRecitationResult
30307
+ include Google::Apis::Core::Hashable
30308
+
30309
+ #
30310
+ # Corresponds to the JSON property `dynamicSegmentResults`
30311
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRecitationSegmentResult>]
30312
+ attr_accessor :dynamic_segment_results
30313
+
30314
+ # The recitation action for one given input. When its segments contain different
30315
+ # actions, the overall action will be returned in the precedence of BLOCK > CITE
30316
+ # > NO_ACTION.
30317
+ # Corresponds to the JSON property `recitationAction`
30318
+ # @return [String]
30319
+ attr_accessor :recitation_action
30320
+
30321
+ #
30322
+ # Corresponds to the JSON property `trainingSegmentResults`
30323
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRecitationSegmentResult>]
30324
+ attr_accessor :training_segment_results
30325
+
30326
+ def initialize(**args)
30327
+ update!(**args)
30328
+ end
30329
+
30330
+ # Update properties of this object
30331
+ def update!(**args)
30332
+ @dynamic_segment_results = args[:dynamic_segment_results] if args.key?(:dynamic_segment_results)
30333
+ @recitation_action = args[:recitation_action] if args.key?(:recitation_action)
30334
+ @training_segment_results = args[:training_segment_results] if args.key?(:training_segment_results)
30335
+ end
30336
+ end
30337
+
30338
+ # The recitation result for each segment in a given input.
30339
+ class LearningGenaiRecitationSegmentResult
30340
+ include Google::Apis::Core::Hashable
30341
+
30342
+ # The dataset the segment came from.
30343
+ # Corresponds to the JSON property `attributionDataset`
30344
+ # @return [String]
30345
+ attr_accessor :attribution_dataset
30346
+
30347
+ # human-friendly string that contains information from doc_attribution which
30348
+ # could be shown by clients
30349
+ # Corresponds to the JSON property `displayAttributionMessage`
30350
+ # @return [String]
30351
+ attr_accessor :display_attribution_message
30352
+
30353
+ # The proto defines the attribution information for a document using whatever
30354
+ # fields are most applicable for that document's datasource. For example, a
30355
+ # Wikipedia article's attribution is in the form of its article title, a website
30356
+ # is in the form of a URL, and a Github repo is in the form of a repo name. Next
30357
+ # id: 28
30358
+ # Corresponds to the JSON property `docAttribution`
30359
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRecitationDocAttribution]
30360
+ attr_accessor :doc_attribution
30361
+
30362
+ # number of documents that contained this segment
30363
+ # Corresponds to the JSON property `docOccurrences`
30364
+ # @return [Fixnum]
30365
+ attr_accessor :doc_occurrences
30366
+
30367
+ #
30368
+ # Corresponds to the JSON property `endIndex`
30369
+ # @return [Fixnum]
30370
+ attr_accessor :end_index
30371
+
30372
+ # The raw text in the given input that is corresponding to the segment. It will
30373
+ # be available only when 'return_segment_raw_text' is enabled in the request
30374
+ # options.
30375
+ # Corresponds to the JSON property `rawText`
30376
+ # @return [String]
30377
+ attr_accessor :raw_text
30378
+
30379
+ #
30380
+ # Corresponds to the JSON property `segmentRecitationAction`
30381
+ # @return [String]
30382
+ attr_accessor :segment_recitation_action
30383
+
30384
+ # The segment boundary start (inclusive) and end index (exclusive) in the given
30385
+ # text. In the streaming RPC, the indexes always start from the beginning of the
30386
+ # first text in the entire stream. The indexes are measured in UTF-16 code units.
30387
+ # Corresponds to the JSON property `startIndex`
30388
+ # @return [Fixnum]
30389
+ attr_accessor :start_index
30390
+
30391
+ def initialize(**args)
30392
+ update!(**args)
30393
+ end
30394
+
30395
+ # Update properties of this object
30396
+ def update!(**args)
30397
+ @attribution_dataset = args[:attribution_dataset] if args.key?(:attribution_dataset)
30398
+ @display_attribution_message = args[:display_attribution_message] if args.key?(:display_attribution_message)
30399
+ @doc_attribution = args[:doc_attribution] if args.key?(:doc_attribution)
30400
+ @doc_occurrences = args[:doc_occurrences] if args.key?(:doc_occurrences)
30401
+ @end_index = args[:end_index] if args.key?(:end_index)
30402
+ @raw_text = args[:raw_text] if args.key?(:raw_text)
30403
+ @segment_recitation_action = args[:segment_recitation_action] if args.key?(:segment_recitation_action)
30404
+ @start_index = args[:start_index] if args.key?(:start_index)
30405
+ end
30406
+ end
30407
+
30408
+ # The type used for final weights calculation.
30409
+ class LearningGenaiRootCalculationType
30410
+ include Google::Apis::Core::Hashable
30411
+
30412
+ #
30413
+ # Corresponds to the JSON property `scoreType`
30414
+ # @return [String]
30415
+ attr_accessor :score_type
30416
+
30417
+ #
30418
+ # Corresponds to the JSON property `weights`
30419
+ # @return [Float]
30420
+ attr_accessor :weights
30421
+
30422
+ def initialize(**args)
30423
+ update!(**args)
30424
+ end
30425
+
30426
+ # Update properties of this object
30427
+ def update!(**args)
30428
+ @score_type = args[:score_type] if args.key?(:score_type)
30429
+ @weights = args[:weights] if args.key?(:weights)
30430
+ end
30431
+ end
30432
+
30433
+ #
30434
+ class LearningGenaiRootClassifierOutput
30435
+ include Google::Apis::Core::Hashable
30436
+
30437
+ # If set, this is the output of the first matching rule.
30438
+ # Corresponds to the JSON property `ruleOutput`
30439
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput]
30440
+ attr_accessor :rule_output
30441
+
30442
+ # outputs of all matching rule.
30443
+ # Corresponds to the JSON property `ruleOutputs`
30444
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput>]
30445
+ attr_accessor :rule_outputs
30446
+
30447
+ # DataProviderOutput and MetricOutput can be saved between calls to the
30448
+ # Classifier framework. For instance, you can run the query classifier, get
30449
+ # outputs from those metrics, then use them in a result classifier as well.
30450
+ # Example rule based on this idea: and_rules ` rule ` metric_name: '
30451
+ # query_safesearch_v2' ... ` rule ` metric_name: 'response_safesearch_v2' ... ` `
30452
+ # Corresponds to the JSON property `state`
30453
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierState]
30454
+ attr_accessor :state
30455
+
30456
+ def initialize(**args)
30457
+ update!(**args)
30458
+ end
30459
+
30460
+ # Update properties of this object
30461
+ def update!(**args)
30462
+ @rule_output = args[:rule_output] if args.key?(:rule_output)
30463
+ @rule_outputs = args[:rule_outputs] if args.key?(:rule_outputs)
30464
+ @state = args[:state] if args.key?(:state)
30465
+ end
30466
+ end
30467
+
30468
+ #
30469
+ class LearningGenaiRootClassifierOutputSummary
30470
+ include Google::Apis::Core::Hashable
30471
+
30472
+ #
30473
+ # Corresponds to the JSON property `metrics`
30474
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootMetricOutput>]
30475
+ attr_accessor :metrics
30476
+
30477
+ # Output of the first matching rule.
30478
+ # Corresponds to the JSON property `ruleOutput`
30479
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput]
30480
+ attr_accessor :rule_output
30481
+
30482
+ # outputs of all matching rule.
30483
+ # Corresponds to the JSON property `ruleOutputs`
30484
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRuleOutput>]
30485
+ attr_accessor :rule_outputs
30486
+
30487
+ def initialize(**args)
30488
+ update!(**args)
30489
+ end
30490
+
30491
+ # Update properties of this object
30492
+ def update!(**args)
30493
+ @metrics = args[:metrics] if args.key?(:metrics)
30494
+ @rule_output = args[:rule_output] if args.key?(:rule_output)
30495
+ @rule_outputs = args[:rule_outputs] if args.key?(:rule_outputs)
30496
+ end
30497
+ end
30498
+
30499
+ # DataProviderOutput and MetricOutput can be saved between calls to the
30500
+ # Classifier framework. For instance, you can run the query classifier, get
30501
+ # outputs from those metrics, then use them in a result classifier as well.
30502
+ # Example rule based on this idea: and_rules ` rule ` metric_name: '
30503
+ # query_safesearch_v2' ... ` rule ` metric_name: 'response_safesearch_v2' ... ` `
30504
+ class LearningGenaiRootClassifierState
30505
+ include Google::Apis::Core::Hashable
30506
+
30507
+ #
30508
+ # Corresponds to the JSON property `dataProviderOutput`
30509
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootDataProviderOutput>]
30510
+ attr_accessor :data_provider_output
30511
+
30512
+ #
30513
+ # Corresponds to the JSON property `metricOutput`
30514
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootMetricOutput>]
30515
+ attr_accessor :metric_output
30516
+
30517
+ def initialize(**args)
30518
+ update!(**args)
30519
+ end
30520
+
30521
+ # Update properties of this object
30522
+ def update!(**args)
30523
+ @data_provider_output = args[:data_provider_output] if args.key?(:data_provider_output)
30524
+ @metric_output = args[:metric_output] if args.key?(:metric_output)
30525
+ end
30526
+ end
30527
+
30528
+ #
30529
+ class LearningGenaiRootDataProviderOutput
30530
+ include Google::Apis::Core::Hashable
30531
+
30532
+ #
30533
+ # Corresponds to the JSON property `name`
30534
+ # @return [String]
30535
+ attr_accessor :name
30536
+
30537
+ # Wire-format for a Status object
30538
+ # Corresponds to the JSON property `status`
30539
+ # @return [Google::Apis::AiplatformV1beta1::UtilStatusProto]
30540
+ attr_accessor :status
30541
+
30542
+ def initialize(**args)
30543
+ update!(**args)
30544
+ end
30545
+
30546
+ # Update properties of this object
30547
+ def update!(**args)
30548
+ @name = args[:name] if args.key?(:name)
30549
+ @status = args[:status] if args.key?(:status)
30550
+ end
30551
+ end
30552
+
30553
+ #
30554
+ class LearningGenaiRootFilterMetadata
30555
+ include Google::Apis::Core::Hashable
30556
+
30557
+ # Filter confidence.
30558
+ # Corresponds to the JSON property `confidence`
30559
+ # @return [String]
30560
+ attr_accessor :confidence
30561
+
30562
+ # Debug info for the message.
30563
+ # Corresponds to the JSON property `debugInfo`
30564
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootFilterMetadataFilterDebugInfo]
30565
+ attr_accessor :debug_info
30566
+
30567
+ # A fallback message chosen by the applied filter.
30568
+ # Corresponds to the JSON property `fallback`
30569
+ # @return [String]
30570
+ attr_accessor :fallback
30571
+
30572
+ # Additional info for the filter.
30573
+ # Corresponds to the JSON property `info`
30574
+ # @return [String]
30575
+ attr_accessor :info
30576
+
30577
+ # Name of the filter that triggered.
30578
+ # Corresponds to the JSON property `name`
30579
+ # @return [String]
30580
+ attr_accessor :name
30581
+
30582
+ # Filter reason.
30583
+ # Corresponds to the JSON property `reason`
30584
+ # @return [String]
30585
+ attr_accessor :reason
30586
+
30587
+ # The input query or generated response that is getting filtered.
30588
+ # Corresponds to the JSON property `text`
30589
+ # @return [String]
30590
+ attr_accessor :text
30591
+
30592
+ def initialize(**args)
30593
+ update!(**args)
30594
+ end
30595
+
30596
+ # Update properties of this object
30597
+ def update!(**args)
30598
+ @confidence = args[:confidence] if args.key?(:confidence)
30599
+ @debug_info = args[:debug_info] if args.key?(:debug_info)
30600
+ @fallback = args[:fallback] if args.key?(:fallback)
30601
+ @info = args[:info] if args.key?(:info)
30602
+ @name = args[:name] if args.key?(:name)
30603
+ @reason = args[:reason] if args.key?(:reason)
30604
+ @text = args[:text] if args.key?(:text)
30605
+ end
30606
+ end
30607
+
30608
+ #
30609
+ class LearningGenaiRootFilterMetadataFilterDebugInfo
30610
+ include Google::Apis::Core::Hashable
30611
+
30612
+ #
30613
+ # Corresponds to the JSON property `classifierOutput`
30614
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierOutput]
30615
+ attr_accessor :classifier_output
30616
+
30617
+ #
30618
+ # Corresponds to the JSON property `defaultMetadata`
30619
+ # @return [String]
30620
+ attr_accessor :default_metadata
30621
+
30622
+ #
30623
+ # Corresponds to the JSON property `languageFilterResult`
30624
+ # @return [Google::Apis::AiplatformV1beta1::LearningServingLlmLanguageFilterResult]
30625
+ attr_accessor :language_filter_result
30626
+
30627
+ # This is per harm.
30628
+ # Corresponds to the JSON property `raiOutput`
30629
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRaiOutput]
30630
+ attr_accessor :rai_output
30631
+
30632
+ # The RAI results for a given text.
30633
+ # Corresponds to the JSON property `raiResult`
30634
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiResult]
30635
+ attr_accessor :rai_result
30636
+
30637
+ # An RAI signal for a single category.
30638
+ # Corresponds to the JSON property `raiSignal`
30639
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiSignal]
30640
+ attr_accessor :rai_signal
30641
+
30642
+ # The recitation result for one stream input
30643
+ # Corresponds to the JSON property `streamRecitationResult`
30644
+ # @return [Google::Apis::AiplatformV1beta1::LanguageLabsAidaTrustRecitationProtoStreamRecitationResult]
30645
+ attr_accessor :stream_recitation_result
30646
+
30647
+ #
30648
+ # Corresponds to the JSON property `takedownResult`
30649
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootTakedownResult]
30650
+ attr_accessor :takedown_result
30651
+
30652
+ # A model can generate multiple signals and this captures all the generated
30653
+ # signals for a single message.
30654
+ # Corresponds to the JSON property `toxicityResult`
30655
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootToxicityResult]
30656
+ attr_accessor :toxicity_result
30657
+
30658
+ def initialize(**args)
30659
+ update!(**args)
30660
+ end
30661
+
30662
+ # Update properties of this object
30663
+ def update!(**args)
30664
+ @classifier_output = args[:classifier_output] if args.key?(:classifier_output)
30665
+ @default_metadata = args[:default_metadata] if args.key?(:default_metadata)
30666
+ @language_filter_result = args[:language_filter_result] if args.key?(:language_filter_result)
30667
+ @rai_output = args[:rai_output] if args.key?(:rai_output)
30668
+ @rai_result = args[:rai_result] if args.key?(:rai_result)
30669
+ @rai_signal = args[:rai_signal] if args.key?(:rai_signal)
30670
+ @stream_recitation_result = args[:stream_recitation_result] if args.key?(:stream_recitation_result)
30671
+ @takedown_result = args[:takedown_result] if args.key?(:takedown_result)
30672
+ @toxicity_result = args[:toxicity_result] if args.key?(:toxicity_result)
30673
+ end
30674
+ end
30675
+
30676
+ #
30677
+ class LearningGenaiRootHarm
30678
+ include Google::Apis::Core::Hashable
30679
+
30680
+ # Please do not use, this is still under development.
30681
+ # Corresponds to the JSON property `contextualDangerous`
30682
+ # @return [Boolean]
30683
+ attr_accessor :contextual_dangerous
30684
+ alias_method :contextual_dangerous?, :contextual_dangerous
30685
+
30686
+ #
30687
+ # Corresponds to the JSON property `csam`
30688
+ # @return [Boolean]
30689
+ attr_accessor :csam
30690
+ alias_method :csam?, :csam
30691
+
30692
+ #
30693
+ # Corresponds to the JSON property `fringe`
30694
+ # @return [Boolean]
30695
+ attr_accessor :fringe
30696
+ alias_method :fringe?, :fringe
30697
+
30698
+ # Harm type for images
30699
+ # Corresponds to the JSON property `grailImageHarmType`
30700
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmGrailImageHarmType]
30701
+ attr_accessor :grail_image_harm_type
30702
+
30703
+ # Harm type for text
30704
+ # Corresponds to the JSON property `grailTextHarmType`
30705
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmGrailTextHarmType]
30706
+ attr_accessor :grail_text_harm_type
30707
+
30708
+ #
30709
+ # Corresponds to the JSON property `imageCsam`
30710
+ # @return [Boolean]
30711
+ attr_accessor :image_csam
30712
+ alias_method :image_csam?, :image_csam
30713
+
30714
+ #
30715
+ # Corresponds to the JSON property `imagePedo`
30716
+ # @return [Boolean]
30717
+ attr_accessor :image_pedo
30718
+ alias_method :image_pedo?, :image_pedo
30719
+
30720
+ # Image signals
30721
+ # Corresponds to the JSON property `imagePorn`
30722
+ # @return [Boolean]
30723
+ attr_accessor :image_porn
30724
+ alias_method :image_porn?, :image_porn
30725
+
30726
+ #
30727
+ # Corresponds to the JSON property `imageViolence`
30728
+ # @return [Boolean]
30729
+ attr_accessor :image_violence
30730
+ alias_method :image_violence?, :image_violence
30731
+
30732
+ #
30733
+ # Corresponds to the JSON property `pqc`
30734
+ # @return [Boolean]
30735
+ attr_accessor :pqc
30736
+ alias_method :pqc?, :pqc
30737
+
30738
+ #
30739
+ # Corresponds to the JSON property `safetycat`
30740
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmSafetyCatCategories]
30741
+ attr_accessor :safetycat
30742
+
30743
+ #
30744
+ # Corresponds to the JSON property `spii`
30745
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarmSpiiFilter]
30746
+ attr_accessor :spii
30747
+
30748
+ #
30749
+ # Corresponds to the JSON property `threshold`
30750
+ # @return [Float]
30751
+ attr_accessor :threshold
30752
+
30753
+ #
30754
+ # Corresponds to the JSON property `videoFrameCsam`
30755
+ # @return [Boolean]
30756
+ attr_accessor :video_frame_csam
30757
+ alias_method :video_frame_csam?, :video_frame_csam
30758
+
30759
+ #
30760
+ # Corresponds to the JSON property `videoFramePedo`
30761
+ # @return [Boolean]
30762
+ attr_accessor :video_frame_pedo
30763
+ alias_method :video_frame_pedo?, :video_frame_pedo
30764
+
30765
+ # Video frame signals
30766
+ # Corresponds to the JSON property `videoFramePorn`
30767
+ # @return [Boolean]
30768
+ attr_accessor :video_frame_porn
30769
+ alias_method :video_frame_porn?, :video_frame_porn
30770
+
30771
+ #
30772
+ # Corresponds to the JSON property `videoFrameViolence`
30773
+ # @return [Boolean]
30774
+ attr_accessor :video_frame_violence
30775
+ alias_method :video_frame_violence?, :video_frame_violence
30776
+
30777
+ def initialize(**args)
30778
+ update!(**args)
30779
+ end
30780
+
30781
+ # Update properties of this object
30782
+ def update!(**args)
30783
+ @contextual_dangerous = args[:contextual_dangerous] if args.key?(:contextual_dangerous)
30784
+ @csam = args[:csam] if args.key?(:csam)
30785
+ @fringe = args[:fringe] if args.key?(:fringe)
30786
+ @grail_image_harm_type = args[:grail_image_harm_type] if args.key?(:grail_image_harm_type)
30787
+ @grail_text_harm_type = args[:grail_text_harm_type] if args.key?(:grail_text_harm_type)
30788
+ @image_csam = args[:image_csam] if args.key?(:image_csam)
30789
+ @image_pedo = args[:image_pedo] if args.key?(:image_pedo)
30790
+ @image_porn = args[:image_porn] if args.key?(:image_porn)
30791
+ @image_violence = args[:image_violence] if args.key?(:image_violence)
30792
+ @pqc = args[:pqc] if args.key?(:pqc)
30793
+ @safetycat = args[:safetycat] if args.key?(:safetycat)
30794
+ @spii = args[:spii] if args.key?(:spii)
30795
+ @threshold = args[:threshold] if args.key?(:threshold)
30796
+ @video_frame_csam = args[:video_frame_csam] if args.key?(:video_frame_csam)
30797
+ @video_frame_pedo = args[:video_frame_pedo] if args.key?(:video_frame_pedo)
30798
+ @video_frame_porn = args[:video_frame_porn] if args.key?(:video_frame_porn)
30799
+ @video_frame_violence = args[:video_frame_violence] if args.key?(:video_frame_violence)
30800
+ end
30801
+ end
30802
+
30803
+ # Harm type for images
30804
+ class LearningGenaiRootHarmGrailImageHarmType
30805
+ include Google::Apis::Core::Hashable
30806
+
30807
+ #
30808
+ # Corresponds to the JSON property `imageHarmType`
30809
+ # @return [Array<String>]
30810
+ attr_accessor :image_harm_type
30811
+
30812
+ def initialize(**args)
30813
+ update!(**args)
30814
+ end
30815
+
30816
+ # Update properties of this object
30817
+ def update!(**args)
30818
+ @image_harm_type = args[:image_harm_type] if args.key?(:image_harm_type)
30819
+ end
30820
+ end
30821
+
30822
+ # Harm type for text
30823
+ class LearningGenaiRootHarmGrailTextHarmType
30824
+ include Google::Apis::Core::Hashable
30825
+
30826
+ #
30827
+ # Corresponds to the JSON property `harmType`
30828
+ # @return [Array<String>]
30829
+ attr_accessor :harm_type
30830
+
30831
+ def initialize(**args)
30832
+ update!(**args)
30833
+ end
30834
+
30835
+ # Update properties of this object
30836
+ def update!(**args)
30837
+ @harm_type = args[:harm_type] if args.key?(:harm_type)
30838
+ end
30839
+ end
30840
+
30841
+ #
30842
+ class LearningGenaiRootHarmSafetyCatCategories
30843
+ include Google::Apis::Core::Hashable
30844
+
30845
+ #
30846
+ # Corresponds to the JSON property `categories`
30847
+ # @return [Array<String>]
30848
+ attr_accessor :categories
30849
+
30850
+ def initialize(**args)
30851
+ update!(**args)
30852
+ end
30853
+
30854
+ # Update properties of this object
30855
+ def update!(**args)
30856
+ @categories = args[:categories] if args.key?(:categories)
30857
+ end
30858
+ end
30859
+
30860
+ #
30861
+ class LearningGenaiRootHarmSpiiFilter
30862
+ include Google::Apis::Core::Hashable
30863
+
30864
+ #
30865
+ # Corresponds to the JSON property `usBankRoutingMicr`
30866
+ # @return [Boolean]
30867
+ attr_accessor :us_bank_routing_micr
30868
+ alias_method :us_bank_routing_micr?, :us_bank_routing_micr
30869
+
30870
+ #
30871
+ # Corresponds to the JSON property `usEmployerIdentificationNumber`
30872
+ # @return [Boolean]
30873
+ attr_accessor :us_employer_identification_number
30874
+ alias_method :us_employer_identification_number?, :us_employer_identification_number
30875
+
30876
+ #
30877
+ # Corresponds to the JSON property `usSocialSecurityNumber`
30878
+ # @return [Boolean]
30879
+ attr_accessor :us_social_security_number
30880
+ alias_method :us_social_security_number?, :us_social_security_number
30881
+
30882
+ def initialize(**args)
30883
+ update!(**args)
30884
+ end
30885
+
30886
+ # Update properties of this object
30887
+ def update!(**args)
30888
+ @us_bank_routing_micr = args[:us_bank_routing_micr] if args.key?(:us_bank_routing_micr)
30889
+ @us_employer_identification_number = args[:us_employer_identification_number] if args.key?(:us_employer_identification_number)
30890
+ @us_social_security_number = args[:us_social_security_number] if args.key?(:us_social_security_number)
30891
+ end
30892
+ end
30893
+
30894
+ #
30895
+ class LearningGenaiRootInternalMetadata
30896
+ include Google::Apis::Core::Hashable
30897
+
30898
+ #
30899
+ # Corresponds to the JSON property `scoredTokens`
30900
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScoredToken>]
30901
+ attr_accessor :scored_tokens
30902
+
30903
+ def initialize(**args)
30904
+ update!(**args)
30905
+ end
30906
+
30907
+ # Update properties of this object
30908
+ def update!(**args)
30909
+ @scored_tokens = args[:scored_tokens] if args.key?(:scored_tokens)
30910
+ end
30911
+ end
30912
+
30913
+ #
30914
+ class LearningGenaiRootMetricOutput
30915
+ include Google::Apis::Core::Hashable
30916
+
30917
+ #
30918
+ # Corresponds to the JSON property `debug`
30919
+ # @return [String]
30920
+ attr_accessor :debug
30921
+
30922
+ # Name of the metric.
30923
+ # Corresponds to the JSON property `name`
30924
+ # @return [String]
30925
+ attr_accessor :name
30926
+
30927
+ #
30928
+ # Corresponds to the JSON property `numericValue`
30929
+ # @return [Float]
30930
+ attr_accessor :numeric_value
30931
+
30932
+ # Wire-format for a Status object
30933
+ # Corresponds to the JSON property `status`
30934
+ # @return [Google::Apis::AiplatformV1beta1::UtilStatusProto]
30935
+ attr_accessor :status
30936
+
30937
+ #
30938
+ # Corresponds to the JSON property `stringValue`
30939
+ # @return [String]
30940
+ attr_accessor :string_value
30941
+
30942
+ def initialize(**args)
30943
+ update!(**args)
30944
+ end
30945
+
30946
+ # Update properties of this object
30947
+ def update!(**args)
30948
+ @debug = args[:debug] if args.key?(:debug)
30949
+ @name = args[:name] if args.key?(:name)
30950
+ @numeric_value = args[:numeric_value] if args.key?(:numeric_value)
30951
+ @status = args[:status] if args.key?(:status)
30952
+ @string_value = args[:string_value] if args.key?(:string_value)
30953
+ end
30954
+ end
30955
+
30956
+ # This is per harm.
30957
+ class LearningGenaiRootRaiOutput
30958
+ include Google::Apis::Core::Hashable
30959
+
30960
+ #
30961
+ # Corresponds to the JSON property `allowed`
30962
+ # @return [Boolean]
30963
+ attr_accessor :allowed
30964
+ alias_method :allowed?, :allowed
30965
+
30966
+ #
30967
+ # Corresponds to the JSON property `harm`
30968
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootHarm]
30969
+ attr_accessor :harm
30970
+
30971
+ #
30972
+ # Corresponds to the JSON property `name`
30973
+ # @return [String]
30974
+ attr_accessor :name
30975
+
30976
+ #
30977
+ # Corresponds to the JSON property `score`
30978
+ # @return [Float]
30979
+ attr_accessor :score
30980
+
30981
+ def initialize(**args)
30982
+ update!(**args)
30983
+ end
30984
+
30985
+ # Update properties of this object
30986
+ def update!(**args)
30987
+ @allowed = args[:allowed] if args.key?(:allowed)
30988
+ @harm = args[:harm] if args.key?(:harm)
30989
+ @name = args[:name] if args.key?(:name)
30990
+ @score = args[:score] if args.key?(:score)
30991
+ end
30992
+ end
30993
+
30994
+ #
30995
+ class LearningGenaiRootRegexTakedownResult
30996
+ include Google::Apis::Core::Hashable
30997
+
30998
+ # False when query or response should be taken down due to match with a blocked
30999
+ # regex, true otherwise.
31000
+ # Corresponds to the JSON property `allowed`
31001
+ # @return [Boolean]
31002
+ attr_accessor :allowed
31003
+ alias_method :allowed?, :allowed
31004
+
31005
+ # Regex used to decide that query or response should be taken down. Empty when
31006
+ # query or response is kept.
31007
+ # Corresponds to the JSON property `takedownRegex`
31008
+ # @return [String]
31009
+ attr_accessor :takedown_regex
31010
+
31011
+ def initialize(**args)
31012
+ update!(**args)
31013
+ end
31014
+
31015
+ # Update properties of this object
31016
+ def update!(**args)
31017
+ @allowed = args[:allowed] if args.key?(:allowed)
31018
+ @takedown_regex = args[:takedown_regex] if args.key?(:takedown_regex)
31019
+ end
31020
+ end
31021
+
31022
+ #
31023
+ class LearningGenaiRootRequestResponseTakedownResult
31024
+ include Google::Apis::Core::Hashable
31025
+
31026
+ # False when response has to be taken down per above config.
31027
+ # Corresponds to the JSON property `allowed`
31028
+ # @return [Boolean]
31029
+ attr_accessor :allowed
31030
+ alias_method :allowed?, :allowed
31031
+
31032
+ # Regex used to match the request.
31033
+ # Corresponds to the JSON property `requestTakedownRegex`
31034
+ # @return [String]
31035
+ attr_accessor :request_takedown_regex
31036
+
31037
+ # Regex used to decide that response should be taken down. Empty when response
31038
+ # is kept.
31039
+ # Corresponds to the JSON property `responseTakedownRegex`
31040
+ # @return [String]
31041
+ attr_accessor :response_takedown_regex
31042
+
31043
+ def initialize(**args)
31044
+ update!(**args)
31045
+ end
31046
+
31047
+ # Update properties of this object
31048
+ def update!(**args)
31049
+ @allowed = args[:allowed] if args.key?(:allowed)
31050
+ @request_takedown_regex = args[:request_takedown_regex] if args.key?(:request_takedown_regex)
31051
+ @response_takedown_regex = args[:response_takedown_regex] if args.key?(:response_takedown_regex)
31052
+ end
31053
+ end
31054
+
31055
+ # Holds the final routing decision, by storing the model_config_id. And
31056
+ # individual scores each model got.
31057
+ class LearningGenaiRootRoutingDecision
31058
+ include Google::Apis::Core::Hashable
31059
+
31060
+ # Debug metadata about the routing decision.
31061
+ # Corresponds to the JSON property `metadata`
31062
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadata]
31063
+ attr_accessor :metadata
31064
+
31065
+ # The selected model to route traffic to.
31066
+ # Corresponds to the JSON property `modelConfigId`
31067
+ # @return [String]
31068
+ attr_accessor :model_config_id
31069
+
31070
+ def initialize(**args)
31071
+ update!(**args)
31072
+ end
31073
+
31074
+ # Update properties of this object
31075
+ def update!(**args)
31076
+ @metadata = args[:metadata] if args.key?(:metadata)
31077
+ @model_config_id = args[:model_config_id] if args.key?(:model_config_id)
31078
+ end
31079
+ end
31080
+
31081
+ # Debug metadata about the routing decision.
31082
+ class LearningGenaiRootRoutingDecisionMetadata
31083
+ include Google::Apis::Core::Hashable
31084
+
31085
+ # If we are routing using scored based configuration, then the metadata about
31086
+ # that is available in this proto.
31087
+ # Corresponds to the JSON property `scoreBasedRoutingMetadata`
31088
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataScoreBased]
31089
+ attr_accessor :score_based_routing_metadata
31090
+
31091
+ #
31092
+ # Corresponds to the JSON property `tokenLengthBasedRoutingMetadata`
31093
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBased]
31094
+ attr_accessor :token_length_based_routing_metadata
31095
+
31096
+ def initialize(**args)
31097
+ update!(**args)
31098
+ end
31099
+
31100
+ # Update properties of this object
31101
+ def update!(**args)
31102
+ @score_based_routing_metadata = args[:score_based_routing_metadata] if args.key?(:score_based_routing_metadata)
31103
+ @token_length_based_routing_metadata = args[:token_length_based_routing_metadata] if args.key?(:token_length_based_routing_metadata)
31104
+ end
31105
+ end
31106
+
31107
+ # If we are routing using scored based configuration, then the metadata about
31108
+ # that is available in this proto.
31109
+ class LearningGenaiRootRoutingDecisionMetadataScoreBased
31110
+ include Google::Apis::Core::Hashable
31111
+
31112
+ # The rule that was matched.
31113
+ # Corresponds to the JSON property `matchedRule`
31114
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScoreBasedRoutingConfigRule]
31115
+ attr_accessor :matched_rule
31116
+
31117
+ # The score that was generated by the router i.e. the model.
31118
+ # Corresponds to the JSON property `score`
31119
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31120
+ attr_accessor :score
31121
+
31122
+ # No rules were matched & therefore used the default fallback.
31123
+ # Corresponds to the JSON property `usedDefaultFallback`
31124
+ # @return [Boolean]
31125
+ attr_accessor :used_default_fallback
31126
+ alias_method :used_default_fallback?, :used_default_fallback
31127
+
31128
+ def initialize(**args)
31129
+ update!(**args)
31130
+ end
31131
+
31132
+ # Update properties of this object
31133
+ def update!(**args)
31134
+ @matched_rule = args[:matched_rule] if args.key?(:matched_rule)
31135
+ @score = args[:score] if args.key?(:score)
31136
+ @used_default_fallback = args[:used_default_fallback] if args.key?(:used_default_fallback)
31137
+ end
31138
+ end
31139
+
31140
+ #
31141
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBased
31142
+ include Google::Apis::Core::Hashable
31143
+
31144
+ #
31145
+ # Corresponds to the JSON property `modelInputTokenMetadata`
31146
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata>]
31147
+ attr_accessor :model_input_token_metadata
31148
+
31149
+ #
31150
+ # Corresponds to the JSON property `modelMaxTokenMetadata`
31151
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelMaxTokenMetadata>]
31152
+ attr_accessor :model_max_token_metadata
31153
+
31154
+ def initialize(**args)
31155
+ update!(**args)
31156
+ end
31157
+
31158
+ # Update properties of this object
31159
+ def update!(**args)
31160
+ @model_input_token_metadata = args[:model_input_token_metadata] if args.key?(:model_input_token_metadata)
31161
+ @model_max_token_metadata = args[:model_max_token_metadata] if args.key?(:model_max_token_metadata)
31162
+ end
31163
+ end
31164
+
31165
+ #
31166
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelInputTokenMetadata
31167
+ include Google::Apis::Core::Hashable
31168
+
31169
+ # The length computed by backends using the formatter & tokenizer specific to
31170
+ # the model
31171
+ # Corresponds to the JSON property `computedInputTokenLength`
31172
+ # @return [Fixnum]
31173
+ attr_accessor :computed_input_token_length
31174
+
31175
+ #
31176
+ # Corresponds to the JSON property `modelId`
31177
+ # @return [String]
31178
+ attr_accessor :model_id
31179
+
31180
+ def initialize(**args)
31181
+ update!(**args)
31182
+ end
31183
+
31184
+ # Update properties of this object
31185
+ def update!(**args)
31186
+ @computed_input_token_length = args[:computed_input_token_length] if args.key?(:computed_input_token_length)
31187
+ @model_id = args[:model_id] if args.key?(:model_id)
31188
+ end
31189
+ end
31190
+
31191
+ #
31192
+ class LearningGenaiRootRoutingDecisionMetadataTokenLengthBasedModelMaxTokenMetadata
31193
+ include Google::Apis::Core::Hashable
31194
+
31195
+ #
31196
+ # Corresponds to the JSON property `maxNumInputTokens`
31197
+ # @return [Fixnum]
31198
+ attr_accessor :max_num_input_tokens
31199
+
31200
+ #
31201
+ # Corresponds to the JSON property `maxNumOutputTokens`
31202
+ # @return [Fixnum]
31203
+ attr_accessor :max_num_output_tokens
31204
+
31205
+ #
31206
+ # Corresponds to the JSON property `modelId`
31207
+ # @return [String]
31208
+ attr_accessor :model_id
31209
+
31210
+ def initialize(**args)
31211
+ update!(**args)
31212
+ end
31213
+
31214
+ # Update properties of this object
31215
+ def update!(**args)
31216
+ @max_num_input_tokens = args[:max_num_input_tokens] if args.key?(:max_num_input_tokens)
31217
+ @max_num_output_tokens = args[:max_num_output_tokens] if args.key?(:max_num_output_tokens)
31218
+ @model_id = args[:model_id] if args.key?(:model_id)
31219
+ end
31220
+ end
31221
+
31222
+ #
31223
+ class LearningGenaiRootRuleOutput
31224
+ include Google::Apis::Core::Hashable
31225
+
31226
+ #
31227
+ # Corresponds to the JSON property `decision`
31228
+ # @return [String]
31229
+ attr_accessor :decision
31230
+
31231
+ #
31232
+ # Corresponds to the JSON property `name`
31233
+ # @return [String]
31234
+ attr_accessor :name
31235
+
31236
+ def initialize(**args)
31237
+ update!(**args)
31238
+ end
31239
+
31240
+ # Update properties of this object
31241
+ def update!(**args)
31242
+ @decision = args[:decision] if args.key?(:decision)
31243
+ @name = args[:name] if args.key?(:name)
31244
+ end
31245
+ end
31246
+
31247
+ #
31248
+ class LearningGenaiRootScore
31249
+ include Google::Apis::Core::Hashable
31250
+
31251
+ # The type used for final weights calculation.
31252
+ # Corresponds to the JSON property `calculationType`
31253
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootCalculationType]
31254
+ attr_accessor :calculation_type
31255
+
31256
+ # The internal_metadata is intended to be used by internal processors and will
31257
+ # be cleared before returns.
31258
+ # Corresponds to the JSON property `internalMetadata`
31259
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootInternalMetadata]
31260
+ attr_accessor :internal_metadata
31261
+
31262
+ # The type of score that bundled with a threshold, and will not be attending the
31263
+ # final score calculation. How each score type uses the threshold can be
31264
+ # implementation details.
31265
+ # Corresponds to the JSON property `thresholdType`
31266
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootThresholdType]
31267
+ attr_accessor :threshold_type
31268
+
31269
+ # Results of RandomSamplingParams::top_k_logprob_per_decoding_step.
31270
+ # Corresponds to the JSON property `tokensAndLogprobPerDecodingStep`
31271
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStep]
31272
+ attr_accessor :tokens_and_logprob_per_decoding_step
31273
+
31274
+ #
31275
+ # Corresponds to the JSON property `value`
31276
+ # @return [Float]
31277
+ attr_accessor :value
31278
+
31279
+ def initialize(**args)
31280
+ update!(**args)
31281
+ end
31282
+
31283
+ # Update properties of this object
31284
+ def update!(**args)
31285
+ @calculation_type = args[:calculation_type] if args.key?(:calculation_type)
31286
+ @internal_metadata = args[:internal_metadata] if args.key?(:internal_metadata)
31287
+ @threshold_type = args[:threshold_type] if args.key?(:threshold_type)
31288
+ @tokens_and_logprob_per_decoding_step = args[:tokens_and_logprob_per_decoding_step] if args.key?(:tokens_and_logprob_per_decoding_step)
31289
+ @value = args[:value] if args.key?(:value)
31290
+ end
31291
+ end
31292
+
31293
+ #
31294
+ class LearningGenaiRootScoreBasedRoutingConfigRule
31295
+ include Google::Apis::Core::Hashable
31296
+
31297
+ # NOTE: Hardest examples have smaller values in their routing scores.
31298
+ # Corresponds to the JSON property `equalOrGreaterThan`
31299
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31300
+ attr_accessor :equal_or_greater_than
31301
+
31302
+ #
31303
+ # Corresponds to the JSON property `lessThan`
31304
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31305
+ attr_accessor :less_than
31306
+
31307
+ # This model_config_id points to ModelConfig::id which allows us to find the
31308
+ # ModelConfig to route to. This is part of the banks specified in the
31309
+ # ModelBankConfig.
31310
+ # Corresponds to the JSON property `modelConfigId`
31311
+ # @return [String]
31312
+ attr_accessor :model_config_id
31313
+
31314
+ def initialize(**args)
31315
+ update!(**args)
31316
+ end
31317
+
31318
+ # Update properties of this object
31319
+ def update!(**args)
31320
+ @equal_or_greater_than = args[:equal_or_greater_than] if args.key?(:equal_or_greater_than)
31321
+ @less_than = args[:less_than] if args.key?(:less_than)
31322
+ @model_config_id = args[:model_config_id] if args.key?(:model_config_id)
31323
+ end
31324
+ end
31325
+
31326
+ # Proto containing the results from the Universal Sentence Encoder / Other
31327
+ # models
31328
+ class LearningGenaiRootScoredSimilarityTakedownPhrase
31329
+ include Google::Apis::Core::Hashable
31330
+
31331
+ # Each SimilarityTakedownPhrase treats a logical group of blocked and allowed
31332
+ # phrases together along with a corresponding punt If the closest matching
31333
+ # response is of the allowed type, we allow the response If the closest matching
31334
+ # response is of the blocked type, we block the response. eg: Blocked phrase - "
31335
+ # All lives matter"
31336
+ # Corresponds to the JSON property `phrase`
31337
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootSimilarityTakedownPhrase]
31338
+ attr_accessor :phrase
31339
+
31340
+ #
31341
+ # Corresponds to the JSON property `similarityScore`
31342
+ # @return [Float]
31343
+ attr_accessor :similarity_score
31344
+
31345
+ def initialize(**args)
31346
+ update!(**args)
31347
+ end
31348
+
31349
+ # Update properties of this object
31350
+ def update!(**args)
31351
+ @phrase = args[:phrase] if args.key?(:phrase)
31352
+ @similarity_score = args[:similarity_score] if args.key?(:similarity_score)
31353
+ end
31354
+ end
31355
+
31356
+ # A token with its own score.
31357
+ class LearningGenaiRootScoredToken
31358
+ include Google::Apis::Core::Hashable
31359
+
31360
+ # Each end_token_score is a logprob for how well the completion would end at a
31361
+ # particular token. See http://google3/labs/language/aida/config/proto/
31362
+ # model_config.proto;l=376;rcl=573039459
31363
+ # Corresponds to the JSON property `endTokenScore`
31364
+ # @return [Float]
31365
+ attr_accessor :end_token_score
31366
+
31367
+ # Each score is the logprob for the token in model response.
31368
+ # Corresponds to the JSON property `score`
31369
+ # @return [Float]
31370
+ attr_accessor :score
31371
+
31372
+ #
31373
+ # Corresponds to the JSON property `token`
31374
+ # @return [String]
31375
+ attr_accessor :token
31376
+
31377
+ def initialize(**args)
31378
+ update!(**args)
31379
+ end
31380
+
31381
+ # Update properties of this object
31382
+ def update!(**args)
31383
+ @end_token_score = args[:end_token_score] if args.key?(:end_token_score)
31384
+ @score = args[:score] if args.key?(:score)
31385
+ @token = args[:token] if args.key?(:token)
31386
+ end
31387
+ end
31388
+
31389
+ # Each SimilarityTakedownPhrase treats a logical group of blocked and allowed
31390
+ # phrases together along with a corresponding punt If the closest matching
31391
+ # response is of the allowed type, we allow the response If the closest matching
31392
+ # response is of the blocked type, we block the response. eg: Blocked phrase - "
31393
+ # All lives matter"
31394
+ class LearningGenaiRootSimilarityTakedownPhrase
31395
+ include Google::Apis::Core::Hashable
31396
+
31397
+ #
31398
+ # Corresponds to the JSON property `blockedPhrase`
31399
+ # @return [String]
31400
+ attr_accessor :blocked_phrase
31401
+
31402
+ def initialize(**args)
31403
+ update!(**args)
31404
+ end
31405
+
31406
+ # Update properties of this object
31407
+ def update!(**args)
31408
+ @blocked_phrase = args[:blocked_phrase] if args.key?(:blocked_phrase)
31409
+ end
31410
+ end
31411
+
31412
+ #
31413
+ class LearningGenaiRootSimilarityTakedownResult
31414
+ include Google::Apis::Core::Hashable
31415
+
31416
+ # False when query or response should be taken down by any of the takedown rules,
31417
+ # true otherwise.
31418
+ # Corresponds to the JSON property `allowed`
31419
+ # @return [Boolean]
31420
+ attr_accessor :allowed
31421
+ alias_method :allowed?, :allowed
31422
+
31423
+ # List of similar phrases with score. Set only if allowed=false.
31424
+ # Corresponds to the JSON property `scoredPhrases`
31425
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScoredSimilarityTakedownPhrase>]
31426
+ attr_accessor :scored_phrases
31427
+
31428
+ def initialize(**args)
31429
+ update!(**args)
31430
+ end
31431
+
31432
+ # Update properties of this object
31433
+ def update!(**args)
31434
+ @allowed = args[:allowed] if args.key?(:allowed)
31435
+ @scored_phrases = args[:scored_phrases] if args.key?(:scored_phrases)
31436
+ end
31437
+ end
31438
+
31439
+ #
31440
+ class LearningGenaiRootTakedownResult
31441
+ include Google::Apis::Core::Hashable
31442
+
31443
+ # False when query or response should be taken down by any of the takedown rules,
31444
+ # true otherwise.
31445
+ # Corresponds to the JSON property `allowed`
31446
+ # @return [Boolean]
31447
+ attr_accessor :allowed
31448
+ alias_method :allowed?, :allowed
31449
+
31450
+ #
31451
+ # Corresponds to the JSON property `regexTakedownResult`
31452
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRegexTakedownResult]
31453
+ attr_accessor :regex_takedown_result
31454
+
31455
+ #
31456
+ # Corresponds to the JSON property `requestResponseTakedownResult`
31457
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootRequestResponseTakedownResult]
31458
+ attr_accessor :request_response_takedown_result
31459
+
31460
+ #
31461
+ # Corresponds to the JSON property `similarityTakedownResult`
31462
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootSimilarityTakedownResult]
31463
+ attr_accessor :similarity_takedown_result
31464
+
31465
+ def initialize(**args)
31466
+ update!(**args)
31467
+ end
31468
+
31469
+ # Update properties of this object
31470
+ def update!(**args)
31471
+ @allowed = args[:allowed] if args.key?(:allowed)
31472
+ @regex_takedown_result = args[:regex_takedown_result] if args.key?(:regex_takedown_result)
31473
+ @request_response_takedown_result = args[:request_response_takedown_result] if args.key?(:request_response_takedown_result)
31474
+ @similarity_takedown_result = args[:similarity_takedown_result] if args.key?(:similarity_takedown_result)
31475
+ end
31476
+ end
31477
+
31478
+ # The type of score that bundled with a threshold, and will not be attending the
31479
+ # final score calculation. How each score type uses the threshold can be
31480
+ # implementation details.
31481
+ class LearningGenaiRootThresholdType
31482
+ include Google::Apis::Core::Hashable
31483
+
31484
+ #
31485
+ # Corresponds to the JSON property `scoreType`
31486
+ # @return [String]
31487
+ attr_accessor :score_type
31488
+
31489
+ #
31490
+ # Corresponds to the JSON property `threshold`
31491
+ # @return [Float]
31492
+ attr_accessor :threshold
31493
+
31494
+ def initialize(**args)
31495
+ update!(**args)
31496
+ end
31497
+
31498
+ # Update properties of this object
31499
+ def update!(**args)
31500
+ @score_type = args[:score_type] if args.key?(:score_type)
31501
+ @threshold = args[:threshold] if args.key?(:threshold)
31502
+ end
31503
+ end
31504
+
31505
+ # Results of RandomSamplingParams::top_k_logprob_per_decoding_step.
31506
+ class LearningGenaiRootTokensAndLogProbPerDecodingStep
31507
+ include Google::Apis::Core::Hashable
31508
+
31509
+ # Length = total number of decoding steps. The chosen candidates may or may not
31510
+ # be in top_candidates.
31511
+ # Corresponds to the JSON property `chosenCandidates`
31512
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate>]
31513
+ attr_accessor :chosen_candidates
31514
+
31515
+ # Length = total number of decoding steps.
31516
+ # Corresponds to the JSON property `topCandidates`
31517
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates>]
31518
+ attr_accessor :top_candidates
31519
+
31520
+ def initialize(**args)
31521
+ update!(**args)
31522
+ end
31523
+
31524
+ # Update properties of this object
31525
+ def update!(**args)
31526
+ @chosen_candidates = args[:chosen_candidates] if args.key?(:chosen_candidates)
31527
+ @top_candidates = args[:top_candidates] if args.key?(:top_candidates)
31528
+ end
31529
+ end
31530
+
31531
+ # A candidate at a decoding step.
31532
+ class LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate
31533
+ include Google::Apis::Core::Hashable
31534
+
31535
+ # The candidate's log probability.
31536
+ # Corresponds to the JSON property `logProbability`
31537
+ # @return [Float]
31538
+ attr_accessor :log_probability
31539
+
31540
+ # The candidate’s token value.
31541
+ # Corresponds to the JSON property `token`
31542
+ # @return [String]
31543
+ attr_accessor :token
31544
+
31545
+ def initialize(**args)
31546
+ update!(**args)
31547
+ end
31548
+
31549
+ # Update properties of this object
31550
+ def update!(**args)
31551
+ @log_probability = args[:log_probability] if args.key?(:log_probability)
31552
+ @token = args[:token] if args.key?(:token)
31553
+ end
31554
+ end
31555
+
31556
+ # Candidates with top log probabilities at each decoding step.
31557
+ class LearningGenaiRootTokensAndLogProbPerDecodingStepTopCandidates
31558
+ include Google::Apis::Core::Hashable
31559
+
31560
+ # Sorted by log probability in descending order.
31561
+ # Corresponds to the JSON property `candidates`
31562
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootTokensAndLogProbPerDecodingStepCandidate>]
31563
+ attr_accessor :candidates
31564
+
31565
+ def initialize(**args)
31566
+ update!(**args)
31567
+ end
31568
+
31569
+ # Update properties of this object
31570
+ def update!(**args)
31571
+ @candidates = args[:candidates] if args.key?(:candidates)
31572
+ end
31573
+ end
31574
+
31575
+ # A model can generate multiple signals and this captures all the generated
31576
+ # signals for a single message.
31577
+ class LearningGenaiRootToxicityResult
31578
+ include Google::Apis::Core::Hashable
31579
+
31580
+ #
31581
+ # Corresponds to the JSON property `signals`
31582
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootToxicitySignal>]
31583
+ attr_accessor :signals
31584
+
31585
+ def initialize(**args)
31586
+ update!(**args)
31587
+ end
31588
+
31589
+ # Update properties of this object
31590
+ def update!(**args)
31591
+ @signals = args[:signals] if args.key?(:signals)
31592
+ end
31593
+ end
31594
+
31595
+ # Proto to capture a signal generated by the toxicity model.
31596
+ class LearningGenaiRootToxicitySignal
31597
+ include Google::Apis::Core::Hashable
31598
+
31599
+ #
31600
+ # Corresponds to the JSON property `allowed`
31601
+ # @return [Boolean]
31602
+ attr_accessor :allowed
31603
+ alias_method :allowed?, :allowed
31604
+
31605
+ #
31606
+ # Corresponds to the JSON property `label`
31607
+ # @return [String]
31608
+ attr_accessor :label
31609
+
31610
+ #
31611
+ # Corresponds to the JSON property `score`
31612
+ # @return [Float]
31613
+ attr_accessor :score
31614
+
31615
+ def initialize(**args)
31616
+ update!(**args)
31617
+ end
31618
+
31619
+ # Update properties of this object
31620
+ def update!(**args)
31621
+ @allowed = args[:allowed] if args.key?(:allowed)
31622
+ @label = args[:label] if args.key?(:label)
31623
+ @score = args[:score] if args.key?(:score)
31624
+ end
31625
+ end
31626
+
31627
+ #
31628
+ class LearningServingLlmLanguageFilterResult
31629
+ include Google::Apis::Core::Hashable
31630
+
31631
+ # False when query or response should be filtered out due to unsupported
31632
+ # language.
31633
+ # Corresponds to the JSON property `allowed`
31634
+ # @return [Boolean]
31635
+ attr_accessor :allowed
31636
+ alias_method :allowed?, :allowed
31637
+
31638
+ # Language of the query or response.
31639
+ # Corresponds to the JSON property `detectedLanguage`
31640
+ # @return [String]
31641
+ attr_accessor :detected_language
31642
+
31643
+ # Probability of the language predicted as returned by LangID.
31644
+ # Corresponds to the JSON property `detectedLanguageProbability`
31645
+ # @return [Float]
31646
+ attr_accessor :detected_language_probability
31647
+
31648
+ def initialize(**args)
31649
+ update!(**args)
31650
+ end
31651
+
31652
+ # Update properties of this object
31653
+ def update!(**args)
31654
+ @allowed = args[:allowed] if args.key?(:allowed)
31655
+ @detected_language = args[:detected_language] if args.key?(:detected_language)
31656
+ @detected_language_probability = args[:detected_language_probability] if args.key?(:detected_language_probability)
31657
+ end
31658
+ end
31659
+
31660
+ # LINT.IfChange This metadata contains additional information required for
31661
+ # debugging.
31662
+ class LearningServingLlmMessageMetadata
31663
+ include Google::Apis::Core::Hashable
31664
+
31665
+ # Summary of classifier output. We attach this to all messages regardless of
31666
+ # whether classification rules triggered or not.
31667
+ # Corresponds to the JSON property `classifierSummary`
31668
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootClassifierOutputSummary]
31669
+ attr_accessor :classifier_summary
31670
+
31671
+ #
31672
+ # Corresponds to the JSON property `currentStreamTextLength`
31673
+ # @return [Fixnum]
31674
+ attr_accessor :current_stream_text_length
31675
+
31676
+ # Whether the corresponding message has been deleted.
31677
+ # Corresponds to the JSON property `deleted`
31678
+ # @return [Boolean]
31679
+ attr_accessor :deleted
31680
+ alias_method :deleted?, :deleted
31681
+
31682
+ # Metadata for filters that triggered.
31683
+ # Corresponds to the JSON property `filterMeta`
31684
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootFilterMetadata>]
31685
+ attr_accessor :filter_meta
31686
+
31687
+ # This score is finally used for ranking the message. This will be same as the
31688
+ # score present in `Message.score` field.
31689
+ # Corresponds to the JSON property `finalMessageScore`
31690
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRootScore]
31691
+ attr_accessor :final_message_score
31692
+
31693
+ # NOT YET IMPLEMENTED.
31694
+ # Corresponds to the JSON property `finishReason`
31695
+ # @return [String]
31696
+ attr_accessor :finish_reason
31697
+
31698
+ # Applies to Response message only. Indicates whether the message is a fallback
31699
+ # and the response would have otherwise been empty.
31700
+ # Corresponds to the JSON property `isFallback`
31701
+ # @return [Boolean]
31702
+ attr_accessor :is_fallback
31703
+ alias_method :is_fallback?, :is_fallback
31704
+
31705
+ # Result from nlp_saft DetectLanguage method. Currently the predicted language
31706
+ # code and language probability is used.
31707
+ # Corresponds to the JSON property `langidResult`
31708
+ # @return [Google::Apis::AiplatformV1beta1::NlpSaftLangIdResult]
31709
+ attr_accessor :langid_result
31710
+
31711
+ # Detected language.
31712
+ # Corresponds to the JSON property `language`
31713
+ # @return [String]
31714
+ attr_accessor :language
31715
+
31716
+ # The LM prefix used to generate this response.
31717
+ # Corresponds to the JSON property `lmPrefix`
31718
+ # @return [String]
31719
+ attr_accessor :lm_prefix
31720
+
31721
+ # The original text generated by LLM. This is the raw output for debugging
31722
+ # purposes.
31723
+ # Corresponds to the JSON property `originalText`
31724
+ # @return [String]
31725
+ attr_accessor :original_text
31726
+
31727
+ # NOT YET IMPLEMENTED. Applies to streaming only. Number of tokens decoded /
31728
+ # emitted by the model as part of this stream. This may be different from
31729
+ # token_count, which contains number of tokens returned in this response after
31730
+ # any response rewriting / truncation.
31731
+ # Corresponds to the JSON property `perStreamDecodedTokenCount`
31732
+ # @return [Fixnum]
31733
+ attr_accessor :per_stream_decoded_token_count
31734
+
31735
+ # Results of running RAI on the query or this response candidate. One output per
31736
+ # rai_config. It will be populated regardless of whether the threshold is
31737
+ # exceeded or not.
31738
+ # Corresponds to the JSON property `raiOutputs`
31739
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootRaiOutput>]
31740
+ attr_accessor :rai_outputs
31741
+
31742
+ # The recitation result for one input
31743
+ # Corresponds to the JSON property `recitationResult`
31744
+ # @return [Google::Apis::AiplatformV1beta1::LearningGenaiRecitationRecitationResult]
31745
+ attr_accessor :recitation_result
31746
+
31747
+ # NOT YET IMPLEMENTED. Number of tokens returned as part of this candidate.
31748
+ # Corresponds to the JSON property `returnTokenCount`
31749
+ # @return [Fixnum]
31750
+ attr_accessor :return_token_count
31751
+
31752
+ # All the different scores for a message are logged here.
31753
+ # Corresponds to the JSON property `scores`
31754
+ # @return [Array<Google::Apis::AiplatformV1beta1::LearningGenaiRootScore>]
31755
+ attr_accessor :scores
31756
+
31757
+ # Whether the response is terminated during streaming return. Only used for
31758
+ # streaming requests.
31759
+ # Corresponds to the JSON property `streamTerminated`
31760
+ # @return [Boolean]
31761
+ attr_accessor :stream_terminated
31762
+ alias_method :stream_terminated?, :stream_terminated
31763
+
31764
+ # NOT YET IMPLEMENTED. Aggregated number of total tokens decoded so far. For
31765
+ # streaming, this is sum of all the tokens decoded so far i.e. aggregated count.
31766
+ # Corresponds to the JSON property `totalDecodedTokenCount`
31767
+ # @return [Fixnum]
31768
+ attr_accessor :total_decoded_token_count
31769
+
31770
+ # Translated user-prompt used for RAI post processing. This is for internal
31771
+ # processing only. We will translate in pre-processor and pass the translated
31772
+ # text to the post processor using this field. It will be empty if non of the
31773
+ # signals requested need translation.
31774
+ # Corresponds to the JSON property `translatedUserPrompts`
31775
+ # @return [Array<String>]
31776
+ attr_accessor :translated_user_prompts
31777
+
31778
+ # The RAI results for a given text.
31779
+ # Corresponds to the JSON property `vertexRaiResult`
31780
+ # @return [Google::Apis::AiplatformV1beta1::CloudAiNlLlmProtoServiceRaiResult]
31781
+ attr_accessor :vertex_rai_result
31782
+
31783
+ def initialize(**args)
31784
+ update!(**args)
31785
+ end
31786
+
31787
+ # Update properties of this object
31788
+ def update!(**args)
31789
+ @classifier_summary = args[:classifier_summary] if args.key?(:classifier_summary)
31790
+ @current_stream_text_length = args[:current_stream_text_length] if args.key?(:current_stream_text_length)
31791
+ @deleted = args[:deleted] if args.key?(:deleted)
31792
+ @filter_meta = args[:filter_meta] if args.key?(:filter_meta)
31793
+ @final_message_score = args[:final_message_score] if args.key?(:final_message_score)
31794
+ @finish_reason = args[:finish_reason] if args.key?(:finish_reason)
31795
+ @is_fallback = args[:is_fallback] if args.key?(:is_fallback)
31796
+ @langid_result = args[:langid_result] if args.key?(:langid_result)
31797
+ @language = args[:language] if args.key?(:language)
31798
+ @lm_prefix = args[:lm_prefix] if args.key?(:lm_prefix)
31799
+ @original_text = args[:original_text] if args.key?(:original_text)
31800
+ @per_stream_decoded_token_count = args[:per_stream_decoded_token_count] if args.key?(:per_stream_decoded_token_count)
31801
+ @rai_outputs = args[:rai_outputs] if args.key?(:rai_outputs)
31802
+ @recitation_result = args[:recitation_result] if args.key?(:recitation_result)
31803
+ @return_token_count = args[:return_token_count] if args.key?(:return_token_count)
31804
+ @scores = args[:scores] if args.key?(:scores)
31805
+ @stream_terminated = args[:stream_terminated] if args.key?(:stream_terminated)
31806
+ @total_decoded_token_count = args[:total_decoded_token_count] if args.key?(:total_decoded_token_count)
31807
+ @translated_user_prompts = args[:translated_user_prompts] if args.key?(:translated_user_prompts)
31808
+ @vertex_rai_result = args[:vertex_rai_result] if args.key?(:vertex_rai_result)
31809
+ end
31810
+ end
31811
+
31812
+ #
31813
+ class NlpSaftLangIdLocalesResult
31814
+ include Google::Apis::Core::Hashable
31815
+
31816
+ # List of locales in which the text would be considered acceptable. Sorted in
31817
+ # descending order according to each locale's respective likelihood. For example,
31818
+ # if a Portuguese text is acceptable in both Brazil and Portugal, but is more
31819
+ # strongly associated with Brazil, then the predictions would be ["pt-BR", "pt-
31820
+ # PT"], in that order. May be empty, indicating that the model did not predict
31821
+ # any acceptable locales.
31822
+ # Corresponds to the JSON property `predictions`
31823
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLangIdLocalesResultLocale>]
31824
+ attr_accessor :predictions
31825
+
31826
+ def initialize(**args)
31827
+ update!(**args)
31828
+ end
31829
+
31830
+ # Update properties of this object
31831
+ def update!(**args)
31832
+ @predictions = args[:predictions] if args.key?(:predictions)
31833
+ end
31834
+ end
31835
+
31836
+ #
31837
+ class NlpSaftLangIdLocalesResultLocale
31838
+ include Google::Apis::Core::Hashable
31839
+
31840
+ # A BCP 47 language code that includes region information. For example, "pt-BR"
31841
+ # or "pt-PT". This field will always be populated.
31842
+ # Corresponds to the JSON property `languageCode`
31843
+ # @return [String]
31844
+ attr_accessor :language_code
31845
+
31846
+ def initialize(**args)
31847
+ update!(**args)
31848
+ end
31849
+
31850
+ # Update properties of this object
31851
+ def update!(**args)
31852
+ @language_code = args[:language_code] if args.key?(:language_code)
31853
+ end
31854
+ end
31855
+
31856
+ #
31857
+ class NlpSaftLangIdResult
31858
+ include Google::Apis::Core::Hashable
31859
+
31860
+ # The version of the model used to create these annotations.
31861
+ # Corresponds to the JSON property `modelVersion`
31862
+ # @return [String]
31863
+ attr_accessor :model_version
31864
+
31865
+ # This field stores the n-best list of possible BCP 47 language code strings for
31866
+ # a given input sorted in descending order according to each code's respective
31867
+ # probability.
31868
+ # Corresponds to the JSON property `predictions`
31869
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpan>]
31870
+ attr_accessor :predictions
31871
+
31872
+ # This field stores language predictions of subspans of the input, when
31873
+ # available. Each LanguageSpanSequence is a sequence of LanguageSpans. A
31874
+ # particular sequence of LanguageSpans has an associated probability, and need
31875
+ # not necessarily cover the entire input. If no language could be predicted for
31876
+ # any span, then this field may be empty.
31877
+ # Corresponds to the JSON property `spanPredictions`
31878
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpanSequence>]
31879
+ attr_accessor :span_predictions
31880
+
31881
+ def initialize(**args)
31882
+ update!(**args)
31883
+ end
31884
+
31885
+ # Update properties of this object
31886
+ def update!(**args)
31887
+ @model_version = args[:model_version] if args.key?(:model_version)
31888
+ @predictions = args[:predictions] if args.key?(:predictions)
31889
+ @span_predictions = args[:span_predictions] if args.key?(:span_predictions)
31890
+ end
31891
+ end
31892
+
31893
+ #
31894
+ class NlpSaftLanguageSpan
31895
+ include Google::Apis::Core::Hashable
31896
+
31897
+ #
31898
+ # Corresponds to the JSON property `end`
31899
+ # @return [Fixnum]
31900
+ attr_accessor :end
31901
+
31902
+ # A BCP 47 language code for this span.
31903
+ # Corresponds to the JSON property `languageCode`
31904
+ # @return [String]
31905
+ attr_accessor :language_code
31906
+
31907
+ # Optional field containing any information that was predicted about the
31908
+ # specific locale(s) of the span.
31909
+ # Corresponds to the JSON property `locales`
31910
+ # @return [Google::Apis::AiplatformV1beta1::NlpSaftLangIdLocalesResult]
31911
+ attr_accessor :locales
31912
+
31913
+ # A probability associated with this prediction.
31914
+ # Corresponds to the JSON property `probability`
31915
+ # @return [Float]
31916
+ attr_accessor :probability
31917
+
31918
+ # Start and end byte offsets, inclusive, within the given input string. A value
31919
+ # of -1 implies that this field is not set. Both fields must either be set with
31920
+ # a nonnegative value or both are unset. If both are unset then this
31921
+ # LanguageSpan applies to the entire input.
31922
+ # Corresponds to the JSON property `start`
31923
+ # @return [Fixnum]
31924
+ attr_accessor :start
31925
+
31926
+ def initialize(**args)
31927
+ update!(**args)
31928
+ end
31929
+
31930
+ # Update properties of this object
31931
+ def update!(**args)
31932
+ @end = args[:end] if args.key?(:end)
31933
+ @language_code = args[:language_code] if args.key?(:language_code)
31934
+ @locales = args[:locales] if args.key?(:locales)
31935
+ @probability = args[:probability] if args.key?(:probability)
31936
+ @start = args[:start] if args.key?(:start)
31937
+ end
31938
+ end
31939
+
31940
+ #
31941
+ class NlpSaftLanguageSpanSequence
31942
+ include Google::Apis::Core::Hashable
31943
+
31944
+ # A sequence of LanguageSpan objects, each assigning a language to a subspan of
31945
+ # the input.
31946
+ # Corresponds to the JSON property `languageSpans`
31947
+ # @return [Array<Google::Apis::AiplatformV1beta1::NlpSaftLanguageSpan>]
31948
+ attr_accessor :language_spans
31949
+
31950
+ # The probability of this sequence of LanguageSpans.
31951
+ # Corresponds to the JSON property `probability`
31952
+ # @return [Float]
31953
+ attr_accessor :probability
31954
+
31955
+ def initialize(**args)
31956
+ update!(**args)
31957
+ end
31958
+
31959
+ # Update properties of this object
31960
+ def update!(**args)
31961
+ @language_spans = args[:language_spans] if args.key?(:language_spans)
31962
+ @probability = args[:probability] if args.key?(:probability)
31963
+ end
31964
+ end
31965
+
31966
+ # This is proto2's version of MessageSet.
31967
+ class Proto2BridgeMessageSet
31968
+ include Google::Apis::Core::Hashable
31969
+
31970
+ def initialize(**args)
31971
+ update!(**args)
31972
+ end
31973
+
31974
+ # Update properties of this object
31975
+ def update!(**args)
31976
+ end
31977
+ end
31978
+
31979
+ # Wire-format for a Status object
31980
+ class UtilStatusProto
31981
+ include Google::Apis::Core::Hashable
31982
+
31983
+ # The canonical error code (see codes.proto) that most closely corresponds to
31984
+ # this status. This may be missing, and in the common case of the generic space,
31985
+ # it definitely will be.
31986
+ # Corresponds to the JSON property `canonicalCode`
31987
+ # @return [Fixnum]
31988
+ attr_accessor :canonical_code
31989
+
31990
+ # Numeric code drawn from the space specified below. Often, this is the
31991
+ # canonical error space, and code is drawn from google3/util/task/codes.proto
31992
+ # Corresponds to the JSON property `code`
31993
+ # @return [Fixnum]
31994
+ attr_accessor :code
31995
+
31996
+ # Detail message
31997
+ # Corresponds to the JSON property `message`
31998
+ # @return [String]
31999
+ attr_accessor :message
32000
+
32001
+ # This is proto2's version of MessageSet.
32002
+ # Corresponds to the JSON property `messageSet`
32003
+ # @return [Google::Apis::AiplatformV1beta1::Proto2BridgeMessageSet]
32004
+ attr_accessor :message_set
32005
+
32006
+ # The following are usually only present when code != 0 Space to which this
32007
+ # status belongs
32008
+ # Corresponds to the JSON property `space`
32009
+ # @return [String]
32010
+ attr_accessor :space
32011
+
32012
+ def initialize(**args)
32013
+ update!(**args)
32014
+ end
32015
+
32016
+ # Update properties of this object
32017
+ def update!(**args)
32018
+ @canonical_code = args[:canonical_code] if args.key?(:canonical_code)
32019
+ @code = args[:code] if args.key?(:code)
32020
+ @message = args[:message] if args.key?(:message)
32021
+ @message_set = args[:message_set] if args.key?(:message_set)
32022
+ @space = args[:space] if args.key?(:space)
32023
+ end
32024
+ end
29559
32025
  end
29560
32026
  end
29561
32027
  end