google-apis-discoveryengine_v1beta 0.61.0 → 0.63.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.
@@ -786,6 +786,87 @@ module Google
786
786
  end
787
787
  end
788
788
 
789
+ # The specification for answer generation.
790
+ class GoogleCloudDiscoveryengineV1AnswerGenerationSpec
791
+ include Google::Apis::Core::Hashable
792
+
793
+ # The specification for user defined classifier.
794
+ # Corresponds to the JSON property `userDefinedClassifierSpec`
795
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AnswerGenerationSpecUserDefinedClassifierSpec]
796
+ attr_accessor :user_defined_classifier_spec
797
+
798
+ def initialize(**args)
799
+ update!(**args)
800
+ end
801
+
802
+ # Update properties of this object
803
+ def update!(**args)
804
+ @user_defined_classifier_spec = args[:user_defined_classifier_spec] if args.key?(:user_defined_classifier_spec)
805
+ end
806
+ end
807
+
808
+ # The specification for user defined classifier.
809
+ class GoogleCloudDiscoveryengineV1AnswerGenerationSpecUserDefinedClassifierSpec
810
+ include Google::Apis::Core::Hashable
811
+
812
+ # Optional. Whether or not to enable and include user defined classifier.
813
+ # Corresponds to the JSON property `enableUserDefinedClassifier`
814
+ # @return [Boolean]
815
+ attr_accessor :enable_user_defined_classifier
816
+ alias_method :enable_user_defined_classifier?, :enable_user_defined_classifier
817
+
818
+ # Optional. The model id to be used for the user defined classifier.
819
+ # Corresponds to the JSON property `modelId`
820
+ # @return [String]
821
+ attr_accessor :model_id
822
+
823
+ # Optional. The preamble to be used for the user defined classifier.
824
+ # Corresponds to the JSON property `preamble`
825
+ # @return [String]
826
+ attr_accessor :preamble
827
+
828
+ # Optional. The seed value to be used for the user defined classifier.
829
+ # Corresponds to the JSON property `seed`
830
+ # @return [Fixnum]
831
+ attr_accessor :seed
832
+
833
+ # Optional. The task marker to be used for the user defined classifier.
834
+ # Corresponds to the JSON property `taskMarker`
835
+ # @return [String]
836
+ attr_accessor :task_marker
837
+
838
+ # Optional. The temperature value to be used for the user defined classifier.
839
+ # Corresponds to the JSON property `temperature`
840
+ # @return [Float]
841
+ attr_accessor :temperature
842
+
843
+ # Optional. The top-k value to be used for the user defined classifier.
844
+ # Corresponds to the JSON property `topK`
845
+ # @return [Fixnum]
846
+ attr_accessor :top_k
847
+
848
+ # Optional. The top-p value to be used for the user defined classifier.
849
+ # Corresponds to the JSON property `topP`
850
+ # @return [Float]
851
+ attr_accessor :top_p
852
+
853
+ def initialize(**args)
854
+ update!(**args)
855
+ end
856
+
857
+ # Update properties of this object
858
+ def update!(**args)
859
+ @enable_user_defined_classifier = args[:enable_user_defined_classifier] if args.key?(:enable_user_defined_classifier)
860
+ @model_id = args[:model_id] if args.key?(:model_id)
861
+ @preamble = args[:preamble] if args.key?(:preamble)
862
+ @seed = args[:seed] if args.key?(:seed)
863
+ @task_marker = args[:task_marker] if args.key?(:task_marker)
864
+ @temperature = args[:temperature] if args.key?(:temperature)
865
+ @top_k = args[:top_k] if args.key?(:top_k)
866
+ @top_p = args[:top_p] if args.key?(:top_p)
867
+ end
868
+ end
869
+
789
870
  # Metadata related to the progress of the SiteSearchEngineService.
790
871
  # BatchCreateTargetSites operation. This will be returned by the google.
791
872
  # longrunning.Operation.metadata field.
@@ -910,7 +991,8 @@ module Google
910
991
  attr_accessor :active_time_range
911
992
 
912
993
  # Optional. Query regex to match the whole search query. Cannot be set when
913
- # Condition.query_terms is set. This is currently supporting promotion use case.
994
+ # Condition.query_terms is set. Only supported for Basic Site Search promotion
995
+ # serving controls.
914
996
  # Corresponds to the JSON property `queryRegex`
915
997
  # @return [String]
916
998
  attr_accessor :query_regex
@@ -2060,6 +2142,21 @@ module Google
2060
2142
  attr_accessor :enable_table_annotation
2061
2143
  alias_method :enable_table_annotation?, :enable_table_annotation
2062
2144
 
2145
+ # Optional. List of HTML classes to exclude from the parsed content.
2146
+ # Corresponds to the JSON property `excludeHtmlClasses`
2147
+ # @return [Array<String>]
2148
+ attr_accessor :exclude_html_classes
2149
+
2150
+ # Optional. List of HTML elements to exclude from the parsed content.
2151
+ # Corresponds to the JSON property `excludeHtmlElements`
2152
+ # @return [Array<String>]
2153
+ attr_accessor :exclude_html_elements
2154
+
2155
+ # Optional. List of HTML ids to exclude from the parsed content.
2156
+ # Corresponds to the JSON property `excludeHtmlIds`
2157
+ # @return [Array<String>]
2158
+ attr_accessor :exclude_html_ids
2159
+
2063
2160
  def initialize(**args)
2064
2161
  update!(**args)
2065
2162
  end
@@ -2068,6 +2165,9 @@ module Google
2068
2165
  def update!(**args)
2069
2166
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
2070
2167
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
2168
+ @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
2169
+ @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
2170
+ @exclude_html_ids = args[:exclude_html_ids] if args.key?(:exclude_html_ids)
2071
2171
  end
2072
2172
  end
2073
2173
 
@@ -2194,6 +2294,11 @@ module Google
2194
2294
  # @return [String]
2195
2295
  attr_accessor :industry_vertical
2196
2296
 
2297
+ # Additional config specs for a Media Recommendation engine.
2298
+ # Corresponds to the JSON property `mediaRecommendationEngineConfig`
2299
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig]
2300
+ attr_accessor :media_recommendation_engine_config
2301
+
2197
2302
  # Immutable. The fully qualified resource name of the engine. This field must be
2198
2303
  # a UTF-8 encoded string with a length limit of 1024 characters. Format: `
2199
2304
  # projects/`project`/locations/`location`/collections/`collection`/engines/`
@@ -2232,6 +2337,7 @@ module Google
2232
2337
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
2233
2338
  @display_name = args[:display_name] if args.key?(:display_name)
2234
2339
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
2340
+ @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
2235
2341
  @name = args[:name] if args.key?(:name)
