google-apis-firebaseml_v2beta 0.9.0 → 0.10.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.
@@ -93,6 +93,11 @@ module Google
93
93
  class GoogleCloudAiplatformV1beta1Candidate
94
94
  include Google::Apis::Core::Hashable
95
95
 
96
+ # Output only. Average log probability score of the candidate.
97
+ # Corresponds to the JSON property `avgLogprobs`
98
+ # @return [Float]
99
+ attr_accessor :avg_logprobs
100
+
96
101
  # A collection of source attributions for a piece of content.
97
102
  # Corresponds to the JSON property `citationMetadata`
98
103
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1CitationMetadata]
@@ -128,6 +133,11 @@ module Google
128
133
  # @return [Fixnum]
129
134
  attr_accessor :index
130
135
 
136
+ # Logprobs Result
137
+ # Corresponds to the JSON property `logprobsResult`
138
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1LogprobsResult]
139
+ attr_accessor :logprobs_result
140
+
131
141
  # Output only. List of ratings for the safety of a response candidate. There is
132
142
  # at most one rating per category.
133
143
  # Corresponds to the JSON property `safetyRatings`
@@ -140,12 +150,14 @@ module Google
140
150
 
141
151
  # Update properties of this object
142
152
  def update!(**args)
153
+ @avg_logprobs = args[:avg_logprobs] if args.key?(:avg_logprobs)
143
154
  @citation_metadata = args[:citation_metadata] if args.key?(:citation_metadata)
144
155
  @content = args[:content] if args.key?(:content)
145
156
  @finish_message = args[:finish_message] if args.key?(:finish_message)
146
157
  @finish_reason = args[:finish_reason] if args.key?(:finish_reason)
147
158
  @grounding_metadata = args[:grounding_metadata] if args.key?(:grounding_metadata)
148
159
  @index = args[:index] if args.key?(:index)
160
+ @logprobs_result = args[:logprobs_result] if args.key?(:logprobs_result)
149
161
  @safety_ratings = args[:safety_ratings] if args.key?(:safety_ratings)
150
162
  end
151
163
  end
@@ -225,6 +237,33 @@ module Google
225
237
  end
226
238
  end
227
239
 
240
+ # Result of executing the [ExecutableCode]. Always follows a `part` containing
241
+ # the [ExecutableCode].
242
+ class GoogleCloudAiplatformV1beta1CodeExecutionResult
243
+ include Google::Apis::Core::Hashable
244
+
245
+ # Required. Outcome of the code execution.
246
+ # Corresponds to the JSON property `outcome`
247
+ # @return [String]
248
+ attr_accessor :outcome
249
+
250
+ # Optional. Contains stdout when code execution is successful, stderr or other
251
+ # description otherwise.
252
+ # Corresponds to the JSON property `output`
253
+ # @return [String]
254
+ attr_accessor :output
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ @outcome = args[:outcome] if args.key?(:outcome)
263
+ @output = args[:output] if args.key?(:output)
264
+ end
265
+ end
266
+
228
267
  # The base structured datatype containing multi-part content of a message. A `
229
268
  # Content` includes a `role` field designating the producer of the `Content` and
230
269
  # a `parts` field containing multi-part data that contains the content of the
@@ -265,6 +304,11 @@ module Google
265
304
  # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Content>]
266
305
  attr_accessor :contents
267
306
 
307
+ # Generation config.
308
+ # Corresponds to the JSON property `generationConfig`
309
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GenerationConfig]
310
+ attr_accessor :generation_config
311
+
268
312
  # Optional. The instances that are the input to token counting call. Schema is
269
313
  # identical to the prediction schema of the underlying model.
270
314
  # Corresponds to the JSON property `instances`
@@ -300,6 +344,7 @@ module Google
300
344
  # Update properties of this object
301
345
  def update!(**args)
302
346
  @contents = args[:contents] if args.key?(:contents)
347
+ @generation_config = args[:generation_config] if args.key?(:generation_config)
303
348
  @instances = args[:instances] if args.key?(:instances)
304
349
  @model = args[:model] if args.key?(:model)
305
350
  @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
@@ -333,6 +378,59 @@ module Google
333
378
  end
334
379
  end
335
380
 
381
+ # Describes the options to customize dynamic retrieval.
382
+ class GoogleCloudAiplatformV1beta1DynamicRetrievalConfig
383
+ include Google::Apis::Core::Hashable
384
+
385
+ # Optional. The threshold to be used in dynamic retrieval. If not set, a system
386
+ # default value is used.
387
+ # Corresponds to the JSON property `dynamicThreshold`
388
+ # @return [Float]
389
+ attr_accessor :dynamic_threshold
390
+
391
+ # The mode of the predictor to be used in dynamic retrieval.
392
+ # Corresponds to the JSON property `mode`
393
+ # @return [String]
394
+ attr_accessor :mode
395
+
396
+ def initialize(**args)
397
+ update!(**args)
398
+ end
399
+
400
+ # Update properties of this object
401
+ def update!(**args)
402
+ @dynamic_threshold = args[:dynamic_threshold] if args.key?(:dynamic_threshold)
403
+ @mode = args[:mode] if args.key?(:mode)
404
+ end
405
+ end
406
+
407
+ # Code generated by the model that is meant to be executed, and the result
408
+ # returned to the model. Generated when using the [FunctionDeclaration] tool and
409
+ # [FunctionCallingConfig] mode is set to [Mode.CODE].
410
+ class GoogleCloudAiplatformV1beta1ExecutableCode
411
+ include Google::Apis::Core::Hashable
412
+
413
+ # Required. The code to be executed.
414
+ # Corresponds to the JSON property `code`
415
+ # @return [String]
416
+ attr_accessor :code
417
+
418
+ # Required. Programming language of the `code`.
419
+ # Corresponds to the JSON property `language`
420
+ # @return [String]
421
+ attr_accessor :language
422
+
423
+ def initialize(**args)
424
+ update!(**args)
425
+ end
426
+
427
+ # Update properties of this object
428
+ def update!(**args)
429
+ @code = args[:code] if args.key?(:code)
430
+ @language = args[:language] if args.key?(:language)
431
+ end
432
+ end
433
+
336
434
  # URI based data.
