@@ -1552,6 +1552,41 @@ def update!(**args)
15521552 end
15531553 end
15541554
1555+ # The public proto to represent the conversational search customization config.
1556+ # It will be converted to the internal proto in the backend.
1557+ class GoogleCloudRetailV2ConversationalSearchCustomizationConfig
1558+ include Google ::Apis ::Core ::Hashable
1559+
1560+ # Required. Resource name of the catalog. Format: projects/`project`/locations/`
1561+ # location`/catalogs/`catalog`
1562+ # Corresponds to the JSON property `catalog`
1563+ # @return [String]
1564+ attr_accessor :catalog
1565+
1566+ # The public proto to represent the intent classification config. It will be
1567+ # converted to the internal proto in the backend.
1568+ # Corresponds to the JSON property `intentClassificationConfig`
1569+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2IntentClassificationConfig]
1570+ attr_accessor :intent_classification_config
1571+
1572+ # Optional. The retailer's display name that could be used in our LLM answers.
1573+ # Example - "Google"
1574+ # Corresponds to the JSON property `retailerDisplayName`
1575+ # @return [String]
1576+ attr_accessor :retailer_display_name
1577+
1578+ def initialize ( **args )
1579+ update! ( **args )
1580+ end
1581+
1582+ # Update properties of this object
1583+ def update! ( **args )
1584+ @catalog = args [ :catalog ] if args . key? ( :catalog )
1585+ @intent_classification_config = args [ :intent_classification_config ] if args . key? ( :intent_classification_config )
1586+ @retailer_display_name = args [ :retailer_display_name ] if args . key? ( :retailer_display_name )
1587+ end
1588+ end
1589+
15551590 # Metadata associated with a create operation.
15561591 class GoogleCloudRetailV2CreateModelMetadata
15571592 include Google ::Apis ::Core ::Hashable
@@ -2351,6 +2386,84 @@ def update!(**args)
23512386 end
23522387 end
23532388
2389+ # The public proto to represent the intent classification config. It will be
2390+ # converted to the internal proto in the backend.
2391+ class GoogleCloudRetailV2IntentClassificationConfig
2392+ include Google ::Apis ::Core ::Hashable
2393+
2394+ # Optional. A list of keywords that will be used to classify the query to the "
2395+ # BLOCKLISTED" intent type. The keywords are case insensitive.
2396+ # Corresponds to the JSON property `blocklistKeywords`
2397+ # @return [Array<String>]
2398+ attr_accessor :blocklist_keywords
2399+
2400+ # Optional. A list of intent types that will be disabled for this customer. The
2401+ # intent types must match one of the predefined intent types defined at https://
2402+ # cloud.google.com/retail/docs/reference/rpc/google.cloud.retail.v2alpha#
2403+ # querytype
2404+ # Corresponds to the JSON property `disabledIntentTypes`
2405+ # @return [Array<String>]
2406+ attr_accessor :disabled_intent_types
2407+
2408+ # Optional. A list of examples for intent classification.
2409+ # Corresponds to the JSON property `example`
2410+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2IntentClassificationConfigExample>]
2411+ attr_accessor :example
2412+
2413+ # Optional. Customers can use the preamble to specify any requirements for
2414+ # blocklisting intent classification. This preamble will be added to the
2415+ # blocklisting intent classification model prompt.
2416+ # Corresponds to the JSON property `modelPreamble`
2417+ # @return [String]
2418+ attr_accessor :model_preamble
2419+
2420+ def initialize ( **args )
2421+ update! ( **args )
2422+ end
2423+
2424+ # Update properties of this object
2425+ def update! ( **args )
2426+ @blocklist_keywords = args [ :blocklist_keywords ] if args . key? ( :blocklist_keywords )
2427+ @disabled_intent_types = args [ :disabled_intent_types ] if args . key? ( :disabled_intent_types )
2428+ @example = args [ :example ] if args . key? ( :example )
2429+ @model_preamble = args [ :model_preamble ] if args . key? ( :model_preamble )
2430+ end
2431+ end
2432+
2433+ # An example for intent classification.
2434+ class GoogleCloudRetailV2IntentClassificationConfigExample
2435+ include Google ::Apis ::Core ::Hashable
2436+
2437+ # Optional. The intent_type must match one of the predefined intent types
2438+ # defined at https://cloud.google.com/retail/docs/reference/rpc/google.cloud.
2439+ # retail.v2alpha#querytype
2440+ # Corresponds to the JSON property `intentType`
2441+ # @return [String]
2442+ attr_accessor :intent_type
2443+
2444+ # Required. Example query.
2445+ # Corresponds to the JSON property `query`
2446+ # @return [String]
2447+ attr_accessor :query
2448+
2449+ # Optional. The reason for the intent classification. This is used to explain
2450+ # the intent classification decision.
2451+ # Corresponds to the JSON property `reason`
2452+ # @return [String]
2453+ attr_accessor :reason
2454+
2455+ def initialize ( **args )
2456+ update! ( **args )
2457+ end
2458+
2459+ # Update properties of this object
2460+ def update! ( **args )
2461+ @intent_type = args [ :intent_type ] if args . key? ( :intent_type )
2462+ @query = args [ :query ] if args . key? ( :query )
2463+ @reason = args [ :reason ] if args . key? ( :reason )
2464+ end
2465+ end
2466+
23542467 # A floating point interval.
23552468 class GoogleCloudRetailV2Interval
23562469 include Google ::Apis ::Core ::Hashable
@@ -5547,9 +5660,9 @@ class GoogleCloudRetailV2SearchRequestQueryExpansionSpec
55475660 # @return [String]
55485661 attr_accessor :condition
55495662
5550- # Whether to pin unexpanded results. If this field is set to true, unexpanded
5551- # products are always at the top of the search results, followed by the expanded
5552- # results.
5663+ # Whether to pin unexpanded results. The default value is false. If this field
5664+ # is set to true, unexpanded products are always at the top of the search
5665+ # results, followed by the expanded results .
55535666 # Corresponds to the JSON property `pinUnexpandedResults`
55545667 # @return [Boolean]
55555668 attr_accessor :pin_unexpanded_results
@@ -6626,9 +6739,9 @@ class GoogleCloudRetailV2UserEvent
66266739
66276740 # A unique identifier for tracking a visitor session with a length limit of 128
66286741 # bytes. A session is an aggregation of an end user behavior in a time span. A
6629- # general guideline to populate the sesion_id : 1. If user has no activity for 30
6630- # min, a new session_id should be assigned. 2. The session_id should be unique
6631- # across users, suggest use uuid or add visitor_id as prefix.
6742+ # general guideline to populate the session_id : 1. If user has no activity for
6743+ # 30 min, a new session_id should be assigned. 2. The session_id should be
6744+ # unique across users, suggest use uuid or add visitor_id as prefix.
66326745 # Corresponds to the JSON property `sessionId`
66336746 # @return [String]
66346747 attr_accessor :session_id
0 commit comments