2236
2342
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
2237
2343
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -2373,6 +2479,157 @@ module Google
2373
2479
  end
2374
2480
  end
2375
2481
 
2482
+ # Additional config specs for a Media Recommendation engine.
2483
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfig
2484
+ include Google::Apis::Core::Hashable
2485
+
2486
+ # More feature configs of the selected engine type.
2487
+ # Corresponds to the JSON property `engineFeaturesConfig`
2488
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigEngineFeaturesConfig]
2489
+ attr_accessor :engine_features_config
2490
+
2491
+ # The optimization objective. e.g., `cvr`. This field together with
2492
+ # optimization_objective describe engine metadata to use to control engine
2493
+ # training and serving. Currently supported values: `ctr`, `cvr`. If not
2494
+ # specified, we choose default based on engine type. Default depends on type of
2495
+ # recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
2496
+ # Corresponds to the JSON property `optimizationObjective`
2497
+ # @return [String]
2498
+ attr_accessor :optimization_objective
2499
+
2500
+ # Custom threshold for `cvr` optimization_objective.
2501
+ # Corresponds to the JSON property `optimizationObjectiveConfig`
2502
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigOptimizationObjectiveConfig]
2503
+ attr_accessor :optimization_objective_config
2504
+
2505
+ # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since
2506
+ # part of the cost of running the service is frequency of training - this can be
2507
+ # used to determine when to train engine in order to control cost. If not
2508
+ # specified: the default value for `CreateEngine` method is `TRAINING`. The
2509
+ # default value for `UpdateEngine` method is to keep the state the same as
2510
+ # before.
2511
+ # Corresponds to the JSON property `trainingState`
2512
+ # @return [String]
2513
+ attr_accessor :training_state
2514
+
2515
+ # Required. The type of engine. e.g., `recommended-for-you`. This field together
2516
+ # with optimization_objective describe engine metadata to use to control engine
2517
+ # training and serving. Currently supported values: `recommended-for-you`, `
2518
+ # others-you-may-like`, `more-like-this`, `most-popular-items`.
2519
+ # Corresponds to the JSON property `type`
2520
+ # @return [String]
2521
+ attr_accessor :type
2522
+
2523
+ def initialize(**args)
2524
+ update!(**args)
2525
+ end
2526
+
2527
+ # Update properties of this object
2528
+ def update!(**args)
2529
+ @engine_features_config = args[:engine_features_config] if args.key?(:engine_features_config)
2530
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
2531
+ @optimization_objective_config = args[:optimization_objective_config] if args.key?(:optimization_objective_config)
2532
+ @training_state = args[:training_state] if args.key?(:training_state)
2533
+ @type = args[:type] if args.key?(:type)
2534
+ end
2535
+ end
2536
+
2537
+ # More feature configs of the selected engine type.
2538
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigEngineFeaturesConfig
2539
+ include Google::Apis::Core::Hashable
2540
+
2541
+ # Feature configurations that are required for creating a Most Popular engine.
2542
+ # Corresponds to the JSON property `mostPopularConfig`
2543
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigMostPopularFeatureConfig]
2544
+ attr_accessor :most_popular_config
2545
+
2546
+ # Additional feature configurations for creating a `recommended-for-you` engine.
2547
+ # Corresponds to the JSON property `recommendedForYouConfig`
2548
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig]
2549
+ attr_accessor :recommended_for_you_config
2550
+
2551
+ def initialize(**args)
2552
+ update!(**args)
2553
+ end
2554
+
2555
+ # Update properties of this object
2556
+ def update!(**args)
2557
+ @most_popular_config = args[:most_popular_config] if args.key?(:most_popular_config)
2558
+ @recommended_for_you_config = args[:recommended_for_you_config] if args.key?(:recommended_for_you_config)
2559
+ end
2560
+ end
2561
+
2562
+ # Feature configurations that are required for creating a Most Popular engine.
2563
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigMostPopularFeatureConfig
2564
+ include Google::Apis::Core::Hashable
2565
+
2566
+ # The time window of which the engine is queried at training and prediction time.
2567
+ # Positive integers only. The value translates to the last X days of events.
2568
+ # Currently required for the `most-popular-items` engine.
2569
+ # Corresponds to the JSON property `timeWindowDays`
2570
+ # @return [Fixnum]
2571
+ attr_accessor :time_window_days
2572
+
2573
+ def initialize(**args)
2574
+ update!(**args)
2575
+ end
2576
+
2577
+ # Update properties of this object
2578
+ def update!(**args)
2579
+ @time_window_days = args[:time_window_days] if args.key?(:time_window_days)
2580
+ end
2581
+ end
2582
+
2583
+ # Custom threshold for `cvr` optimization_objective.
2584
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
2585
+ include Google::Apis::Core::Hashable
2586
+
2587
+ # Required. The name of the field to target. Currently supported values: `watch-
2588
+ # percentage`, `watch-time`.
2589
+ # Corresponds to the JSON property `targetField`
2590
+ # @return [String]
2591
+ attr_accessor :target_field
2592
+
2593
+ # Required. The threshold to be applied to the target (e.g., 0.5).
2594
+ # Corresponds to the JSON property `targetFieldValueFloat`
2595
+ # @return [Float]
2596
+ attr_accessor :target_field_value_float
2597
+
2598
+ def initialize(**args)
2599
+ update!(**args)
2600
+ end
2601
+
2602
+ # Update properties of this object
2603
+ def update!(**args)
2604
+ @target_field = args[:target_field] if args.key?(:target_field)
2605
+ @target_field_value_float = args[:target_field_value_float] if args.key?(:target_field_value_float)
2606
+ end
2607
+ end
2608
+
2609
+ # Additional feature configurations for creating a `recommended-for-you` engine.
2610
+ class GoogleCloudDiscoveryengineV1EngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig
2611
+ include Google::Apis::Core::Hashable
2612
+
2613
+ # The type of event with which the engine is queried at prediction time. If set
2614
+ # to `generic`, only `view-item`, `media-play`,and `media-complete` will be used
2615
+ # as `context-event` in engine training. If set to `view-home-page`, `view-home-
2616
+ # page` will also be used as `context-events` in addition to `view-item`, `media-
2617
+ # play`, and `media-complete`. Currently supported for the `recommended-for-you`
2618
+ # engine. Currently supported values: `view-home-page`, `generic`.
2619
+ # Corresponds to the JSON property `contextEventType`
2620
+ # @return [String]
2621
+ attr_accessor :context_event_type
2622
+
2623
+ def initialize(**args)
2624
+ update!(**args)
2625
+ end
2626
+
2627
+ # Update properties of this object
2628
+ def update!(**args)
2629
+ @context_event_type = args[:context_event_type] if args.key?(:context_event_type)
2630
+ end
2631
+ end
2632
+
2376
2633
  # Configurations for a Search Engine.