337
435
  class GoogleCloudAiplatformV1beta1FileData
338
436
  include Google::Apis::Core::Hashable
@@ -415,9 +513,9 @@ module Google
415
513
 
416
514
  # Structured representation of a function declaration as defined by the [OpenAPI
417
515
  # 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this
418
- # declaration are the function name and parameters. This FunctionDeclaration is
419
- # a representation of a block of code that can be used as a `Tool` by the model
420
- # and executed by the client.
516
+ # declaration are the function name, description, parameters and response type.
517
+ # This FunctionDeclaration is a representation of a block of code that can be
518
+ # used as a `Tool` by the model and executed by the client.
421
519
  class GoogleCloudAiplatformV1beta1FunctionDeclaration
422
520
  include Google::Apis::Core::Hashable
423
521
 
@@ -436,14 +534,14 @@ module Google
436
534
 
437
535
  # Schema is used to define the format of input/output data. Represents a select
438
536
  # subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#
439
- # schema). More fields may be added in the future as needed.
537
+ # schema-object). More fields may be added in the future as needed.
440
538
  # Corresponds to the JSON property `parameters`
441
539
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Schema]
442
540
  attr_accessor :parameters
443
541
 
444
542
  # Schema is used to define the format of input/output data. Represents a select
445
543
  # subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#
446
- # schema). More fields may be added in the future as needed.
544
+ # schema-object). More fields may be added in the future as needed.
447
545
  # Corresponds to the JSON property `response`
448
546
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Schema]
449
547
  attr_accessor :response
@@ -474,7 +572,10 @@ module Google
474
572
  # @return [String]
475
573
  attr_accessor :name
476
574
 
477
- # Required. The function response in JSON object format.
575
+ # Required. The function response in JSON object format. Use "output" key to
576
+ # specify function output and "error" key to specify error details (if any). If "
577
+ # output" and "error" keys are not specified, then whole "response" is treated
578
+ # as function output.
478
579
  # Corresponds to the JSON property `response`
479
580
  # @return [Hash<String,Object>]
480
581
  attr_accessor :response
@@ -515,6 +616,15 @@ module Google
515
616
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GenerationConfig]
516
617
  attr_accessor :generation_config
517
618
 
619
+ # Optional. The labels with user-defined metadata for the request. It is used
620
+ # for billing and reporting only. Label keys and values can be no longer than 63
621
+ # characters (Unicode codepoints) and can only contain lowercase letters,
622
+ # numeric characters, underscores, and dashes. International characters are
623
+ # allowed. Label values are optional. Label keys must start with a letter.
624
+ # Corresponds to the JSON property `labels`
625
+ # @return [Hash<String,String>]
626
+ attr_accessor :labels
627
+
518
628
  # Optional. Per request settings for blocking unsafe content. Enforced on
519
629
  # GenerateContentResponse.candidates.
520
630
  # Corresponds to the JSON property `safetySettings`
@@ -551,6 +661,7 @@ module Google
551
661
  @cached_content = args[:cached_content] if args.key?(:cached_content)
552
662
  @contents = args[:contents] if args.key?(:contents)
553
663
  @generation_config = args[:generation_config] if args.key?(:generation_config)
664
+ @labels = args[:labels] if args.key?(:labels)
554
665
  @safety_settings = args[:safety_settings] if args.key?(:safety_settings)
555
666
  @system_instruction = args[:system_instruction] if args.key?(:system_instruction)
556
667
  @tool_config = args[:tool_config] if args.key?(:tool_config)
@@ -567,6 +678,11 @@ module Google
567
678
  # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Candidate>]
568
679
  attr_accessor :candidates
569
680
 
681
+ # Output only. The model version used to generate the response.
682
+ # Corresponds to the JSON property `modelVersion`
683
+ # @return [String]
684
+ attr_accessor :model_version
685
+
570
686
  # Content filter results for a prompt sent in the request.
571
687
  # Corresponds to the JSON property `promptFeedback`
572
688
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GenerateContentResponsePromptFeedback]
@@ -584,6 +700,7 @@ module Google
584
700
  # Update properties of this object
585
701
  def update!(**args)
586
702
  @candidates = args[:candidates] if args.key?(:candidates)
703
+ @model_version = args[:model_version] if args.key?(:model_version)
587
704
  @prompt_feedback = args[:prompt_feedback] if args.key?(:prompt_feedback)
588
705
  @usage_metadata = args[:usage_metadata] if args.key?(:usage_metadata)
589
706
  end
@@ -624,17 +741,25 @@ module Google
624
741
  class GoogleCloudAiplatformV1beta1GenerateContentResponseUsageMetadata
