@@ -560,6 +560,44 @@ def update!(**args)
560560 end
561561 end
562562
563+ # Request for BatchUpdateGenerativeQuestionConfig method.
564+ class GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsRequest
565+ include Google ::Apis ::Core ::Hashable
566+
567+ # Required. The updates question configs.
568+ # Corresponds to the JSON property `requests`
569+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2UpdateGenerativeQuestionConfigRequest>]
570+ attr_accessor :requests
571+
572+ def initialize ( **args )
573+ update! ( **args )
574+ end
575+
576+ # Update properties of this object
577+ def update! ( **args )
578+ @requests = args [ :requests ] if args . key? ( :requests )
579+ end
580+ end
581+
582+ # Aggregated response for UpdateGenerativeQuestionConfig method.
583+ class GoogleCloudRetailV2BatchUpdateGenerativeQuestionConfigsResponse
584+ include Google ::Apis ::Core ::Hashable
585+
586+ # Optional. The updates question configs.
587+ # Corresponds to the JSON property `generativeQuestionConfigs`
588+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2GenerativeQuestionConfig>]
589+ attr_accessor :generative_question_configs
590+
591+ def initialize ( **args )
592+ update! ( **args )
593+ end
594+
595+ # Update properties of this object
596+ def update! ( **args )
597+ @generative_question_configs = args [ :generative_question_configs ] if args . key? ( :generative_question_configs )
598+ end
599+ end
600+
563601 # A BigQuery output result.
564602 class GoogleCloudRetailV2BigQueryOutputResult
565603 include Google ::Apis ::Core ::Hashable
@@ -1805,6 +1843,99 @@ def update!(**args)
18051843 end
18061844 end
18071845
1846+ # Configuration for a single generated question.
1847+ class GoogleCloudRetailV2GenerativeQuestionConfig
1848+ include Google ::Apis ::Core ::Hashable
1849+
1850+ # Optional. Whether the question is asked at serving time.
1851+ # Corresponds to the JSON property `allowedInConversation`
1852+ # @return [Boolean]
1853+ attr_accessor :allowed_in_conversation
1854+ alias_method :allowed_in_conversation? , :allowed_in_conversation
1855+
1856+ # Required. Resource name of the catalog. Format: projects/`project`/locations/`
1857+ # location`/catalogs/`catalog`
1858+ # Corresponds to the JSON property `catalog`
1859+ # @return [String]
1860+ attr_accessor :catalog
1861+
1862+ # Output only. Values that can be used to answer the question.
1863+ # Corresponds to the JSON property `exampleValues`
1864+ # @return [Array<String>]
1865+ attr_accessor :example_values
1866+
1867+ # Required. The facet to which the question is associated.
1868+ # Corresponds to the JSON property `facet`
1869+ # @return [String]
1870+ attr_accessor :facet
1871+
1872+ # Optional. The question that will be used at serving time. Question can have a
1873+ # max length of 300 bytes. When not populated, generated_question should be used.
1874+ # Corresponds to the JSON property `finalQuestion`
1875+ # @return [String]
1876+ attr_accessor :final_question
1877+
1878+ # Output only. The ratio of how often a question was asked.
1879+ # Corresponds to the JSON property `frequency`
1880+ # @return [Float]
1881+ attr_accessor :frequency
1882+
1883+ # Output only. The LLM generated question.
1884+ # Corresponds to the JSON property `generatedQuestion`
1885+ # @return [String]
1886+ attr_accessor :generated_question
1887+
1888+ def initialize ( **args )
1889+ update! ( **args )
1890+ end
1891+
1892+ # Update properties of this object
1893+ def update! ( **args )
1894+ @allowed_in_conversation = args [ :allowed_in_conversation ] if args . key? ( :allowed_in_conversation )
1895+ @catalog = args [ :catalog ] if args . key? ( :catalog )
1896+ @example_values = args [ :example_values ] if args . key? ( :example_values )
1897+ @facet = args [ :facet ] if args . key? ( :facet )
1898+ @final_question = args [ :final_question ] if args . key? ( :final_question )
1899+ @frequency = args [ :frequency ] if args . key? ( :frequency )
1900+ @generated_question = args [ :generated_question ] if args . key? ( :generated_question )
1901+ end
1902+ end
1903+
1904+ # Configuration for overall generative question feature state.
1905+ class GoogleCloudRetailV2GenerativeQuestionsFeatureConfig
1906+ include Google ::Apis ::Core ::Hashable
1907+
1908+ # Required. Resource name of the affected catalog. Format: projects/`project`/
1909+ # locations/`location`/catalogs/`catalog`
1910+ # Corresponds to the JSON property `catalog`
1911+ # @return [String]
1912+ attr_accessor :catalog
1913+
1914+ # Optional. Determines whether questions will be used at serving time. Note:
1915+ # This feature cannot be enabled until initial data requirements are satisfied.
1916+ # Corresponds to the JSON property `featureEnabled`
1917+ # @return [Boolean]
1918+ attr_accessor :feature_enabled
1919+ alias_method :feature_enabled? , :feature_enabled
1920+
1921+ # Optional. Minimum number of products in the response to trigger follow-up
1922+ # questions. Value must be 0 or positive.
1923+ # Corresponds to the JSON property `minimumProducts`
1924+ # @return [Fixnum]
1925+ attr_accessor :minimum_products
1926+
1927+ def initialize ( **args )
1928+ update! ( **args )
1929+ end
1930+
1931+ # Update properties of this object
1932+ def update! ( **args )
1933+ @catalog = args [ :catalog ] if args . key? ( :catalog )
1934+ @feature_enabled = args [ :feature_enabled ] if args . key? ( :feature_enabled )
1935+ @minimum_products = args [ :minimum_products ] if args . key? ( :minimum_products )
1936+ end
1937+ end
1938+
18081939 # Response message of CatalogService.GetDefaultBranch.
18091940 class GoogleCloudRetailV2GetDefaultBranchResponse
18101941 include Google ::Apis ::Core ::Hashable
@@ -2235,6 +2366,25 @@ def update!(**args)
22352366 end
22362367 end
22372368
2369+ # Response for ListQuestions method.
2370+ class GoogleCloudRetailV2ListGenerativeQuestionConfigsResponse
2371+ include Google ::Apis ::Core ::Hashable
2372+
2373+ # All the questions for a given catalog.
2374+ # Corresponds to the JSON property `generativeQuestionConfigs`
2375+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2GenerativeQuestionConfig>]
2376+ attr_accessor :generative_question_configs
2377+
2378+ def initialize ( **args )
2379+ update! ( **args )
2380+ end
2381+
2382+ # Update properties of this object
2383+ def update! ( **args )
2384+ @generative_question_configs = args [ :generative_question_configs ] if args . key? ( :generative_question_configs )
2385+ end
2386+ end
2387+
22382388 # Response to a ListModelRequest.
22392389 class GoogleCloudRetailV2ListModelsResponse
22402390 include Google ::Apis ::Core ::Hashable
@@ -6062,6 +6212,33 @@ def update!(**args)
60626212 end
60636213 end
60646214
6215+ # Request for UpdateGenerativeQuestionConfig method.
6216+ class GoogleCloudRetailV2UpdateGenerativeQuestionConfigRequest
6217+ include Google ::Apis ::Core ::Hashable
6218+
6219+ # Configuration for a single generated question.
6220+ # Corresponds to the JSON property `generativeQuestionConfig`
6221+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2GenerativeQuestionConfig]
6222+ attr_accessor :generative_question_config
6223+
6224+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
6225+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
6226+ # If not set or empty, all supported fields are updated.
6227+ # Corresponds to the JSON property `updateMask`
6228+ # @return [String]
6229+ attr_accessor :update_mask
6230+
6231+ def initialize ( **args )
6232+ update! ( **args )
6233+ end
6234+
6235+ # Update properties of this object
6236+ def update! ( **args )
6237+ @generative_question_config = args [ :generative_question_config ] if args . key? ( :generative_question_config )
6238+ @update_mask = args [ :update_mask ] if args . key? ( :update_mask )
6239+ end
6240+ end
6241+
60656242 # UserEvent captures all metadata information Retail API needs to know about how
60666243 # end users interact with customers' website.
60676244 class GoogleCloudRetailV2UserEvent
0 commit comments