2377
2634
  class GoogleCloudDiscoveryengineV1EngineSearchEngineConfig
2378
2635
  include Google::Apis::Core::Hashable
@@ -3104,6 +3361,12 @@ module Google
3104
3361
  # @return [String]
3105
3362
  attr_accessor :description
3106
3363
 
3364
+ # Optional. The Document the user wants to promote. For site search, leave unset
3365
+ # and only populate uri. Can be set along with uri.
3366
+ # Corresponds to the JSON property `document`
3367
+ # @return [String]
3368
+ attr_accessor :document
3369
+
3107
3370
  # Optional. The enabled promotion will be returned for any serving configs
3108
3371
  # associated with the parent of the control this promotion is attached to. This
3109
3372
  # flag is used for basic site search only.
@@ -3135,6 +3398,7 @@ module Google
3135
3398
  # Update properties of this object
3136
3399
  def update!(**args)
3137
3400
  @description = args[:description] if args.key?(:description)
3401
+ @document = args[:document] if args.key?(:document)
3138
3402
  @enabled = args[:enabled] if args.key?(:enabled)
3139
3403
  @image_uri = args[:image_uri] if args.key?(:image_uri)
3140
3404
  @title = args[:title] if args.key?(:title)
@@ -3488,6 +3752,11 @@ module Google
3488
3752
  class GoogleCloudDiscoveryengineV1ServingConfig
3489
3753
  include Google::Apis::Core::Hashable
3490
3754
 
3755
+ # The specification for answer generation.
3756
+ # Corresponds to the JSON property `answerGenerationSpec`
3757
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1AnswerGenerationSpec]
3758
+ attr_accessor :answer_generation_spec
3759
+
3491
3760
  # Boost controls to use in serving path. All triggered boost controls will be
3492
3761
  # applied. Boost controls must be in the same data store as the serving config.
3493
3762
  # Maximum of 20 boost controls.
@@ -3644,6 +3913,7 @@ module Google
3644
3913
 
3645
3914
  # Update properties of this object
3646
3915
  def update!(**args)
3916
+ @answer_generation_spec = args[:answer_generation_spec] if args.key?(:answer_generation_spec)
3647
3917
  @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
3648
3918
  @create_time = args[:create_time] if args.key?(:create_time)
3649
3919
  @display_name = args[:display_name] if args.key?(:display_name)
@@ -5240,7 +5510,8 @@ module Google
5240
5510
  attr_accessor :active_time_range
5241
5511
 
5242
5512
  # Optional. Query regex to match the whole search query. Cannot be set when
5243
- # Condition.query_terms is set. This is currently supporting promotion use case.
5513
+ # Condition.query_terms is set. Only supported for Basic Site Search promotion
5514
+ # serving controls.
5244
5515
  # Corresponds to the JSON property `queryRegex`
5245
5516
  # @return [String]
5246
5517
  attr_accessor :query_regex
@@ -6037,6 +6308,13 @@ module Google
6037
6308
  class GoogleCloudDiscoveryengineV1alphaDataConnector
6038
6309
  include Google::Apis::Core::Hashable
6039
6310
 
6311
+ # Optional. Whether the connector will be created with an ACL config. Currently
6312
+ # this field only affects Cloud Storage and BigQuery connectors.
6313
+ # Corresponds to the JSON property `aclEnabled`
6314
+ # @return [Boolean]
6315
+ attr_accessor :acl_enabled
6316
+ alias_method :acl_enabled?, :acl_enabled
6317
+
6040
6318
  # Informations to support actions on the connector.
6041
6319
  # Corresponds to the JSON property `actionConfig`
6042
6320
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaActionConfig]
@@ -6065,6 +6343,12 @@ module Google
6065
6343
  # @return [Array<String>]
6066
6344
  attr_accessor :blocking_reasons
6067
6345
 
6346
+ # Optional. The modes enabled for this connector. Default state is
6347
+ # CONNECTOR_MODE_UNSPECIFIED.
6348
+ # Corresponds to the JSON property `connectorModes`
6349
+ # @return [Array<String>]
6350
+ attr_accessor :connector_modes
6351
+
6068
6352
  # Output only. The type of connector. Each source can only map to one type. For
6069
6353
  # example, salesforce, confluence and jira have THIRD_PARTY connector type. It
6070
6354
  # is notmutable once set by system.
@@ -6088,6 +6372,11 @@ module Google
6088
6372
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDestinationConfig>]
6089
6373
  attr_accessor :destination_configs
6090
6374
 
6375
+ # Any params and credentials used specifically for EUA connectors.
6376
+ # Corresponds to the JSON property `endUserConfig`
6377
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDataConnectorEndUserConfig]
6378
+ attr_accessor :end_user_config
6379
+
6091
6380
  # List of entities from the connected data source to ingest.
6092
6381
  # Corresponds to the JSON property `entities`
6093
6382
  # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity>]
@@ -6241,15 +6530,18 @@ module Google
6241
6530
 
6242
6531
  # Update properties of this object
6243
6532
  def update!(**args)
6533
+ @acl_enabled = args[:acl_enabled] if args.key?(:acl_enabled)
6244
6534
  @action_config = args[:action_config] if args.key?(:action_config)
6245
6535
  @alert_policy_configs = args[:alert_policy_configs] if args.key?(:alert_policy_configs)
6246
6536
  @auto_run_disabled = args[:auto_run_disabled] if args.key?(:auto_run_disabled)
6247
6537
  @bap_config = args[:bap_config] if args.key?(:bap_config)
6248
6538
  @blocking_reasons = args[:blocking_reasons] if args.key?(:blocking_reasons)
6539
+ @connector_modes = args[:connector_modes] if args.key?(:connector_modes)
6249
6540
  @connector_type = args[:connector_type] if args.key?(:connector_type)
6250
6541
  @create_time = args[:create_time] if args.key?(:create_time)
6251
6542
  @data_source = args[:data_source] if args.key?(:data_source)
6252
6543
  @destination_configs = args[:destination_configs] if args.key?(:destination_configs)
6544
+ @end_user_config = args[:end_user_config] if args.key?(:end_user_config)
6253
6545
  @entities = args[:entities] if args.key?(:entities)
6254
6546
  @errors = args[:errors] if args.key?(:errors)
6255
6547
  @identity_refresh_interval = args[:identity_refresh_interval] if args.key?(:identity_refresh_interval)
@@ -6272,6 +6564,31 @@ module Google
6272
6564
  end
6273
6565
  end
6274
6566
 