625
742
  include Google::Apis::Core::Hashable
626
743
 
744
+ # Output only. Number of tokens in the cached part in the input (the cached
745
+ # content).
746
+ # Corresponds to the JSON property `cachedContentTokenCount`
747
+ # @return [Fixnum]
748
+ attr_accessor :cached_content_token_count
749
+
627
750
  # Number of tokens in the response(s).
628
751
  # Corresponds to the JSON property `candidatesTokenCount`
629
752
  # @return [Fixnum]
630
753
  attr_accessor :candidates_token_count
631
754
 
632
- # Number of tokens in the request.
755
+ # Number of tokens in the request. When `cached_content` is set, this is still
756
+ # the total effective prompt size meaning this includes the number of tokens in
757
+ # the cached content.
633
758
  # Corresponds to the JSON property `promptTokenCount`
634
759
  # @return [Fixnum]
635
760
  attr_accessor :prompt_token_count
636
761
 
637
- #
762
+ # Total token count for prompt and response candidates.
638
763
  # Corresponds to the JSON property `totalTokenCount`
639
764
  # @return [Fixnum]
640
765
  attr_accessor :total_token_count
@@ -645,6 +770,7 @@ module Google
645
770
 
646
771
  # Update properties of this object
647
772
  def update!(**args)
773
+ @cached_content_token_count = args[:cached_content_token_count] if args.key?(:cached_content_token_count)
648
774
  @candidates_token_count = args[:candidates_token_count] if args.key?(:candidates_token_count)
649
775
  @prompt_token_count = args[:prompt_token_count] if args.key?(:prompt_token_count)
650
776
  @total_token_count = args[:total_token_count] if args.key?(:total_token_count)
@@ -655,6 +781,13 @@ module Google
655
781
  class GoogleCloudAiplatformV1beta1GenerationConfig
656
782
  include Google::Apis::Core::Hashable
657
783
 
784
+ # Optional. If enabled, audio timestamp will be included in the request to the
785
+ # model.
786
+ # Corresponds to the JSON property `audioTimestamp`
787
+ # @return [Boolean]
788
+ attr_accessor :audio_timestamp
789
+ alias_method :audio_timestamp?, :audio_timestamp
790
+
658
791
  # Optional. Number of candidates to generate.
659
792
  # Corresponds to the JSON property `candidateCount`
660
793
  # @return [Fixnum]
@@ -665,6 +798,11 @@ module Google
665
798
  # @return [Float]
666
799
  attr_accessor :frequency_penalty
667
800
 
801
+ # Optional. Logit probabilities.
802
+ # Corresponds to the JSON property `logprobs`
803
+ # @return [Fixnum]
804
+ attr_accessor :logprobs
805
+
668
806
  # Optional. The maximum number of output tokens to generate per message.
669
807
  # Corresponds to the JSON property `maxOutputTokens`
670
808
  # @return [Fixnum]
@@ -675,6 +813,12 @@ module Google
675
813
  # @return [Float]
676
814
  attr_accessor :presence_penalty
677
815
 
816
+ # Optional. If true, export the logprobs results in response.
817
+ # Corresponds to the JSON property `responseLogprobs`
818
+ # @return [Boolean]
819
+ attr_accessor :response_logprobs
820
+ alias_method :response_logprobs?, :response_logprobs
821
+
678
822
  # Optional. Output response mimetype of the generated candidate text. Supported
679
823
  # mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON
680
824
  # response in the candidates. The model needs to be prompted to output the
@@ -686,11 +830,21 @@ module Google
686
830
 
687
831
  # Schema is used to define the format of input/output data. Represents a select
688
832
  # subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#
689
- # schema). More fields may be added in the future as needed.
833
+ # schema-object). More fields may be added in the future as needed.
690
834
  # Corresponds to the JSON property `responseSchema`
691
835
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Schema]
692
836
  attr_accessor :response_schema
693
837
 
838
+ # The configuration for routing the request to a specific model.
839
+ # Corresponds to the JSON property `routingConfig`
840
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfig]
841
+ attr_accessor :routing_config
842
+
843
+ # Optional. Seed.
844
+ # Corresponds to the JSON property `seed`
845
+ # @return [Fixnum]
846
+ attr_accessor :seed
847
+
694
848
  # Optional. Stop sequences.
695
849
  # Corresponds to the JSON property `stopSequences`
696
850
  # @return [Array<String>]
@@ -717,12 +871,17 @@ module Google
717
871
 
718
872
  # Update properties of this object
719
873
  def update!(**args)
874
+ @audio_timestamp = args[:audio_timestamp] if args.key?(:audio_timestamp)
720
875
  @candidate_count = args[:candidate_count] if args.key?(:candidate_count)
721
876
  @frequency_penalty = args[:frequency_penalty] if args.key?(:frequency_penalty)
877
+ @logprobs = args[:logprobs] if args.key?(:logprobs)
722
878
  @max_output_tokens = args[:max_output_tokens] if args.key?(:max_output_tokens)
723
879
  @presence_penalty = args[:presence_penalty] if args.key?(:presence_penalty)
880
+ @response_logprobs = args[:response_logprobs] if args.key?(:response_logprobs)
724
881
  @response_mime_type = args[:response_mime_type] if args.key?(:response_mime_type)
725
882
  @response_schema = args[:response_schema] if args.key?(:response_schema)
883
+ @routing_config = args[:routing_config] if args.key?(:routing_config)
884
+ @seed = args[:seed] if args.key?(:seed)
726
885
  @stop_sequences = args[:stop_sequences] if args.key?(:stop_sequences)
727
886
  @temperature = args[:temperature] if args.key?(:temperature)
728
887
  @top_k = args[:top_k] if args.key?(:top_k)
@@ -730,16 +889,88 @@ module Google
730
889
  end
731
890
  end
732
891
 
892
+ # The configuration for routing the request to a specific model.
893
+ class GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfig
894
+ include Google::Apis::Core::Hashable
895
+
896
+ # When automated routing is specified, the routing will be determined by the
897
+ # pretrained routing model and customer provided model routing preference.
898
+ # Corresponds to the JSON property `autoMode`
899
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingMode]
900
+ attr_accessor :auto_mode
901
+
902
+ # When manual routing is set, the specified model will be used directly.
903
+ # Corresponds to the JSON property `manualMode`
904
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigManualRoutingMode]
905
+ attr_accessor :manual_mode
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @auto_mode = args[:auto_mode] if args.key?(:auto_mode)
914
+ @manual_mode = args[:manual_mode] if args.key?(:manual_mode)
915
+ end
916
+ end
917
+
918
+ # When automated routing is specified, the routing will be determined by the
919
+ # pretrained routing model and customer provided model routing preference.
920
+ class GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingMode
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # The model routing preference.
924
+ # Corresponds to the JSON property `modelRoutingPreference`
925
+ # @return [String]
926
+ attr_accessor :model_routing_preference
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @model_routing_preference = args[:model_routing_preference] if args.key?(:model_routing_preference)
935
+ end
936
+ end
937
+
938
+ # When manual routing is set, the specified model will be used directly.
939
+ class GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigManualRoutingMode
940
+ include Google::Apis::Core::Hashable
941
+
942
+ # The model name to use. Only the public LLM models are accepted. e.g. 'gemini-1.
943
+ # 5-pro-001'.
944
+ # Corresponds to the JSON property `modelName`
945
+ # @return [String]
946
+ attr_accessor :model_name
947
+
948
+ def initialize(**args)
949
+ update!(**args)
950
+ end
951
+
952
+ # Update properties of this object
953
+ def update!(**args)
954
+ @model_name = args[:model_name] if args.key?(:model_name)
955
+ end
956
+ end
957
+
733
958
  # Tool to retrieve public web data for grounding, powered by Google.
734
959
  class GoogleCloudAiplatformV1beta1GoogleSearchRetrieval
735
960
  include Google::Apis::Core::Hashable
736
961
 
962
+ # Describes the options to customize dynamic retrieval.
963
+ # Corresponds to the JSON property `dynamicRetrievalConfig`
964
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1DynamicRetrievalConfig]
965
+ attr_accessor :dynamic_retrieval_config
966
+
737
967
  def initialize(**args)
738
968
  update!(**args)
739
969
  end
740
970
 
741
971
  # Update properties of this object
742
972
  def update!(**args)
973
+ @dynamic_retrieval_config = args[:dynamic_retrieval_config] if args.key?(:dynamic_retrieval_config)
743
974
  end
744
975
  end
745
976
 
@@ -772,6 +1003,11 @@ module Google
772
1003
  class GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext
773
1004
  include Google::Apis::Core::Hashable
774
1005
 
1006
+ # Text of the attribution.
1007
+ # Corresponds to the JSON property `text`
1008
+ # @return [String]
1009
+ attr_accessor :text
1010
+
775
1011
  # Title of the attribution.
776
1012
  # Corresponds to the JSON property `title`
777
1013
  # @return [String]
@@ -788,6 +1024,7 @@ module Google
788
1024
 
789
1025
  # Update properties of this object
790
1026
  def update!(**args)
1027
+ @text = args[:text] if args.key?(:text)
791
1028
  @title = args[:title] if args.key?(:title)
792
1029
  @uri = args[:uri] if args.key?(:uri)
793
1030
  end
@@ -832,6 +1069,11 @@ module Google
832
1069
  # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1GroundingSupport>]
833
1070
  attr_accessor :grounding_supports
834
1071
 
1072
+ # Metadata related to retrieval in the grounding flow.
1073
+ # Corresponds to the JSON property `retrievalMetadata`
1074
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RetrievalMetadata]
1075
+ attr_accessor :retrieval_metadata
1076
+
835
1077
  # Optional. Queries executed by the retrieval tools.
836
1078
  # Corresponds to the JSON property `retrievalQueries`
837
1079
  # @return [Array<String>]
@@ -855,6 +1097,7 @@ module Google
855
1097
  def update!(**args)
856
1098
  @grounding_chunks = args[:grounding_chunks] if args.key?(:grounding_chunks)
857
1099
  @grounding_supports = args[:grounding_supports] if args.key?(:grounding_supports)
1100
+ @retrieval_metadata = args[:retrieval_metadata] if args.key?(:retrieval_metadata)
858
1101
  @retrieval_queries = args[:retrieval_queries] if args.key?(:retrieval_queries)
859
1102
  @search_entry_point = args[:search_entry_point] if args.key?(:search_entry_point)
860
1103
  @web_search_queries = args[:web_search_queries] if args.key?(:web_search_queries)
@@ -896,6 +1139,82 @@ module Google
896
1139
  end