6567
+ # Any params and credentials used specifically for EUA connectors.
6568
+ class GoogleCloudDiscoveryengineV1alphaDataConnectorEndUserConfig
6569
+ include Google::Apis::Core::Hashable
6570
+
6571
+ # Optional. Any additional parameters needed for EUA.
6572
+ # Corresponds to the JSON property `additionalParams`
6573
+ # @return [Hash<String,Object>]
6574
+ attr_accessor :additional_params
6575
+
6576
+ # Optional. Any authentication parameters specific to EUA connectors.
6577
+ # Corresponds to the JSON property `authParams`
6578
+ # @return [Hash<String,Object>]
6579
+ attr_accessor :auth_params
6580
+
6581
+ def initialize(**args)
6582
+ update!(**args)
6583
+ end
6584
+
6585
+ # Update properties of this object
6586
+ def update!(**args)
6587
+ @additional_params = args[:additional_params] if args.key?(:additional_params)
6588
+ @auth_params = args[:auth_params] if args.key?(:auth_params)
6589
+ end
6590
+ end
6591
+
6275
6592
  # The configuration for realtime sync to store additional params for realtime
6276
6593
  # sync.
6277
6594
  class GoogleCloudDiscoveryengineV1alphaDataConnectorRealtimeSyncConfig
@@ -7135,6 +7452,21 @@ module Google
7135
7452
  attr_accessor :enable_table_annotation
7136
7453
  alias_method :enable_table_annotation?, :enable_table_annotation
7137
7454
 
7455
+ # Optional. List of HTML classes to exclude from the parsed content.
7456
+ # Corresponds to the JSON property `excludeHtmlClasses`
7457
+ # @return [Array<String>]
7458
+ attr_accessor :exclude_html_classes
7459
+
7460
+ # Optional. List of HTML elements to exclude from the parsed content.
7461
+ # Corresponds to the JSON property `excludeHtmlElements`
7462
+ # @return [Array<String>]
7463
+ attr_accessor :exclude_html_elements
7464
+
7465
+ # Optional. List of HTML ids to exclude from the parsed content.
7466
+ # Corresponds to the JSON property `excludeHtmlIds`
7467
+ # @return [Array<String>]
7468
+ attr_accessor :exclude_html_ids
7469
+
7138
7470
  def initialize(**args)
7139
7471
  update!(**args)
7140
7472
  end
@@ -7143,6 +7475,9 @@ module Google
7143
7475
  def update!(**args)
7144
7476
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
7145
7477
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
7478
+ @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
7479
+ @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
7480
+ @exclude_html_ids = args[:exclude_html_ids] if args.key?(:exclude_html_ids)
7146
7481
  end
7147
7482
  end
7148
7483
 
@@ -7470,6 +7805,11 @@ module Google
7470
7805
  class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig
7471
7806
  include Google::Apis::Core::Hashable
7472
7807
 
7808
+ # More feature configs of the selected engine type.
7809
+ # Corresponds to the JSON property `engineFeaturesConfig`
7810
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigEngineFeaturesConfig]
7811
+ attr_accessor :engine_features_config
7812
+
7473
7813
  # The optimization objective. e.g., `cvr`. This field together with
7474
7814
  # optimization_objective describe engine metadata to use to control engine
7475
7815
  # training and serving. Currently supported values: `ctr`, `cvr`. If not
@@ -7508,6 +7848,7 @@ module Google
7508
7848
 
7509
7849
  # Update properties of this object
7510
7850
  def update!(**args)
7851
+ @engine_features_config = args[:engine_features_config] if args.key?(:engine_features_config)
7511
7852
  @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
7512
7853
  @optimization_objective_config = args[:optimization_objective_config] if args.key?(:optimization_objective_config)
7513
7854
  @training_state = args[:training_state] if args.key?(:training_state)
@@ -7515,6 +7856,52 @@ module Google
7515
7856
  end
7516
7857
  end
7517
7858
 
7859
+ # More feature configs of the selected engine type.
7860
+ class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigEngineFeaturesConfig
7861
+ include Google::Apis::Core::Hashable
7862
+
7863
+ # Feature configurations that are required for creating a Most Popular engine.
7864
+ # Corresponds to the JSON property `mostPopularConfig`
7865
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig]
7866
+ attr_accessor :most_popular_config
7867
+
7868
+ # Additional feature configurations for creating a `recommended-for-you` engine.
7869
+ # Corresponds to the JSON property `recommendedForYouConfig`
7870
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig]
7871
+ attr_accessor :recommended_for_you_config
7872
+
7873
+ def initialize(**args)
7874
+ update!(**args)
7875
+ end
7876
+
7877
+ # Update properties of this object
7878
+ def update!(**args)
7879
+ @most_popular_config = args[:most_popular_config] if args.key?(:most_popular_config)
7880
+ @recommended_for_you_config = args[:recommended_for_you_config] if args.key?(:recommended_for_you_config)
7881
+ end
7882
+ end
7883
+
7884
+ # Feature configurations that are required for creating a Most Popular engine.
7885
+ class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig
7886
+ include Google::Apis::Core::Hashable
7887
+
7888
+ # The time window of which the engine is queried at training and prediction time.
7889
+ # Positive integers only. The value translates to the last X days of events.
7890
+ # Currently required for the `most-popular-items` engine.
7891
+ # Corresponds to the JSON property `timeWindowDays`
7892
+ # @return [Fixnum]
7893
+ attr_accessor :time_window_days
7894
+
7895
+ def initialize(**args)
7896
+ update!(**args)
7897
+ end
7898
+
7899
+ # Update properties of this object
7900
+ def update!(**args)
7901
+ @time_window_days = args[:time_window_days] if args.key?(:time_window_days)
7902
+ end
7903
+ end
7904
+
7518
7905
  # Custom threshold for `cvr` optimization_objective.
7519
7906
  class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
7520
7907
  include Google::Apis::Core::Hashable
@@ -7541,6 +7928,30 @@ module Google
7541
7928
  end
7542
7929
  end
7543
7930
 
7931
+ # Additional feature configurations for creating a `recommended-for-you` engine.
7932
+ class GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig
7933
+ include Google::Apis::Core::Hashable
7934
+
7935
+ # The type of event with which the engine is queried at prediction time. If set
7936
+ # to `generic`, only `view-item`, `media-play`,and `media-complete` will be used
7937
+ # as `context-event` in engine training. If set to `view-home-page`, `view-home-
7938
+ # page` will also be used as `context-events` in addition to `view-item`, `media-
7939
+ # play`, and `media-complete`. Currently supported for the `recommended-for-you`
7940
+ # engine. Currently supported values: `view-home-page`, `generic`.
7941
+ # Corresponds to the JSON property `contextEventType`
7942
+ # @return [String]
7943
+ attr_accessor :context_event_type
7944
+
7945
+ def initialize(**args)
7946
+ update!(**args)
7947
+ end
7948
+
7949
+ # Update properties of this object
7950
+ def update!(**args)
7951
+ @context_event_type = args[:context_event_type] if args.key?(:context_event_type)
7952
+ end
7953
+ end
7954
+
7544
7955
  # Additional information of a recommendation engine.