897
1140
  end
898
1141
 
1142
+ # Logprobs Result
1143
+ class GoogleCloudAiplatformV1beta1LogprobsResult
1144
+ include Google::Apis::Core::Hashable
1145
+
1146
+ # Length = total number of decoding steps. The chosen candidates may or may not
1147
+ # be in top_candidates.
1148
+ # Corresponds to the JSON property `chosenCandidates`
1149
+ # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1LogprobsResultCandidate>]
1150
+ attr_accessor :chosen_candidates
1151
+
1152
+ # Length = total number of decoding steps.
1153
+ # Corresponds to the JSON property `topCandidates`
1154
+ # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1LogprobsResultTopCandidates>]
1155
+ attr_accessor :top_candidates
1156
+
1157
+ def initialize(**args)
1158
+ update!(**args)
1159
+ end
1160
+
1161
+ # Update properties of this object
1162
+ def update!(**args)
1163
+ @chosen_candidates = args[:chosen_candidates] if args.key?(:chosen_candidates)
1164
+ @top_candidates = args[:top_candidates] if args.key?(:top_candidates)
1165
+ end
1166
+ end
1167
+
1168
+ # Candidate for the logprobs token and score.
1169
+ class GoogleCloudAiplatformV1beta1LogprobsResultCandidate
1170
+ include Google::Apis::Core::Hashable
1171
+
1172
+ # The candidate's log probability.
1173
+ # Corresponds to the JSON property `logProbability`
1174
+ # @return [Float]
1175
+ attr_accessor :log_probability
1176
+
1177
+ # The candidate's token string value.
1178
+ # Corresponds to the JSON property `token`
1179
+ # @return [String]
1180
+ attr_accessor :token
1181
+
1182
+ # The candidate's token id value.
1183
+ # Corresponds to the JSON property `tokenId`
1184
+ # @return [Fixnum]
1185
+ attr_accessor :token_id
1186
+
1187
+ def initialize(**args)
1188
+ update!(**args)
1189
+ end
1190
+
1191
+ # Update properties of this object
1192
+ def update!(**args)
1193
+ @log_probability = args[:log_probability] if args.key?(:log_probability)
1194
+ @token = args[:token] if args.key?(:token)
1195
+ @token_id = args[:token_id] if args.key?(:token_id)
1196
+ end
1197
+ end
1198
+
1199
+ # Candidates with top log probabilities at each decoding step.
1200
+ class GoogleCloudAiplatformV1beta1LogprobsResultTopCandidates
1201
+ include Google::Apis::Core::Hashable
1202
+
1203
+ # Sorted by log probability in descending order.
1204
+ # Corresponds to the JSON property `candidates`
1205
+ # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1LogprobsResultCandidate>]
1206
+ attr_accessor :candidates
1207
+
1208
+ def initialize(**args)
1209
+ update!(**args)
1210
+ end
1211
+
1212
+ # Update properties of this object
1213
+ def update!(**args)
1214
+ @candidates = args[:candidates] if args.key?(:candidates)
1215
+ end
1216
+ end
1217
+
899
1218
  # A datatype containing media that is part of a multi-part `Content` message. A `
900
1219
  # Part` consists of data which has an associated datatype. A `Part` can only
901
1220
  # contain one of the accepted types in `Part.data`. A `Part` must have a fixed
@@ -904,6 +1223,19 @@ module Google
904
1223
  class GoogleCloudAiplatformV1beta1Part
905
1224
  include Google::Apis::Core::Hashable
906
1225
 
1226
+ # Result of executing the [ExecutableCode]. Always follows a `part` containing
1227
+ # the [ExecutableCode].
1228
+ # Corresponds to the JSON property `codeExecutionResult`
1229
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1CodeExecutionResult]
1230
+ attr_accessor :code_execution_result
1231
+
1232
+ # Code generated by the model that is meant to be executed, and the result
1233
+ # returned to the model. Generated when using the [FunctionDeclaration] tool and
1234
+ # [FunctionCallingConfig] mode is set to [Mode.CODE].
1235
+ # Corresponds to the JSON property `executableCode`
1236
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1ExecutableCode]
1237
+ attr_accessor :executable_code
1238
+
907
1239
  # URI based data.
908
1240
  # Corresponds to the JSON property `fileData`
909
1241
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1FileData]
@@ -945,6 +1277,8 @@ module Google
945
1277
 
946
1278
  # Update properties of this object
947
1279
  def update!(**args)
1280
+ @code_execution_result = args[:code_execution_result] if args.key?(:code_execution_result)
1281
+ @executable_code = args[:executable_code] if args.key?(:executable_code)
948
1282
  @file_data = args[:file_data] if args.key?(:file_data)
949
1283
  @function_call = args[:function_call] if args.key?(:function_call)
950
1284
  @function_response = args[:function_response] if args.key?(:function_response)
@@ -954,6 +1288,162 @@ module Google
954
1288
  end
955
1289
  end
956
1290
 
1291
+ # Specifies the context retrieval config.
1292
+ class GoogleCloudAiplatformV1beta1RagRetrievalConfig
1293
+ include Google::Apis::Core::Hashable
1294
+
1295
+ # Config for filters.
1296
+ # Corresponds to the JSON property `filter`
1297
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter]
1298
+ attr_accessor :filter
1299
+
1300
+ # Config for Hybrid Search.
1301
+ # Corresponds to the JSON property `hybridSearch`
1302
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch]
1303
+ attr_accessor :hybrid_search
1304
+
1305
+ # Config for ranking and reranking.
1306
+ # Corresponds to the JSON property `ranking`
1307
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking]
1308
+ attr_accessor :ranking
1309
+
1310
+ # Optional. The number of contexts to retrieve.
1311
+ # Corresponds to the JSON property `topK`
1312
+ # @return [Fixnum]
1313
+ attr_accessor :top_k
1314
+
1315
+ def initialize(**args)
1316
+ update!(**args)
1317
+ end
1318
+
1319
+ # Update properties of this object
1320
+ def update!(**args)
1321
+ @filter = args[:filter] if args.key?(:filter)
1322
+ @hybrid_search = args[:hybrid_search] if args.key?(:hybrid_search)
1323
+ @ranking = args[:ranking] if args.key?(:ranking)
1324
+ @top_k = args[:top_k] if args.key?(:top_k)
1325
+ end
1326
+ end
1327
+
1328
+ # Config for filters.
1329
+ class GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter
1330
+ include Google::Apis::Core::Hashable
1331
+
1332
+ # Optional. String for metadata filtering.
1333
+ # Corresponds to the JSON property `metadataFilter`
1334
+ # @return [String]
1335
+ attr_accessor :metadata_filter
1336
+
1337
+ # Optional. Only returns contexts with vector distance smaller than the
1338
+ # threshold.
1339
+ # Corresponds to the JSON property `vectorDistanceThreshold`
1340
+ # @return [Float]
1341
+ attr_accessor :vector_distance_threshold
1342
+
1343
+ # Optional. Only returns contexts with vector similarity larger than the
1344
+ # threshold.
1345
+ # Corresponds to the JSON property `vectorSimilarityThreshold`
1346
+ # @return [Float]
1347
+ attr_accessor :vector_similarity_threshold
1348
+
1349
+ def initialize(**args)
1350
+ update!(**args)
1351
+ end
1352
+
1353
+ # Update properties of this object
1354
+ def update!(**args)
1355
+ @metadata_filter = args[:metadata_filter] if args.key?(:metadata_filter)
1356
+ @vector_distance_threshold = args[:vector_distance_threshold] if args.key?(:vector_distance_threshold)
1357
+ @vector_similarity_threshold = args[:vector_similarity_threshold] if args.key?(:vector_similarity_threshold)
1358
+ end
1359
+ end
1360
+
1361
+ # Config for Hybrid Search.
1362
+ class GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch
1363
+ include Google::Apis::Core::Hashable
1364
+
1365
+ # Optional. Alpha value controls the weight between dense and sparse vector
1366
+ # search results. The range is [0, 1], while 0 means sparse vector search only
1367
+ # and 1 means dense vector search only. The default value is 0.5 which balances
1368
+ # sparse and dense vector search equally.
1369
+ # Corresponds to the JSON property `alpha`
1370
+ # @return [Float]
1371
+ attr_accessor :alpha
1372
+
1373
+ def initialize(**args)
1374
+ update!(**args)
1375
+ end
1376
+
1377
+ # Update properties of this object
1378
+ def update!(**args)
1379
+ @alpha = args[:alpha] if args.key?(:alpha)
1380
+ end
1381
+ end
1382
+
1383
+ # Config for ranking and reranking.
1384
+ class GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking
1385
+ include Google::Apis::Core::Hashable
1386
+
1387
+ # Config for LlmRanker.
1388
+ # Corresponds to the JSON property `llmRanker`
1389
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker]
1390
+ attr_accessor :llm_ranker
1391
+
1392
+ # Config for Rank Service.
1393
+ # Corresponds to the JSON property `rankService`
1394
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService]
1395
+ attr_accessor :rank_service
1396
+
1397
+ def initialize(**args)
1398
+ update!(**args)
1399
+ end
1400
+
1401
+ # Update properties of this object
1402
+ def update!(**args)
1403
+ @llm_ranker = args[:llm_ranker] if args.key?(:llm_ranker)
1404
+ @rank_service = args[:rank_service] if args.key?(:rank_service)
1405
+ end
1406
+ end
1407
+
1408
+ # Config for LlmRanker.
1409
+ class GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker
1410
+ include Google::Apis::Core::Hashable
1411
+
1412
+ # Optional. The model name used for ranking. Format: `gemini-1.5-pro`
1413
+ # Corresponds to the JSON property `modelName`
1414
+ # @return [String]
1415
+ attr_accessor :model_name
1416
+
1417
+ def initialize(**args)
1418
+ update!(**args)
1419
+ end
1420
+
1421
+ # Update properties of this object
1422
+ def update!(**args)
1423
+ @model_name = args[:model_name] if args.key?(:model_name)
1424
+ end
1425
+ end
1426
+
1427
+ # Config for Rank Service.
1428
+ class GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # Optional. The model name of the rank service. Format: `semantic-ranker-512@
1432
+ # latest`
1433
+ # Corresponds to the JSON property `modelName`
1434
+ # @return [String]
1435
+ attr_accessor :model_name
1436
+
1437
+ def initialize(**args)
1438
+ update!(**args)
1439
+ end
1440
+
1441
+ # Update properties of this object
1442
+ def update!(**args)
1443
+ @model_name = args[:model_name] if args.key?(:model_name)
1444
+ end
1445
+ end
1446
+
957
1447
  # Defines a retrieval tool that model can call to access external knowledge.