7545
7956
  class GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata
7546
7957
  include Google::Apis::Core::Hashable
@@ -9549,6 +9960,12 @@ module Google
9549
9960
  # @return [String]
9550
9961
  attr_accessor :description
9551
9962
 
9963
+ # Optional. The Document the user wants to promote. For site search, leave unset
9964
+ # and only populate uri. Can be set along with uri.
9965
+ # Corresponds to the JSON property `document`
9966
+ # @return [String]
9967
+ attr_accessor :document
9968
+
9552
9969
  # Optional. The enabled promotion will be returned for any serving configs
9553
9970
  # associated with the parent of the control this promotion is attached to. This
9554
9971
  # flag is used for basic site search only.
@@ -9580,6 +9997,7 @@ module Google
9580
9997
  # Update properties of this object
9581
9998
  def update!(**args)
9582
9999
  @description = args[:description] if args.key?(:description)
10000
+ @document = args[:document] if args.key?(:document)
9583
10001
  @enabled = args[:enabled] if args.key?(:enabled)
9584
10002
  @image_uri = args[:image_uri] if args.key?(:image_uri)
9585
10003
  @title = args[:title] if args.key?(:title)
@@ -11660,6 +12078,11 @@ module Google
11660
12078
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec]
11661
12079
  attr_accessor :boost_spec
11662
12080
 
12081
+ # Optional. Experiment ids for this request.
12082
+ # Corresponds to the JSON property `experimentIds`
12083
+ # @return [Array<String>]
12084
+ attr_accessor :experiment_ids
12085
+
11663
12086
  # Indicates if tail suggestions should be returned if there are no suggestions
11664
12087
  # that match the full query. Even if set to true, if there are suggestions that
11665
12088
  # match the full query, those are returned and no tail suggestions are returned.
@@ -11727,6 +12150,7 @@ module Google
11727
12150
  # Update properties of this object
11728
12151
  def update!(**args)
11729
12152
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
12153
+ @experiment_ids = args[:experiment_ids] if args.key?(:experiment_ids)
11730
12154
  @include_tail_suggestions = args[:include_tail_suggestions] if args.key?(:include_tail_suggestions)
11731
12155
  @query = args[:query] if args.key?(:query)
11732
12156
  @query_model = args[:query_model] if args.key?(:query_model)
@@ -12346,6 +12770,87 @@ module Google
12346
12770
  end
12347
12771
  end
12348
12772
 
12773
+ # The specification for answer generation.
12774
+ class GoogleCloudDiscoveryengineV1betaAnswerGenerationSpec
12775
+ include Google::Apis::Core::Hashable
12776
+
12777
+ # The specification for user defined classifier.
12778
+ # Corresponds to the JSON property `userDefinedClassifierSpec`
12779
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerGenerationSpecUserDefinedClassifierSpec]
12780
+ attr_accessor :user_defined_classifier_spec
12781
+
12782
+ def initialize(**args)
12783
+ update!(**args)
12784
+ end
12785
+
12786
+ # Update properties of this object
12787
+ def update!(**args)
12788
+ @user_defined_classifier_spec = args[:user_defined_classifier_spec] if args.key?(:user_defined_classifier_spec)
12789
+ end
12790
+ end
12791
+
12792
+ # The specification for user defined classifier.
12793
+ class GoogleCloudDiscoveryengineV1betaAnswerGenerationSpecUserDefinedClassifierSpec
12794
+ include Google::Apis::Core::Hashable
12795
+
12796
+ # Optional. Whether or not to enable and include user defined classifier.
12797
+ # Corresponds to the JSON property `enableUserDefinedClassifier`
12798
+ # @return [Boolean]
12799
+ attr_accessor :enable_user_defined_classifier
12800
+ alias_method :enable_user_defined_classifier?, :enable_user_defined_classifier
12801
+
12802
+ # Optional. The model id to be used for the user defined classifier.
12803
+ # Corresponds to the JSON property `modelId`
12804
+ # @return [String]
12805
+ attr_accessor :model_id
12806
+
12807
+ # Optional. The preamble to be used for the user defined classifier.
12808
+ # Corresponds to the JSON property `preamble`
12809
+ # @return [String]
12810
+ attr_accessor :preamble
12811
+
12812
+ # Optional. The seed value to be used for the user defined classifier.
12813
+ # Corresponds to the JSON property `seed`
12814
+ # @return [Fixnum]
12815
+ attr_accessor :seed
12816
+
12817
+ # Optional. The task marker to be used for the user defined classifier.
12818
+ # Corresponds to the JSON property `taskMarker`
12819
+ # @return [String]
12820
+ attr_accessor :task_marker
12821
+
12822
+ # Optional. The temperature value to be used for the user defined classifier.
12823
+ # Corresponds to the JSON property `temperature`
12824
+ # @return [Float]
12825
+ attr_accessor :temperature
12826
+
12827
+ # Optional. The top-k value to be used for the user defined classifier.
12828
+ # Corresponds to the JSON property `topK`
12829
+ # @return [Fixnum]
12830
+ attr_accessor :top_k
12831
+
12832
+ # Optional. The top-p value to be used for the user defined classifier.
12833
+ # Corresponds to the JSON property `topP`
12834
+ # @return [Float]
12835
+ attr_accessor :top_p
12836
+
12837
+ def initialize(**args)
12838
+ update!(**args)
12839
+ end
12840
+
12841
+ # Update properties of this object
12842
+ def update!(**args)
12843
+ @enable_user_defined_classifier = args[:enable_user_defined_classifier] if args.key?(:enable_user_defined_classifier)
12844
+ @model_id = args[:model_id] if args.key?(:model_id)
12845
+ @preamble = args[:preamble] if args.key?(:preamble)
12846
+ @seed = args[:seed] if args.key?(:seed)
12847
+ @task_marker = args[:task_marker] if args.key?(:task_marker)
12848
+ @temperature = args[:temperature] if args.key?(:temperature)
12849
+ @top_k = args[:top_k] if args.key?(:top_k)
12850
+ @top_p = args[:top_p] if args.key?(:top_p)
12851
+ end
12852
+ end
12853
+
12349
12854
  # Grounding support for a claim in `answer_text`.
12350
12855
  class GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport
12351
12856
  include Google::Apis::Core::Hashable
@@ -14356,6 +14861,12 @@ module Google
14356
14861
  attr_accessor :grounding_check_required