958
1448
  class GoogleCloudAiplatformV1beta1Retrieval
959
1449
  include Google::Apis::Core::Hashable
@@ -965,7 +1455,7 @@ module Google
965
1455
  alias_method :disable_attribution?, :disable_attribution
966
1456
 
967
1457
  # Retrieve from Vertex AI Search datastore for grounding. See https://cloud.
968
- # google.com/vertex-ai-search-and-conversation
1458
+ # google.com/products/agent-builder
969
1459
  # Corresponds to the JSON property `vertexAiSearch`
970
1460
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1VertexAiSearch]
971
1461
  attr_accessor :vertex_ai_search
@@ -987,6 +1477,29 @@ module Google
987
1477
  end
988
1478
  end
989
1479
 
1480
+ # Metadata related to retrieval in the grounding flow.
1481
+ class GoogleCloudAiplatformV1beta1RetrievalMetadata
1482
+ include Google::Apis::Core::Hashable
1483
+
1484
+ # Optional. Score indicating how likely information from Google Search could
1485
+ # help answer the prompt. The score is in the range `[0, 1]`, where 0 is the
1486
+ # least likely and 1 is the most likely. This score is only populated when
1487
+ # Google Search grounding and dynamic retrieval is enabled. It will be compared
1488
+ # to the threshold to determine whether to trigger Google Search.
1489
+ # Corresponds to the JSON property `googleSearchDynamicRetrievalScore`
1490
+ # @return [Float]
1491
+ attr_accessor :google_search_dynamic_retrieval_score
1492
+
1493
+ def initialize(**args)
1494
+ update!(**args)
1495
+ end
1496
+
1497
+ # Update properties of this object
1498
+ def update!(**args)
1499
+ @google_search_dynamic_retrieval_score = args[:google_search_dynamic_retrieval_score] if args.key?(:google_search_dynamic_retrieval_score)
1500
+ end
1501
+ end
1502
+
990
1503
  # Safety rating corresponding to the generated content.
991
1504
  class GoogleCloudAiplatformV1beta1SafetyRating
992
1505
  include Google::Apis::Core::Hashable
@@ -1072,10 +1585,16 @@ module Google
1072
1585
 
1073
1586
  # Schema is used to define the format of input/output data. Represents a select
1074
1587
  # subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#
1075
- # schema). More fields may be added in the future as needed.
1588
+ # schema-object). More fields may be added in the future as needed.
1076
1589
  class GoogleCloudAiplatformV1beta1Schema
1077
1590
  include Google::Apis::Core::Hashable
1078
1591
 
1592
+ # Optional. The value should be validated against any (one or more) of the
1593
+ # subschemas in the list.
1594
+ # Corresponds to the JSON property `anyOf`
1595
+ # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Schema>]
1596
+ attr_accessor :any_of
1597
+
1079
1598
  # Optional. Default value of the data.
1080
1599
  # Corresponds to the JSON property `default`
1081
1600
  # @return [Object]
@@ -1086,9 +1605,10 @@ module Google
1086
1605
  # @return [String]
1087
1606
  attr_accessor :description
1088
1607
 
1089
- # Optional. Possible values of the element of Type.STRING with enum format. For
1090
- # example we can define an Enum Direction as : `type:STRING, format:enum, enum:["
1091
- # EAST", NORTH", "SOUTH", "WEST"]`
1608
+ # Optional. Possible values of the element of primitive type with enum format.
1609
+ # Examples: 1. We can define direction as : `type:STRING, format:enum, enum:["
1610
+ # EAST", NORTH", "SOUTH", "WEST"]` 2. We can define apartment number as : `type:
1611
+ # INTEGER, format:enum, enum:["101", "201", "301"]`
1092
1612
  # Corresponds to the JSON property `enum`
1093
1613
  # @return [Array<String>]
1094
1614
  attr_accessor :enum
@@ -1108,7 +1628,7 @@ module Google
1108
1628
 
1109
1629
  # Schema is used to define the format of input/output data. Represents a select
1110
1630
  # subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#
1111
- # schema). More fields may be added in the future as needed.
1631
+ # schema-object). More fields may be added in the future as needed.
1112
1632
  # Corresponds to the JSON property `items`
1113
1633
  # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Schema]
1114
1634
  attr_accessor :items
@@ -1171,6 +1691,12 @@ module Google
1171
1691
  # @return [Hash<String,Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1Schema>]
1172
1692
  attr_accessor :properties
1173
1693
 
1694
+ # Optional. The order of the properties. Not a standard field in open api spec.
1695
+ # Only used to support the order of the properties.
1696
+ # Corresponds to the JSON property `propertyOrdering`
1697
+ # @return [Array<String>]
1698
+ attr_accessor :property_ordering
1699
+
1174
1700
  # Optional. Required properties of Type.OBJECT.
1175
1701
  # Corresponds to the JSON property `required`
1176
1702
  # @return [Array<String>]
@@ -1192,6 +1718,7 @@ module Google
1192
1718
 
1193
1719
  # Update properties of this object
1194
1720
  def update!(**args)
1721
+ @any_of = args[:any_of] if args.key?(:any_of)
1195
1722
  @default = args[:default] if args.key?(:default)
1196
1723
  @description = args[:description] if args.key?(:description)
1197
1724
  @enum = args[:enum] if args.key?(:enum)