14357
14862
  alias_method :grounding_check_required?, :grounding_check_required
14358
14863
 
14864
+ # Confidence score for the claim in the answer candidate, in the range of [0, 1].
14865
+ # This is set only when enable_claim_level_score is true.
14866
+ # Corresponds to the JSON property `score`
14867
+ # @return [Float]
14868
+ attr_accessor :score
14869
+
14359
14870
  # Position indicating the start of the claim in the answer candidate, measured
14360
14871
  # in bytes. Note that this is not measured in characters and, therefore, must be
14361
14872
  # rendered in the user interface keeping in mind that some characters may take
@@ -14377,6 +14888,7 @@ module Google
14377
14888
  @claim_text = args[:claim_text] if args.key?(:claim_text)
14378
14889
  @end_pos = args[:end_pos] if args.key?(:end_pos)
14379
14890
  @grounding_check_required = args[:grounding_check_required] if args.key?(:grounding_check_required)
14891
+ @score = args[:score] if args.key?(:score)
14380
14892
  @start_pos = args[:start_pos] if args.key?(:start_pos)
14381
14893
  end
14382
14894
  end
@@ -14394,6 +14906,12 @@ module Google
14394
14906
  # @return [Float]
14395
14907
  attr_accessor :citation_threshold
14396
14908
 
14909
+ # The control flag that enables claim-level grounding score in the response.
14910
+ # Corresponds to the JSON property `enableClaimLevelScore`
14911
+ # @return [Boolean]
14912
+ attr_accessor :enable_claim_level_score
14913
+ alias_method :enable_claim_level_score?, :enable_claim_level_score
14914
+
14397
14915
  def initialize(**args)
14398
14916
  update!(**args)
14399
14917
  end
@@ -14401,6 +14919,7 @@ module Google
14401
14919
  # Update properties of this object
14402
14920
  def update!(**args)
14403
14921
  @citation_threshold = args[:citation_threshold] if args.key?(:citation_threshold)
14922
+ @enable_claim_level_score = args[:enable_claim_level_score] if args.key?(:enable_claim_level_score)
14404
14923
  end
14405
14924
  end
14406
14925
 
@@ -14409,6 +14928,11 @@ module Google
14409
14928
  class GoogleCloudDiscoveryengineV1betaChunk
14410
14929
  include Google::Apis::Core::Hashable
14411
14930
 
14931
+ # Output only. Annotation contents if the current chunk contains annotations.
14932
+ # Corresponds to the JSON property `annotationContents`
14933
+ # @return [Array<String>]
14934
+ attr_accessor :annotation_contents
14935
+
14412
14936
  # Metadata of the current chunk. This field is only populated on SearchService.
14413
14937
  # Search API.
14414
14938
  # Corresponds to the JSON property `chunkMetadata`
@@ -14420,6 +14944,13 @@ module Google
14420
14944
  # @return [String]
14421
14945
  attr_accessor :content
14422
14946
 
14947
+ # Output only. Image Data URLs if the current chunk contains images. Data URLs
14948
+ # are composed of four parts: a prefix (data:), a MIME type indicating the type
14949
+ # of data, an optional base64 token if non-textual, and the data itself: data:,
14950
+ # Corresponds to the JSON property `dataUrls`
14951
+ # @return [Array<String>]
14952
+ attr_accessor :data_urls
14953
+
14423
14954
  # Output only. This field is OUTPUT_ONLY. It contains derived data that are not
14424
14955
  # in the original input document.
14425
14956
  # Corresponds to the JSON property `derivedStructData`
@@ -14463,8 +14994,10 @@ module Google
14463
14994
 
14464
14995
  # Update properties of this object
14465
14996
  def update!(**args)
14997
+ @annotation_contents = args[:annotation_contents] if args.key?(:annotation_contents)
14466
14998
  @chunk_metadata = args[:chunk_metadata] if args.key?(:chunk_metadata)
14467
14999
  @content = args[:content] if args.key?(:content)
15000
+ @data_urls = args[:data_urls] if args.key?(:data_urls)
14468
15001
  @derived_struct_data = args[:derived_struct_data] if args.key?(:derived_struct_data)
14469
15002
  @document_metadata = args[:document_metadata] if args.key?(:document_metadata)
14470
15003
  @id = args[:id] if args.key?(:id)
@@ -14840,7 +15373,8 @@ module Google
14840
15373
  attr_accessor :active_time_range
14841
15374
 
14842
15375
  # Optional. Query regex to match the whole search query. Cannot be set when
14843
- # Condition.query_terms is set. This is currently supporting promotion use case.
15376
+ # Condition.query_terms is set. Only supported for Basic Site Search promotion
15377
+ # serving controls.
14844
15378
  # Corresponds to the JSON property `queryRegex`
14845
15379
  # @return [String]
14846
15380
  attr_accessor :query_regex
@@ -16410,11 +16944,16 @@ module Google
16410
16944
  include Google::Apis::Core::Hashable
16411
16945
 
16412
16946
  # The MIME type of the content. Supported types: * `application/pdf` (PDF, only
16413
- # native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.
16414
- # openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/
16415
- # vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/
16416
- # plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.
16417
- # xhtml.
16947
+ # native PDFs are supported for now) * `text/html` (HTML) * `text/plain` (TXT) *
16948
+ # `application/xml` or `text/xml` (XML) * `application/json` (JSON) * `
16949
+ # application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
16950
+ # * `application/vnd.openxmlformats-officedocument.presentationml.presentation`
16951
+ # (PPTX) * `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` (
16952
+ # XLSX) * `application/vnd.ms-excel.sheet.macroenabled.12` (XLSM) The following
16953
+ # types are supported only if layout parser is enabled in the data store: * `
16954
+ # image/bmp` (BMP) * `image/gif` (GIF) * `image/jpeg` (JPEG) * `image/png` (PNG)
16955
+ # * `image/tiff` (TIFF) See https://www.iana.org/assignments/media-types/media-
16956
+ # types.xhtml.
16418
16957
  # Corresponds to the JSON property `mimeType`
16419
16958
  # @return [String]
16420
16959
  attr_accessor :mime_type
@@ -16706,6 +17245,21 @@ module Google
16706
17245
  attr_accessor :enable_table_annotation
16707
17246
  alias_method :enable_table_annotation?, :enable_table_annotation
16708
17247
 
17248
+ # Optional. List of HTML classes to exclude from the parsed content.
17249
+ # Corresponds to the JSON property `excludeHtmlClasses`
17250
+ # @return [Array<String>]
17251
+ attr_accessor :exclude_html_classes
17252
+
17253
+ # Optional. List of HTML elements to exclude from the parsed content.
17254
+ # Corresponds to the JSON property `excludeHtmlElements`
17255
+ # @return [Array<String>]
17256
+ attr_accessor :exclude_html_elements
17257
+
17258
+ # Optional. List of HTML ids to exclude from the parsed content.
17259
+ # Corresponds to the JSON property `excludeHtmlIds`
17260
+ # @return [Array<String>]
17261
+ attr_accessor :exclude_html_ids
17262
+
16709
17263
  def initialize(**args)
16710
17264
  update!(**args)
16711
17265
  end
@@ -16714,6 +17268,9 @@ module Google
16714
17268
  def update!(**args)
16715
17269
  @enable_image_annotation = args[:enable_image_annotation] if args.key?(:enable_image_annotation)
16716
17270
  @enable_table_annotation = args[:enable_table_annotation] if args.key?(:enable_table_annotation)
17271
+ @exclude_html_classes = args[:exclude_html_classes] if args.key?(:exclude_html_classes)
17272
+ @exclude_html_elements = args[:exclude_html_elements] if args.key?(:exclude_html_elements)
17273
+ @exclude_html_ids = args[:exclude_html_ids] if args.key?(:exclude_html_ids)
16717
17274
  end
16718
17275
  end
16719
17276
 
@@ -16891,6 +17448,11 @@ module Google
16891
17448
  # @return [String]
16892
17449
  attr_accessor :industry_vertical
16893
17450
 
17451
+ # Additional config specs for a Media Recommendation engine.
17452
+ # Corresponds to the JSON property `mediaRecommendationEngineConfig`
17453
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig]
17454
+ attr_accessor :media_recommendation_engine_config
17455
+
16894
17456
  # Immutable. The fully qualified resource name of the engine. This field must be
16895
17457
  # a UTF-8 encoded string with a length limit of 1024 characters. Format: `
16896
17458
  # projects/`project`/locations/`location`/collections/`collection`/engines/`
@@ -16929,6 +17491,7 @@ module Google
16929
17491
  @disable_analytics = args[:disable_analytics] if args.key?(:disable_analytics)
16930
17492
  @display_name = args[:display_name] if args.key?(:display_name)
16931
17493
  @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical)
17494
+ @media_recommendation_engine_config = args[:media_recommendation_engine_config] if args.key?(:media_recommendation_engine_config)
16932
17495
  @name = args[:name] if args.key?(:name)
16933
17496
  @search_engine_config = args[:search_engine_config] if args.key?(:search_engine_config)
16934
17497
  @solution_type = args[:solution_type] if args.key?(:solution_type)
@@ -17070,6 +17633,157 @@ module Google
17070
17633
  end
17071
17634
  end
17072
17635
 
17636
+ # Additional config specs for a Media Recommendation engine.
17637
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfig
17638
+ include Google::Apis::Core::Hashable
17639
+
17640
+ # More feature configs of the selected engine type.
17641
+ # Corresponds to the JSON property `engineFeaturesConfig`
17642
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigEngineFeaturesConfig]
17643
+ attr_accessor :engine_features_config
17644
+
17645
+ # The optimization objective. e.g., `cvr`. This field together with
17646
+ # optimization_objective describe engine metadata to use to control engine
17647
+ # training and serving. Currently supported values: `ctr`, `cvr`. If not
17648
+ # specified, we choose default based on engine type. Default depends on type of
17649
+ # recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`
17650
+ # Corresponds to the JSON property `optimizationObjective`
17651
+ # @return [String]
17652
+ attr_accessor :optimization_objective
17653
+
17654
+ # Custom threshold for `cvr` optimization_objective.
17655
+ # Corresponds to the JSON property `optimizationObjectiveConfig`
17656
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig]
17657
+ attr_accessor :optimization_objective_config
17658
+
17659
+ # The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since
17660
+ # part of the cost of running the service is frequency of training - this can be
17661
+ # used to determine when to train engine in order to control cost. If not
17662
+ # specified: the default value for `CreateEngine` method is `TRAINING`. The
17663
+ # default value for `UpdateEngine` method is to keep the state the same as
17664
+ # before.
17665
+ # Corresponds to the JSON property `trainingState`
17666
+ # @return [String]
17667
+ attr_accessor :training_state
17668
+
17669
+ # Required. The type of engine. e.g., `recommended-for-you`. This field together
17670
+ # with optimization_objective describe engine metadata to use to control engine
17671
+ # training and serving. Currently supported values: `recommended-for-you`, `
17672
+ # others-you-may-like`, `more-like-this`, `most-popular-items`.
17673
+ # Corresponds to the JSON property `type`
17674
+ # @return [String]
17675
+ attr_accessor :type
17676
+
17677
+ def initialize(**args)
17678
+ update!(**args)
17679
+ end
17680
+
17681
+ # Update properties of this object
17682
+ def update!(**args)
17683
+ @engine_features_config = args[:engine_features_config] if args.key?(:engine_features_config)
17684
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
17685
+ @optimization_objective_config = args[:optimization_objective_config] if args.key?(:optimization_objective_config)
17686
+ @training_state = args[:training_state] if args.key?(:training_state)
17687
+ @type = args[:type] if args.key?(:type)
17688
+ end
17689
+ end
17690
+
17691
+ # More feature configs of the selected engine type.
17692
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigEngineFeaturesConfig
17693
+ include Google::Apis::Core::Hashable
17694
+
17695
+ # Feature configurations that are required for creating a Most Popular engine.
17696
+ # Corresponds to the JSON property `mostPopularConfig`
17697
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig]
17698
+ attr_accessor :most_popular_config
17699
+
17700
+ # Additional feature configurations for creating a `recommended-for-you` engine.
17701
+ # Corresponds to the JSON property `recommendedForYouConfig`
17702
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig]
17703
+ attr_accessor :recommended_for_you_config
17704
+
17705
+ def initialize(**args)
17706
+ update!(**args)
17707
+ end
17708
+
17709
+ # Update properties of this object
17710
+ def update!(**args)
17711
+ @most_popular_config = args[:most_popular_config] if args.key?(:most_popular_config)
17712
+ @recommended_for_you_config = args[:recommended_for_you_config] if args.key?(:recommended_for_you_config)
17713
+ end
17714
+ end
17715
+
17716
+ # Feature configurations that are required for creating a Most Popular engine.
17717
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigMostPopularFeatureConfig
17718
+ include Google::Apis::Core::Hashable
17719
+
17720
+ # The time window of which the engine is queried at training and prediction time.
17721
+ # Positive integers only. The value translates to the last X days of events.
17722
+ # Currently required for the `most-popular-items` engine.
17723
+ # Corresponds to the JSON property `timeWindowDays`
17724
+ # @return [Fixnum]
17725
+ attr_accessor :time_window_days
17726
+
17727
+ def initialize(**args)
17728
+ update!(**args)
17729
+ end
17730
+
17731
+ # Update properties of this object
17732
+ def update!(**args)
17733
+ @time_window_days = args[:time_window_days] if args.key?(:time_window_days)
17734
+ end
17735
+ end
17736
+
17737
+ # Custom threshold for `cvr` optimization_objective.
17738
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig
17739
+ include Google::Apis::Core::Hashable
17740
+
17741
+ # Required. The name of the field to target. Currently supported values: `watch-
17742
+ # percentage`, `watch-time`.
17743
+ # Corresponds to the JSON property `targetField`
17744
+ # @return [String]
17745
+ attr_accessor :target_field
17746
+
17747
+ # Required. The threshold to be applied to the target (e.g., 0.5).
17748
+ # Corresponds to the JSON property `targetFieldValueFloat`
17749
+ # @return [Float]
17750
+ attr_accessor :target_field_value_float
17751
+
17752
+ def initialize(**args)
17753
+ update!(**args)
17754
+ end
17755
+
17756
+ # Update properties of this object
17757
+ def update!(**args)
17758
+ @target_field = args[:target_field] if args.key?(:target_field)
17759
+ @target_field_value_float = args[:target_field_value_float] if args.key?(:target_field_value_float)
17760
+ end
17761
+ end
17762
+
17763
+ # Additional feature configurations for creating a `recommended-for-you` engine.
17764
+ class GoogleCloudDiscoveryengineV1betaEngineMediaRecommendationEngineConfigRecommendedForYouFeatureConfig
17765
+ include Google::Apis::Core::Hashable
17766
+
17767
+ # The type of event with which the engine is queried at prediction time. If set
17768
+ # to `generic`, only `view-item`, `media-play`,and `media-complete` will be used
17769
+ # as `context-event` in engine training. If set to `view-home-page`, `view-home-
17770
+ # page` will also be used as `context-events` in addition to `view-item`, `media-
17771
+ # play`, and `media-complete`. Currently supported for the `recommended-for-you`
17772
+ # engine. Currently supported values: `view-home-page`, `generic`.
17773
+ # Corresponds to the JSON property `contextEventType`
17774
+ # @return [String]
17775
+ attr_accessor :context_event_type
17776
+
17777
+ def initialize(**args)
17778
+ update!(**args)
17779
+ end
17780
+
17781
+ # Update properties of this object
17782
+ def update!(**args)
17783
+ @context_event_type = args[:context_event_type] if args.key?(:context_event_type)
17784
+ end
17785
+ end
17786
+
17073
17787
  # Configurations for a Search Engine.