@@ -1209,6 +1736,7 @@ module Google
1209
1736
  @nullable = args[:nullable] if args.key?(:nullable)
1210
1737
  @pattern = args[:pattern] if args.key?(:pattern)
1211
1738
  @properties = args[:properties] if args.key?(:properties)
1739
+ @property_ordering = args[:property_ordering] if args.key?(:property_ordering)
1212
1740
  @required = args[:required] if args.key?(:required)
1213
1741
  @title = args[:title] if args.key?(:title)
1214
1742
  @type = args[:type] if args.key?(:type)
@@ -1289,12 +1817,19 @@ module Google
1289
1817
  class GoogleCloudAiplatformV1beta1Tool
1290
1818
  include Google::Apis::Core::Hashable
1291
1819
 
1820
+ # Tool that executes code generated by the model, and automatically returns the
1821
+ # result to the model. See also [ExecutableCode]and [CodeExecutionResult] which
1822
+ # are input and output to this tool.
1823
+ # Corresponds to the JSON property `codeExecution`
1824
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1ToolCodeExecution]
1825
+ attr_accessor :code_execution
1826
+
1292
1827
  # Optional. Function tool type. One or more function declarations to be passed
1293
1828
  # to the model along with the current user query. Model may decide to call a
1294
1829
  # subset of these functions by populating FunctionCall in the response. User
1295
1830
  # should provide a FunctionResponse for each function call in the next turn.
1296
1831
  # Based on the function responses, Model will generate the final response back
1297
- # to the user. Maximum 64 function declarations can be provided.
1832
+ # to the user. Maximum 128 function declarations can be provided.
1298
1833
  # Corresponds to the JSON property `functionDeclarations`
1299
1834
  # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1FunctionDeclaration>]
1300
1835
  attr_accessor :function_declarations
@@ -1315,12 +1850,28 @@ module Google
1315
1850
 
1316
1851
  # Update properties of this object
1317
1852
  def update!(**args)
1853
+ @code_execution = args[:code_execution] if args.key?(:code_execution)
1318
1854
  @function_declarations = args[:function_declarations] if args.key?(:function_declarations)
1319
1855
  @google_search_retrieval = args[:google_search_retrieval] if args.key?(:google_search_retrieval)
1320
1856
  @retrieval = args[:retrieval] if args.key?(:retrieval)
1321
1857
  end
1322
1858
  end
1323
1859
 
1860
+ # Tool that executes code generated by the model, and automatically returns the
1861
+ # result to the model. See also [ExecutableCode]and [CodeExecutionResult] which
1862
+ # are input and output to this tool.
1863
+ class GoogleCloudAiplatformV1beta1ToolCodeExecution
1864
+ include Google::Apis::Core::Hashable
1865
+
1866
+ def initialize(**args)
1867
+ update!(**args)
1868
+ end
1869
+
1870
+ # Update properties of this object
1871
+ def update!(**args)
1872
+ end
1873
+ end
1874
+
1324
1875
  # Tool config. This config is shared for all tools provided in the request.
1325
1876
  class GoogleCloudAiplatformV1beta1ToolConfig
1326
1877
  include Google::Apis::Core::Hashable
@@ -1341,11 +1892,11 @@ module Google
1341
1892
  end
1342
1893
 
1343
1894
  # Retrieve from Vertex AI Search datastore for grounding. See https://cloud.
1344
- # google.com/vertex-ai-search-and-conversation
1895
+ # google.com/products/agent-builder
1345
1896
  class GoogleCloudAiplatformV1beta1VertexAiSearch
1346
1897
  include Google::Apis::Core::Hashable
1347
1898
 
1348
- # Required. Fully-qualified Vertex AI Search's datastore resource ID. Format: `
1899
+ # Required. Fully-qualified Vertex AI Search data store resource ID. Format: `
1349
1900
  # projects/`project`/locations/`location`/collections/`collection`/dataStores/`
1350
1901
  # dataStore``
1351
1902
  # Corresponds to the JSON property `datastore`
@@ -1378,6 +1929,11 @@ module Google
1378
1929
  # @return [Array<Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1VertexRagStoreRagResource>]
1379
1930
  attr_accessor :rag_resources
1380
1931
 
1932
+ # Specifies the context retrieval config.
1933
+ # Corresponds to the JSON property `ragRetrievalConfig`
1934
+ # @return [Google::Apis::FirebasemlV2beta::GoogleCloudAiplatformV1beta1RagRetrievalConfig]
1935
+ attr_accessor :rag_retrieval_config
1936
+
1381
1937
  # Optional. Number of top k results to return from the selected corpora.
1382
1938
  # Corresponds to the JSON property `similarityTopK`
1383
1939
  # @return [Fixnum]
@@ -1396,6 +1952,7 @@ module Google
1396
1952
  def update!(**args)
1397
1953
  @rag_corpora = args[:rag_corpora] if args.key?(:rag_corpora)
1398
1954
  @rag_resources = args[:rag_resources] if args.key?(:rag_resources)
1955
+ @rag_retrieval_config = args[:rag_retrieval_config] if args.key?(:rag_retrieval_config)
1399
1956
  @similarity_top_k = args[:similarity_top_k] if args.key?(:similarity_top_k)
1400
1957
  @vector_distance_threshold = args[:vector_distance_threshold] if args.key?(:vector_distance_threshold)
1401
1958
  end