17074
17788
  class GoogleCloudDiscoveryengineV1betaEngineSearchEngineConfig
17075
17789
  include Google::Apis::Core::Hashable
@@ -17221,6 +17935,11 @@ module Google
17221
17935
  # @return [String]
17222
17936
  attr_accessor :chunk_text
17223
17937
 
17938
+ # The domain of the source.
17939
+ # Corresponds to the JSON property `domain`
17940
+ # @return [String]
17941
+ attr_accessor :domain
17942
+
17224
17943
  # The index of this chunk. Currently, only used for the streaming mode.
17225
17944
  # Corresponds to the JSON property `index`
17226
17945
  # @return [Fixnum]
@@ -17238,6 +17957,16 @@ module Google
17238
17957
  # @return [Hash<String,String>]
17239
17958
  attr_accessor :source_metadata
17240
17959
 
17960
+ # The title of the source.
17961
+ # Corresponds to the JSON property `title`
17962
+ # @return [String]
17963
+ attr_accessor :title
17964
+
17965
+ # The URI of the source.
17966
+ # Corresponds to the JSON property `uri`
17967
+ # @return [String]
17968
+ attr_accessor :uri
17969
+
17241
17970
  def initialize(**args)
17242
17971
  update!(**args)
17243
17972
  end
@@ -17245,9 +17974,12 @@ module Google
17245
17974
  # Update properties of this object
17246
17975
  def update!(**args)
17247
17976
  @chunk_text = args[:chunk_text] if args.key?(:chunk_text)
17977
+ @domain = args[:domain] if args.key?(:domain)
17248
17978
  @index = args[:index] if args.key?(:index)
17249
17979
  @source = args[:source] if args.key?(:source)
17250
17980
  @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
17981
+ @title = args[:title] if args.key?(:title)
17982
+ @uri = args[:uri] if args.key?(:uri)
17251
17983
  end
17252
17984
  end
17253
17985
 
@@ -20644,6 +21376,12 @@ module Google
20644
21376
  # @return [String]
20645
21377
  attr_accessor :description
20646
21378
 
21379
+ # Optional. The Document the user wants to promote. For site search, leave unset
21380
+ # and only populate uri. Can be set along with uri.
21381
+ # Corresponds to the JSON property `document`
21382
+ # @return [String]
21383
+ attr_accessor :document
21384
+
20647
21385
  # Optional. The enabled promotion will be returned for any serving configs
20648
21386
  # associated with the parent of the control this promotion is attached to. This
20649
21387
  # flag is used for basic site search only.
@@ -20675,6 +21413,7 @@ module Google
20675
21413
  # Update properties of this object
20676
21414
  def update!(**args)
20677
21415
  @description = args[:description] if args.key?(:description)
21416
+ @document = args[:document] if args.key?(:document)
20678
21417
  @enabled = args[:enabled] if args.key?(:enabled)
20679
21418
  @image_uri = args[:image_uri] if args.key?(:image_uri)
20680
21419
  @title = args[:title] if args.key?(:title)
@@ -22978,6 +23717,11 @@ module Google
22978
23717
  class GoogleCloudDiscoveryengineV1betaServingConfig
22979
23718
  include Google::Apis::Core::Hashable
22980
23719
 
23720
+ # The specification for answer generation.
23721
+ # Corresponds to the JSON property `answerGenerationSpec`
23722
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerGenerationSpec]
23723
+ attr_accessor :answer_generation_spec
23724
+
22981
23725
  # Boost controls to use in serving path. All triggered boost controls will be
22982
23726
  # applied. Boost controls must be in the same data store as the serving config.
22983
23727
  # Maximum of 20 boost controls.
@@ -23144,6 +23888,7 @@ module Google
23144
23888
 
23145
23889
  # Update properties of this object
23146
23890
  def update!(**args)
23891
+ @answer_generation_spec = args[:answer_generation_spec] if args.key?(:answer_generation_spec)
23147
23892
  @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
23148
23893
  @create_time = args[:create_time] if args.key?(:create_time)
23149
23894
  @display_name = args[:display_name] if args.key?(:display_name)