google-apis-discoveryengine_v1beta 0.51.0 → 0.52.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.
@@ -2697,6 +2697,610 @@ module Google
2697
2697
  end
2698
2698
  end
2699
2699
 
2700
+ # A specification for configuring the behavior of content search.
2701
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec
2702
+ include Google::Apis::Core::Hashable
2703
+
2704
+ # Specifies the chunk spec to be returned from the search response. Only
2705
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
2706
+ # CHUNKS
2707
+ # Corresponds to the JSON property `chunkSpec`
2708
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec]
2709
+ attr_accessor :chunk_spec
2710
+
2711
+ # A specification for configuring the extractive content in a search response.
2712
+ # Corresponds to the JSON property `extractiveContentSpec`
2713
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec]
2714
+ attr_accessor :extractive_content_spec
2715
+
2716
+ # Specifies the search result mode. If unspecified, the search result mode
2717
+ # defaults to `DOCUMENTS`.
2718
+ # Corresponds to the JSON property `searchResultMode`
2719
+ # @return [String]
2720
+ attr_accessor :search_result_mode
2721
+
2722
+ # A specification for configuring snippets in a search response.
2723
+ # Corresponds to the JSON property `snippetSpec`
2724
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec]
2725
+ attr_accessor :snippet_spec
2726
+
2727
+ # A specification for configuring a summary returned in a search response.
2728
+ # Corresponds to the JSON property `summarySpec`
2729
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec]
2730
+ attr_accessor :summary_spec
2731
+
2732
+ def initialize(**args)
2733
+ update!(**args)
2734
+ end
2735
+
2736
+ # Update properties of this object
2737
+ def update!(**args)
2738
+ @chunk_spec = args[:chunk_spec] if args.key?(:chunk_spec)
2739
+ @extractive_content_spec = args[:extractive_content_spec] if args.key?(:extractive_content_spec)
2740
+ @search_result_mode = args[:search_result_mode] if args.key?(:search_result_mode)
2741
+ @snippet_spec = args[:snippet_spec] if args.key?(:snippet_spec)
2742
+ @summary_spec = args[:summary_spec] if args.key?(:summary_spec)
2743
+ end
2744
+ end
2745
+
2746
+ # Specifies the chunk spec to be returned from the search response. Only
2747
+ # available if the SearchRequest.ContentSearchSpec.search_result_mode is set to
2748
+ # CHUNKS
2749
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec
2750
+ include Google::Apis::Core::Hashable
2751
+
2752
+ # The number of next chunks to be returned of the current chunk. The maximum
2753
+ # allowed value is 3. If not specified, no next chunks will be returned.
2754
+ # Corresponds to the JSON property `numNextChunks`
2755
+ # @return [Fixnum]
2756
+ attr_accessor :num_next_chunks
2757
+
2758
+ # The number of previous chunks to be returned of the current chunk. The maximum
2759
+ # allowed value is 3. If not specified, no previous chunks will be returned.
2760
+ # Corresponds to the JSON property `numPreviousChunks`
2761
+ # @return [Fixnum]
2762
+ attr_accessor :num_previous_chunks
2763
+
2764
+ def initialize(**args)
2765
+ update!(**args)
2766
+ end
2767
+
2768
+ # Update properties of this object
2769
+ def update!(**args)
2770
+ @num_next_chunks = args[:num_next_chunks] if args.key?(:num_next_chunks)
2771
+ @num_previous_chunks = args[:num_previous_chunks] if args.key?(:num_previous_chunks)
2772
+ end
2773
+ end
2774
+
2775
+ # A specification for configuring the extractive content in a search response.
2776
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec
2777
+ include Google::Apis::Core::Hashable
2778
+
2779
+ # The maximum number of extractive answers returned in each search result. An
2780
+ # extractive answer is a verbatim answer extracted from the original document,
2781
+ # which provides a precise and contextually relevant answer to the search query.
2782
+ # If the number of matching answers is less than the `
2783
+ # max_extractive_answer_count`, return all of the answers. Otherwise, return the
2784
+ # `max_extractive_answer_count`. At most five answers are returned for each
2785
+ # SearchResult.
2786
+ # Corresponds to the JSON property `maxExtractiveAnswerCount`
2787
+ # @return [Fixnum]
2788
+ attr_accessor :max_extractive_answer_count
2789
+
2790
+ # The max number of extractive segments returned in each search result. Only
2791
+ # applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or
2792
+ # DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a
2793
+ # text segment extracted from the original document that is relevant to the
2794
+ # search query, and, in general, more verbose than an extractive answer. The
2795
+ # segment could then be used as input for LLMs to generate summaries and answers.
2796
+ # If the number of matching segments is less than `max_extractive_segment_count`
2797
+ # , return all of the segments. Otherwise, return the `
2798
+ # max_extractive_segment_count`.
2799
+ # Corresponds to the JSON property `maxExtractiveSegmentCount`
2800
+ # @return [Fixnum]
2801
+ attr_accessor :max_extractive_segment_count
2802
+
2803
+ # Return at most `num_next_segments` segments after each selected segments.
2804
+ # Corresponds to the JSON property `numNextSegments`
2805
+ # @return [Fixnum]
2806
+ attr_accessor :num_next_segments
2807
+
2808
+ # Specifies whether to also include the adjacent from each selected segments.
2809
+ # Return at most `num_previous_segments` segments before each selected segments.
2810
+ # Corresponds to the JSON property `numPreviousSegments`
2811
+ # @return [Fixnum]
2812
+ attr_accessor :num_previous_segments
2813
+
2814
+ # Specifies whether to return the confidence score from the extractive segments
2815
+ # in each search result. This feature is available only for new or allowlisted
2816
+ # data stores. To allowlist your data store, contact your Customer Engineer. The
2817
+ # default value is `false`.
2818
+ # Corresponds to the JSON property `returnExtractiveSegmentScore`
2819
+ # @return [Boolean]
2820
+ attr_accessor :return_extractive_segment_score
2821
+ alias_method :return_extractive_segment_score?, :return_extractive_segment_score
2822
+
2823
+ def initialize(**args)
2824
+ update!(**args)
2825
+ end
2826
+
2827
+ # Update properties of this object
2828
+ def update!(**args)
2829
+ @max_extractive_answer_count = args[:max_extractive_answer_count] if args.key?(:max_extractive_answer_count)
2830
+ @max_extractive_segment_count = args[:max_extractive_segment_count] if args.key?(:max_extractive_segment_count)
2831
+ @num_next_segments = args[:num_next_segments] if args.key?(:num_next_segments)
2832
+ @num_previous_segments = args[:num_previous_segments] if args.key?(:num_previous_segments)
2833
+ @return_extractive_segment_score = args[:return_extractive_segment_score] if args.key?(:return_extractive_segment_score)
2834
+ end
2835
+ end
2836
+
2837
+ # A specification for configuring snippets in a search response.
2838
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec
2839
+ include Google::Apis::Core::Hashable
2840
+
2841
+ # [DEPRECATED] This field is deprecated. To control snippet return, use `
2842
+ # return_snippet` field. For backwards compatibility, we will return snippet if
2843
+ # max_snippet_count > 0.
2844
+ # Corresponds to the JSON property `maxSnippetCount`
2845
+ # @return [Fixnum]
2846
+ attr_accessor :max_snippet_count
2847
+
2848
+ # [DEPRECATED] This field is deprecated and will have no affect on the snippet.
2849
+ # Corresponds to the JSON property `referenceOnly`
2850
+ # @return [Boolean]
2851
+ attr_accessor :reference_only
2852
+ alias_method :reference_only?, :reference_only
2853
+
2854
+ # If `true`, then return snippet. If no snippet can be generated, we return "No
2855
+ # snippet is available for this page." A `snippet_status` with `SUCCESS` or `
2856
+ # NO_SNIPPET_AVAILABLE` will also be returned.
2857
+ # Corresponds to the JSON property `returnSnippet`
2858
+ # @return [Boolean]
2859
+ attr_accessor :return_snippet
2860
+ alias_method :return_snippet?, :return_snippet
2861
+
2862
+ def initialize(**args)
2863
+ update!(**args)
2864
+ end
2865
+
2866
+ # Update properties of this object
2867
+ def update!(**args)
2868
+ @max_snippet_count = args[:max_snippet_count] if args.key?(:max_snippet_count)
2869
+ @reference_only = args[:reference_only] if args.key?(:reference_only)
2870
+ @return_snippet = args[:return_snippet] if args.key?(:return_snippet)
2871
+ end
2872
+ end
2873
+
2874
+ # A specification for configuring a summary returned in a search response.
2875
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec
2876
+ include Google::Apis::Core::Hashable
2877
+
2878
+ # Specifies whether to filter out adversarial queries. The default value is `
2879
+ # false`. Google employs search-query classification to detect adversarial
2880
+ # queries. No summary is returned if the search query is classified as an
2881
+ # adversarial query. For example, a user might ask a question regarding negative
2882
+ # comments about the company or submit a query designed to generate unsafe,
2883
+ # policy-violating output. If this field is set to `true`, we skip generating
2884
+ # summaries for adversarial queries and return fallback messages instead.
2885
+ # Corresponds to the JSON property `ignoreAdversarialQuery`
2886
+ # @return [Boolean]
2887
+ attr_accessor :ignore_adversarial_query
2888
+ alias_method :ignore_adversarial_query?, :ignore_adversarial_query
2889
+
2890
+ # Optional. Specifies whether to filter out jail-breaking queries. The default
2891
+ # value is `false`. Google employs search-query classification to detect jail-
2892
+ # breaking queries. No summary is returned if the search query is classified as
2893
+ # a jail-breaking query. A user might add instructions to the query to change
2894
+ # the tone, style, language, content of the answer, or ask the model to act as a
2895
+ # different entity, e.g. "Reply in the tone of a competing company's CEO". If
2896
+ # this field is set to `true`, we skip generating summaries for jail-breaking
2897
+ # queries and return fallback messages instead.
2898
+ # Corresponds to the JSON property `ignoreJailBreakingQuery`
2899
+ # @return [Boolean]
2900
+ attr_accessor :ignore_jail_breaking_query
2901
+ alias_method :ignore_jail_breaking_query?, :ignore_jail_breaking_query
2902
+
2903
+ # Specifies whether to filter out queries that have low relevance. The default
2904
+ # value is `false`. If this field is set to `false`, all search results are used
2905
+ # regardless of relevance to generate answers. If set to `true`, only queries
2906
+ # with high relevance search results will generate answers.
2907
+ # Corresponds to the JSON property `ignoreLowRelevantContent`
2908
+ # @return [Boolean]
2909
+ attr_accessor :ignore_low_relevant_content
2910
+ alias_method :ignore_low_relevant_content?, :ignore_low_relevant_content
2911
+
2912
+ # Specifies whether to filter out queries that are not summary-seeking. The
2913
+ # default value is `false`. Google employs search-query classification to detect
2914
+ # summary-seeking queries. No summary is returned if the search query is
2915
+ # classified as a non-summary seeking query. For example, `why is the sky blue`
2916
+ # and `Who is the best soccer player in the world?` are summary-seeking queries,
2917
+ # but `SFO airport` and `world cup 2026` are not. They are most likely
2918
+ # navigational queries. If this field is set to `true`, we skip generating
2919
+ # summaries for non-summary seeking queries and return fallback messages instead.
2920
+ # Corresponds to the JSON property `ignoreNonSummarySeekingQuery`
2921
+ # @return [Boolean]
2922
+ attr_accessor :ignore_non_summary_seeking_query
2923
+ alias_method :ignore_non_summary_seeking_query?, :ignore_non_summary_seeking_query
2924
+
2925
+ # Specifies whether to include citations in the summary. The default value is `
2926
+ # false`. When this field is set to `true`, summaries include in-line citation
2927
+ # numbers. Example summary including citations: BigQuery is Google Cloud's fully
2928
+ # managed and completely serverless enterprise data warehouse [1]. BigQuery
2929
+ # supports all data types, works across clouds, and has built-in machine
2930
+ # learning and business intelligence, all within a unified platform [2, 3]. The
2931
+ # citation numbers refer to the returned search results and are 1-indexed. For
2932
+ # example, [1] means that the sentence is attributed to the first search result.
2933
+ # [2, 3] means that the sentence is attributed to both the second and third
2934
+ # search results.
2935
+ # Corresponds to the JSON property `includeCitations`
2936
+ # @return [Boolean]
2937
+ attr_accessor :include_citations
2938
+ alias_method :include_citations?, :include_citations
2939
+
2940
+ # Language code for Summary. Use language tags defined by [BCP47](https://www.
2941
+ # rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.
2942
+ # Corresponds to the JSON property `languageCode`
2943
+ # @return [String]
2944
+ attr_accessor :language_code
2945
+
2946
+ # Specification of the prompt to use with the model.
2947
+ # Corresponds to the JSON property `modelPromptSpec`
2948
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec]
2949
+ attr_accessor :model_prompt_spec
2950
+
2951
+ # Specification of the model.
2952
+ # Corresponds to the JSON property `modelSpec`
2953
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec]
2954
+ attr_accessor :model_spec
2955
+
2956
+ # The number of top results to generate the summary from. If the number of
2957
+ # results returned is less than `summaryResultCount`, the summary is generated
2958
+ # from all of the results. At most 10 results for documents mode, or 50 for
2959
+ # chunks mode, can be used to generate a summary. The chunks mode is used when
2960
+ # SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.
2961
+ # Corresponds to the JSON property `summaryResultCount`
2962
+ # @return [Fixnum]
2963
+ attr_accessor :summary_result_count
2964
+
2965
+ # If true, answer will be generated from most relevant chunks from top search
2966
+ # results. This feature will improve summary quality. Note that with this
2967
+ # feature enabled, not all top search results will be referenced and included in
2968
+ # the reference list, so the citation source index only points to the search
2969
+ # results listed in the reference list.
2970
+ # Corresponds to the JSON property `useSemanticChunks`
2971
+ # @return [Boolean]
2972
+ attr_accessor :use_semantic_chunks
2973
+ alias_method :use_semantic_chunks?, :use_semantic_chunks
2974
+
2975
+ def initialize(**args)
2976
+ update!(**args)
2977
+ end
2978
+
2979
+ # Update properties of this object
2980
+ def update!(**args)
2981
+ @ignore_adversarial_query = args[:ignore_adversarial_query] if args.key?(:ignore_adversarial_query)
2982
+ @ignore_jail_breaking_query = args[:ignore_jail_breaking_query] if args.key?(:ignore_jail_breaking_query)
2983
+ @ignore_low_relevant_content = args[:ignore_low_relevant_content] if args.key?(:ignore_low_relevant_content)
2984
+ @ignore_non_summary_seeking_query = args[:ignore_non_summary_seeking_query] if args.key?(:ignore_non_summary_seeking_query)
2985
+ @include_citations = args[:include_citations] if args.key?(:include_citations)
2986
+ @language_code = args[:language_code] if args.key?(:language_code)
2987
+ @model_prompt_spec = args[:model_prompt_spec] if args.key?(:model_prompt_spec)
2988
+ @model_spec = args[:model_spec] if args.key?(:model_spec)
2989
+ @summary_result_count = args[:summary_result_count] if args.key?(:summary_result_count)
2990
+ @use_semantic_chunks = args[:use_semantic_chunks] if args.key?(:use_semantic_chunks)
2991
+ end
2992
+ end
2993
+
2994
+ # Specification of the prompt to use with the model.
2995
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec
2996
+ include Google::Apis::Core::Hashable
2997
+
2998
+ # Text at the beginning of the prompt that instructs the assistant. Examples are
2999
+ # available in the user guide.
3000
+ # Corresponds to the JSON property `preamble`
3001
+ # @return [String]
3002
+ attr_accessor :preamble
3003
+
3004
+ def initialize(**args)
3005
+ update!(**args)
3006
+ end
3007
+
3008
+ # Update properties of this object
3009
+ def update!(**args)
3010
+ @preamble = args[:preamble] if args.key?(:preamble)
3011
+ end
3012
+ end
3013
+
3014
+ # Specification of the model.
3015
+ class GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec
3016
+ include Google::Apis::Core::Hashable
3017
+
3018
+ # The model version used to generate the summary. Supported values are: * `
3019
+ # stable`: string. Default value when no value is specified. Uses a generally
3020
+ # available, fine-tuned model. For more information, see [Answer generation
3021
+ # model versions and lifecycle](https://cloud.google.com/generative-ai-app-
3022
+ # builder/docs/answer-generation-models). * `preview`: string. (Public preview)
3023
+ # Uses a preview model. For more information, see [Answer generation model
3024
+ # versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/
3025
+ # docs/answer-generation-models).
3026
+ # Corresponds to the JSON property `version`
3027
+ # @return [String]
3028
+ attr_accessor :version
3029
+
3030
+ def initialize(**args)
3031
+ update!(**args)
3032
+ end
3033
+
3034
+ # Update properties of this object
3035
+ def update!(**args)
3036
+ @version = args[:version] if args.key?(:version)
3037
+ end
3038
+ end
3039
+
3040
+ # Configures metadata that is used to generate serving time results (e.g. search
3041
+ # results or recommendation predictions). The ServingConfig is passed in the
3042
+ # search and predict request and generates results.
3043
+ class GoogleCloudDiscoveryengineV1ServingConfig
3044
+ include Google::Apis::Core::Hashable
3045
+
3046
+ # Boost controls to use in serving path. All triggered boost controls will be
3047
+ # applied. Boost controls must be in the same data store as the serving config.
3048
+ # Maximum of 20 boost controls.
3049
+ # Corresponds to the JSON property `boostControlIds`
3050
+ # @return [Array<String>]
3051
+ attr_accessor :boost_control_ids
3052
+
3053
+ # Output only. ServingConfig created timestamp.
3054
+ # Corresponds to the JSON property `createTime`
3055
+ # @return [String]
3056
+ attr_accessor :create_time
3057
+
3058
+ # Required. The human readable serving config display name. Used in Discovery UI.
3059
+ # This field must be a UTF-8 encoded string with a length limit of 128
3060
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned.
3061
+ # Corresponds to the JSON property `displayName`
3062
+ # @return [String]
3063
+ attr_accessor :display_name
3064
+
3065
+ # Condition do not associate specifications. If multiple do not associate
3066
+ # conditions match, all matching do not associate controls in the list will
3067
+ # execute. Order does not matter. Maximum number of specifications is 100. Can
3068
+ # only be set if SolutionType is SOLUTION_TYPE_SEARCH.
3069
+ # Corresponds to the JSON property `dissociateControlIds`
3070
+ # @return [Array<String>]
3071
+ attr_accessor :dissociate_control_ids
3072
+
3073
+ # How much diversity to use in recommendation model results e.g. `medium-
3074
+ # diversity` or `high-diversity`. Currently supported values: * `no-diversity` *
3075
+ # `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If
3076
+ # not specified, we choose default based on recommendation model type. Default
3077
+ # value: `no-diversity`. Can only be set if SolutionType is
3078
+ # SOLUTION_TYPE_RECOMMENDATION.
3079
+ # Corresponds to the JSON property `diversityLevel`
3080
+ # @return [String]
3081
+ attr_accessor :diversity_level
3082
+
3083
+ # Filter controls to use in serving path. All triggered filter controls will be
3084
+ # applied. Filter controls must be in the same data store as the serving config.
3085
+ # Maximum of 20 filter controls.
3086
+ # Corresponds to the JSON property `filterControlIds`
3087
+ # @return [Array<String>]
3088
+ attr_accessor :filter_control_ids
3089
+
3090
+ # Specifies the configurations needed for Generic Discovery.Currently we support:
3091
+ # * `content_search_spec`: configuration for generic content search.
3092
+ # Corresponds to the JSON property `genericConfig`
3093
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ServingConfigGenericConfig]
3094
+ attr_accessor :generic_config
3095
+
3096
+ # Condition ignore specifications. If multiple ignore conditions match, all
3097
+ # matching ignore controls in the list will execute. Order does not matter.
3098
+ # Maximum number of specifications is 100.
3099
+ # Corresponds to the JSON property `ignoreControlIds`
3100
+ # @return [Array<String>]
3101
+ attr_accessor :ignore_control_ids
3102
+
3103
+ # Specifies the configurations needed for Media Discovery. Currently we support:
3104
+ # * `demote_content_watched`: Threshold for watched content demotion. Customers
3105
+ # can specify if using watched content demotion or use viewed detail page. Using
3106
+ # the content watched demotion, customers need to specify the watched minutes or
3107
+ # percentage exceeds the threshold, the content will be demoted in the
3108
+ # recommendation result. * `promote_fresh_content`: cutoff days for fresh
3109
+ # content promotion. Customers can specify if using content freshness promotion.
3110
+ # If the content was published within the cutoff days, the content will be
3111
+ # promoted in the recommendation result. Can only be set if SolutionType is
3112
+ # SOLUTION_TYPE_RECOMMENDATION.
3113
+ # Corresponds to the JSON property `mediaConfig`
3114
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1ServingConfigMediaConfig]
3115
+ attr_accessor :media_config
3116
+
3117
+ # The id of the model to use at serving time. Currently only
3118
+ # RecommendationModels are supported. Can be changed but only to a compatible
3119
+ # model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when
3120
+ # SolutionType is SOLUTION_TYPE_RECOMMENDATION.
3121
+ # Corresponds to the JSON property `modelId`
3122
+ # @return [String]
3123
+ attr_accessor :model_id
3124
+
3125
+ # Immutable. Fully qualified name `projects/`project`/locations/`location`/
3126
+ # collections/`collection_id`/engines/`engine_id`/servingConfigs/`
3127
+ # serving_config_id``
3128
+ # Corresponds to the JSON property `name`
3129
+ # @return [String]
3130
+ attr_accessor :name
3131
+
3132
+ # Condition oneway synonyms specifications. If multiple oneway synonyms
3133
+ # conditions match, all matching oneway synonyms controls in the list will
3134
+ # execute. Maximum number of specifications is 100. Can only be set if
3135
+ # SolutionType is SOLUTION_TYPE_SEARCH.
3136
+ # Corresponds to the JSON property `onewaySynonymsControlIds`
3137
+ # @return [Array<String>]
3138
+ attr_accessor :oneway_synonyms_control_ids
3139
+
3140
+ # Condition promote specifications. Maximum number of specifications is 100.
3141
+ # Corresponds to the JSON property `promoteControlIds`
3142
+ # @return [Array<String>]
3143
+ attr_accessor :promote_control_ids
3144
+
3145
+ # The ranking expression controls the customized ranking on retrieval documents.
3146
+ # To leverage this, document embedding is required. The ranking expression
3147
+ # setting in ServingConfig applies to all search requests served by the serving
3148
+ # config. However, if SearchRequest.ranking_expression is specified, it
3149
+ # overrides the ServingConfig ranking expression. The ranking expression is a
3150
+ # single function or multiple functions that are joined by "+". *
3151
+ # ranking_expression = function, ` " + ", function `; Supported functions: *
3152
+ # double * relevance_score * double * dotProduct(embedding_field_path) Function
3153
+ # variables: * `relevance_score`: pre-defined keywords, used for measure
3154
+ # relevance between query and document. * `embedding_field_path`: the document
3155
+ # embedding field used with query embedding vector. * `dotProduct`: embedding
3156
+ # function between embedding_field_path and query embedding vector. Example
3157
+ # ranking expression: If document has an embedding field doc_embedding, the
3158
+ # ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(
3159
+ # doc_embedding)`.
3160
+ # Corresponds to the JSON property `rankingExpression`
3161
+ # @return [String]
3162
+ attr_accessor :ranking_expression
3163
+
3164
+ # IDs of the redirect controls. Only the first triggered redirect action is
3165
+ # applied, even if multiple apply. Maximum number of specifications is 100. Can
3166
+ # only be set if SolutionType is SOLUTION_TYPE_SEARCH.
3167
+ # Corresponds to the JSON property `redirectControlIds`
3168
+ # @return [Array<String>]
3169
+ attr_accessor :redirect_control_ids
3170
+
3171
+ # Condition replacement specifications. Applied according to the order in the
3172
+ # list. A previously replaced term can not be re-replaced. Maximum number of
3173
+ # specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.
3174
+ # Corresponds to the JSON property `replacementControlIds`
3175
+ # @return [Array<String>]
3176
+ attr_accessor :replacement_control_ids
3177
+
3178
+ # Required. Immutable. Specifies the solution type that a serving config can be
3179
+ # associated with.
3180
+ # Corresponds to the JSON property `solutionType`
3181
+ # @return [String]
3182
+ attr_accessor :solution_type
3183
+
3184
+ # Condition synonyms specifications. If multiple synonyms conditions match, all
3185
+ # matching synonyms controls in the list will execute. Maximum number of
3186
+ # specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.
3187
+ # Corresponds to the JSON property `synonymsControlIds`
3188
+ # @return [Array<String>]
3189
+ attr_accessor :synonyms_control_ids
3190
+
3191
+ # Output only. ServingConfig updated timestamp.
3192
+ # Corresponds to the JSON property `updateTime`
3193
+ # @return [String]
3194
+ attr_accessor :update_time
3195
+
3196
+ def initialize(**args)
3197
+ update!(**args)
3198
+ end
3199
+
3200
+ # Update properties of this object
3201
+ def update!(**args)
3202
+ @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
3203
+ @create_time = args[:create_time] if args.key?(:create_time)
3204
+ @display_name = args[:display_name] if args.key?(:display_name)
3205
+ @dissociate_control_ids = args[:dissociate_control_ids] if args.key?(:dissociate_control_ids)
3206
+ @diversity_level = args[:diversity_level] if args.key?(:diversity_level)
3207
+ @filter_control_ids = args[:filter_control_ids] if args.key?(:filter_control_ids)
3208
+ @generic_config = args[:generic_config] if args.key?(:generic_config)
3209
+ @ignore_control_ids = args[:ignore_control_ids] if args.key?(:ignore_control_ids)
3210
+ @media_config = args[:media_config] if args.key?(:media_config)
3211
+ @model_id = args[:model_id] if args.key?(:model_id)
3212
+ @name = args[:name] if args.key?(:name)
3213
+ @oneway_synonyms_control_ids = args[:oneway_synonyms_control_ids] if args.key?(:oneway_synonyms_control_ids)
3214
+ @promote_control_ids = args[:promote_control_ids] if args.key?(:promote_control_ids)
3215
+ @ranking_expression = args[:ranking_expression] if args.key?(:ranking_expression)
3216
+ @redirect_control_ids = args[:redirect_control_ids] if args.key?(:redirect_control_ids)
3217
+ @replacement_control_ids = args[:replacement_control_ids] if args.key?(:replacement_control_ids)
3218
+ @solution_type = args[:solution_type] if args.key?(:solution_type)
3219
+ @synonyms_control_ids = args[:synonyms_control_ids] if args.key?(:synonyms_control_ids)
3220
+ @update_time = args[:update_time] if args.key?(:update_time)
3221
+ end
3222
+ end
3223
+
3224
+ # Specifies the configurations needed for Generic Discovery.Currently we support:
3225
+ # * `content_search_spec`: configuration for generic content search.
3226
+ class GoogleCloudDiscoveryengineV1ServingConfigGenericConfig
3227
+ include Google::Apis::Core::Hashable
3228
+
3229
+ # A specification for configuring the behavior of content search.
3230
+ # Corresponds to the JSON property `contentSearchSpec`
3231
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec]
3232
+ attr_accessor :content_search_spec
3233
+
3234
+ def initialize(**args)
3235
+ update!(**args)
3236
+ end
3237
+
3238
+ # Update properties of this object
3239
+ def update!(**args)
3240
+ @content_search_spec = args[:content_search_spec] if args.key?(:content_search_spec)
3241
+ end
3242
+ end
3243
+
3244
+ # Specifies the configurations needed for Media Discovery. Currently we support:
3245
+ # * `demote_content_watched`: Threshold for watched content demotion. Customers
3246
+ # can specify if using watched content demotion or use viewed detail page. Using
3247
+ # the content watched demotion, customers need to specify the watched minutes or
3248
+ # percentage exceeds the threshold, the content will be demoted in the
3249
+ # recommendation result. * `promote_fresh_content`: cutoff days for fresh
3250
+ # content promotion. Customers can specify if using content freshness promotion.
3251
+ # If the content was published within the cutoff days, the content will be
3252
+ # promoted in the recommendation result. Can only be set if SolutionType is
3253
+ # SOLUTION_TYPE_RECOMMENDATION.
3254
+ class GoogleCloudDiscoveryengineV1ServingConfigMediaConfig
3255
+ include Google::Apis::Core::Hashable
3256
+
3257
+ # Specifies the content freshness used for recommendation result. Contents will
3258
+ # be demoted if contents were published for more than content freshness cutoff
3259
+ # days.
3260
+ # Corresponds to the JSON property `contentFreshnessCutoffDays`
3261
+ # @return [Fixnum]
3262
+ attr_accessor :content_freshness_cutoff_days
3263
+
3264
+ # Specifies the content watched percentage threshold for demotion. Threshold
3265
+ # value must be between [0, 1.0] inclusive.
3266
+ # Corresponds to the JSON property `contentWatchedPercentageThreshold`
3267
+ # @return [Float]
3268
+ attr_accessor :content_watched_percentage_threshold
3269
+
3270
+ # Specifies the content watched minutes threshold for demotion.
3271
+ # Corresponds to the JSON property `contentWatchedSecondsThreshold`
3272
+ # @return [Float]
3273
+ attr_accessor :content_watched_seconds_threshold
3274
+
3275
+ # Optional. Specifies the number of days to look back for demoting watched
3276
+ # content. If set to zero or unset, defaults to the maximum of 365 days.
3277
+ # Corresponds to the JSON property `demoteContentWatchedPastDays`
3278
+ # @return [Fixnum]
3279
+ attr_accessor :demote_content_watched_past_days
3280
+
3281
+ # Specifies the event type used for demoting recommendation result. Currently
3282
+ # supported values: * `view-item`: Item viewed. * `media-play`: Start/resume
3283
+ # watching a video, playing a song, etc. * `media-complete`: Finished or stopped
3284
+ # midway through a video, song, etc. If unset, watch history demotion will not
3285
+ # be applied. Content freshness demotion will still be applied.
3286
+ # Corresponds to the JSON property `demotionEventType`
3287
+ # @return [String]
3288
+ attr_accessor :demotion_event_type
3289
+
3290
+ def initialize(**args)
3291
+ update!(**args)
3292
+ end
3293
+
3294
+ # Update properties of this object
3295
+ def update!(**args)
3296
+ @content_freshness_cutoff_days = args[:content_freshness_cutoff_days] if args.key?(:content_freshness_cutoff_days)
3297
+ @content_watched_percentage_threshold = args[:content_watched_percentage_threshold] if args.key?(:content_watched_percentage_threshold)
3298
+ @content_watched_seconds_threshold = args[:content_watched_seconds_threshold] if args.key?(:content_watched_seconds_threshold)
3299
+ @demote_content_watched_past_days = args[:demote_content_watched_past_days] if args.key?(:demote_content_watched_past_days)
3300
+ @demotion_event_type = args[:demotion_event_type] if args.key?(:demotion_event_type)
3301
+ end
3302
+ end
3303
+
2700
3304
  # Verification information for target sites in advanced site search.
2701
3305
  class GoogleCloudDiscoveryengineV1SiteVerificationInfo
2702
3306
  include Google::Apis::Core::Hashable
@@ -3128,6 +3732,17 @@ module Google
3128
3732
  # @return [String]
3129
3733
  attr_accessor :create_time
3130
3734
 
3735
+ # A score in the range of [0, 1] describing how grounded the answer is by the
3736
+ # reference chunks.
3737
+ # Corresponds to the JSON property `groundingScore`
3738
+ # @return [Float]
3739
+ attr_accessor :grounding_score
3740
+
3741
+ # Optional. Grounding supports.
3742
+ # Corresponds to the JSON property `groundingSupports`
3743
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport>]
3744
+ attr_accessor :grounding_supports
3745
+
3131
3746
  # Immutable. Fully qualified name `projects/`project`/locations/global/
3132
3747
  # collections/`collection`/engines/`engine`/sessions/*/answers/*`
3133
3748
  # Corresponds to the JSON property `name`
@@ -3170,6 +3785,8 @@ module Google
3170
3785
  @citations = args[:citations] if args.key?(:citations)
3171
3786
  @complete_time = args[:complete_time] if args.key?(:complete_time)
3172
3787
  @create_time = args[:create_time] if args.key?(:create_time)
3788
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
3789
+ @grounding_supports = args[:grounding_supports] if args.key?(:grounding_supports)
3173
3790
  @name = args[:name] if args.key?(:name)
3174
3791
  @query_understanding_info = args[:query_understanding_info] if args.key?(:query_understanding_info)
3175
3792
  @references = args[:references] if args.key?(:references)
@@ -3229,6 +3846,56 @@ module Google
3229
3846
  end
3230
3847
  end
3231
3848
 
3849
+ # Grounding support for a claim in `answer_text`.
3850
+ class GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport
3851
+ include Google::Apis::Core::Hashable
3852
+
3853
+ # Required. End of the claim, exclusive.
3854
+ # Corresponds to the JSON property `endIndex`
3855
+ # @return [Fixnum]
3856
+ attr_accessor :end_index
3857
+
3858
+ # Indicates that this claim required grounding check. When the system decided
3859
+ # this claim didn't require attribution/grounding check, this field is set to
3860
+ # false. In that case, no grounding check was done for the claim and therefore `
3861
+ # grounding_score`, `sources` is not returned.
3862
+ # Corresponds to the JSON property `groundingCheckRequired`
3863
+ # @return [Boolean]
3864
+ attr_accessor :grounding_check_required
3865
+ alias_method :grounding_check_required?, :grounding_check_required
3866
+
3867
+ # A score in the range of [0, 1] describing how grounded is a specific claim by
3868
+ # the references. Higher value means that the claim is better supported by the
3869
+ # reference chunks.
3870
+ # Corresponds to the JSON property `groundingScore`
3871
+ # @return [Float]
3872
+ attr_accessor :grounding_score
3873
+
3874
+ # Optional. Citation sources for the claim.
3875
+ # Corresponds to the JSON property `sources`
3876
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaAnswerCitationSource>]
3877
+ attr_accessor :sources
3878
+
3879
+ # Required. Index indicates the start of the claim, measured in bytes (UTF-8
3880
+ # unicode).
3881
+ # Corresponds to the JSON property `startIndex`
3882
+ # @return [Fixnum]
3883
+ attr_accessor :start_index
3884
+
3885
+ def initialize(**args)
3886
+ update!(**args)
3887
+ end
3888
+
3889
+ # Update properties of this object
3890
+ def update!(**args)
3891
+ @end_index = args[:end_index] if args.key?(:end_index)
3892
+ @grounding_check_required = args[:grounding_check_required] if args.key?(:grounding_check_required)
3893
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
3894
+ @sources = args[:sources] if args.key?(:sources)
3895
+ @start_index = args[:start_index] if args.key?(:start_index)
3896
+ end
3897
+ end
3898
+
3232
3899
  # Query understanding information.
3233
3900
  class GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo
3234
3901
  include Google::Apis::Core::Hashable
@@ -4704,6 +5371,27 @@ module Google
4704
5371
  end
4705
5372
  end
4706
5373
 
5374
+ # Request for DeleteSession method.
5375
+ class GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest
5376
+ include Google::Apis::Core::Hashable
5377
+
5378
+ # Required. The resource name of the Session to delete. Format: `projects/`
5379
+ # project`/locations/`location`/collections/`collection`/dataStores/`
5380
+ # data_store_id`/sessions/`session_id``
5381
+ # Corresponds to the JSON property `name`
5382
+ # @return [String]
5383
+ attr_accessor :name
5384
+
5385
+ def initialize(**args)
5386
+ update!(**args)
5387
+ end
5388
+
5389
+ # Update properties of this object
5390
+ def update!(**args)
5391
+ @name = args[:name] if args.key?(:name)
5392
+ end
5393
+ end
5394
+
4707
5395
  # Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap
4708
5396
  # operation. This will be returned by the google.longrunning.Operation.metadata
4709
5397
  # field.
@@ -5772,6 +6460,35 @@ module Google
5772
6460
  end
5773
6461
  end
5774
6462
 
6463
+ # Request for GetSession method.
6464
+ class GoogleCloudDiscoveryengineV1alphaGetSessionRequest
6465
+ include Google::Apis::Core::Hashable
6466
+
6467
+ # Optional. If set to true, the full session including all answer details will
6468
+ # be returned.
6469
+ # Corresponds to the JSON property `includeAnswerDetails`
6470
+ # @return [Boolean]
6471
+ attr_accessor :include_answer_details
6472
+ alias_method :include_answer_details?, :include_answer_details
6473
+
6474
+ # Required. The resource name of the Session to get. Format: `projects/`project`/
6475
+ # locations/`location`/collections/`collection`/dataStores/`data_store_id`/
6476
+ # sessions/`session_id``
6477
+ # Corresponds to the JSON property `name`
6478
+ # @return [String]
6479
+ attr_accessor :name
6480
+
6481
+ def initialize(**args)
6482
+ update!(**args)
6483
+ end
6484
+
6485
+ # Update properties of this object
6486
+ def update!(**args)
6487
+ @include_answer_details = args[:include_answer_details] if args.key?(:include_answer_details)
6488
+ @name = args[:name] if args.key?(:name)
6489
+ end
6490
+ end
6491
+
5775
6492
  # Response message for SiteSearchEngineService.GetUriPatternDocumentData method.
5776
6493
  class GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse
5777
6494
  include Google::Apis::Core::Hashable
@@ -6302,6 +7019,82 @@ module Google
6302
7019
  end
6303
7020
  end
6304
7021
 
7022
+ # Request for ListSessions method.
7023
+ class GoogleCloudDiscoveryengineV1alphaListSessionsRequest
7024
+ include Google::Apis::Core::Hashable
7025
+
7026
+ # A filter to apply on the list results. The supported features are:
7027
+ # user_pseudo_id, state. Example: "user_pseudo_id = some_id"
7028
+ # Corresponds to the JSON property `filter`
7029
+ # @return [String]
7030
+ attr_accessor :filter
7031
+
7032
+ # A comma-separated list of fields to order by, sorted in ascending order. Use "
7033
+ # desc" after a field name for descending. Supported fields: * `update_time` * `
7034
+ # create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "
7035
+ # create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned
7036
+ # first, then by update_time.
7037
+ # Corresponds to the JSON property `orderBy`
7038
+ # @return [String]
7039
+ attr_accessor :order_by
7040
+
7041
+ # Maximum number of results to return. If unspecified, defaults to 50. Max
7042
+ # allowed value is 1000.
7043
+ # Corresponds to the JSON property `pageSize`
7044
+ # @return [Fixnum]
7045
+ attr_accessor :page_size
7046
+
7047
+ # A page token, received from a previous `ListSessions` call. Provide this to
7048
+ # retrieve the subsequent page.
7049
+ # Corresponds to the JSON property `pageToken`
7050
+ # @return [String]
7051
+ attr_accessor :page_token
7052
+
7053
+ # Required. The data store resource name. Format: `projects/`project`/locations/`
7054
+ # location`/collections/`collection`/dataStores/`data_store_id``
7055
+ # Corresponds to the JSON property `parent`
7056
+ # @return [String]
7057
+ attr_accessor :parent
7058
+
7059
+ def initialize(**args)
7060
+ update!(**args)
7061
+ end
7062
+
7063
+ # Update properties of this object
7064
+ def update!(**args)
7065
+ @filter = args[:filter] if args.key?(:filter)
7066
+ @order_by = args[:order_by] if args.key?(:order_by)
7067
+ @page_size = args[:page_size] if args.key?(:page_size)
7068
+ @page_token = args[:page_token] if args.key?(:page_token)
7069
+ @parent = args[:parent] if args.key?(:parent)
7070
+ end
7071
+ end
7072
+
7073
+ # Response for ListSessions method.
7074
+ class GoogleCloudDiscoveryengineV1alphaListSessionsResponse
7075
+ include Google::Apis::Core::Hashable
7076
+
7077
+ # Pagination token, if not returned indicates the last page.
7078
+ # Corresponds to the JSON property `nextPageToken`
7079
+ # @return [String]
7080
+ attr_accessor :next_page_token
7081
+
7082
+ # All the Sessions for a given data store.
7083
+ # Corresponds to the JSON property `sessions`
7084
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSession>]
7085
+ attr_accessor :sessions
7086
+
7087
+ def initialize(**args)
7088
+ update!(**args)
7089
+ end
7090
+
7091
+ # Update properties of this object
7092
+ def update!(**args)
7093
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7094
+ @sessions = args[:sessions] if args.key?(:sessions)
7095
+ end
7096
+ end
7097
+
6305
7098
  # Configuration for Natural Language Query Understanding.
6306
7099
  class GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig
6307
7100
  include Google::Apis::Core::Hashable
@@ -7904,6 +8697,11 @@ module Google
7904
8697
  class GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec
7905
8698
  include Google::Apis::Core::Hashable
7906
8699
 
8700
+ # Boost specification to boost certain documents.
8701
+ # Corresponds to the JSON property `boostSpec`
8702
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec]
8703
+ attr_accessor :boost_spec
8704
+
7907
8705
  # Required. Full resource name of DataStore, such as `projects/`project`/
7908
8706
  # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
7909
8707
  # Corresponds to the JSON property `dataStore`
@@ -7923,6 +8721,7 @@ module Google
7923
8721
 
7924
8722
  # Update properties of this object
7925
8723
  def update!(**args)
8724
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
7926
8725
  @data_store = args[:data_store] if args.key?(:data_store)
7927
8726
  @filter = args[:filter] if args.key?(:filter)
7928
8727
  end
@@ -8305,11 +9104,25 @@ module Google
8305
9104
  class GoogleCloudDiscoveryengineV1alphaSession
8306
9105
  include Google::Apis::Core::Hashable
8307
9106
 
9107
+ # Optional. The display name of the session. This field is used to identify the
9108
+ # session in the UI. By default, the display name is the first turn query text
9109
+ # in the session.
9110
+ # Corresponds to the JSON property `displayName`
9111
+ # @return [String]
9112
+ attr_accessor :display_name
9113
+
8308
9114
  # Output only. The time the session finished.
8309
9115
  # Corresponds to the JSON property `endTime`
8310
9116
  # @return [String]
8311
9117
  attr_accessor :end_time
8312
9118
 
9119
+ # Optional. Whether the session is pinned, pinned session will be displayed on
9120
+ # the top of the session list.
9121
+ # Corresponds to the JSON property `isPinned`
9122
+ # @return [Boolean]
9123
+ attr_accessor :is_pinned
9124
+ alias_method :is_pinned?, :is_pinned
9125
+
8313
9126
  # Immutable. Fully qualified name `projects/`project`/locations/global/
8314
9127
  # collections/`collection`/engines/`engine`/sessions/*`
8315
9128
  # Corresponds to the JSON property `name`
@@ -8342,7 +9155,9 @@ module Google
8342
9155
 
8343
9156
  # Update properties of this object
8344
9157
  def update!(**args)
9158
+ @display_name = args[:display_name] if args.key?(:display_name)
8345
9159
  @end_time = args[:end_time] if args.key?(:end_time)
9160
+ @is_pinned = args[:is_pinned] if args.key?(:is_pinned)
8346
9161
  @name = args[:name] if args.key?(:name)
8347
9162
  @start_time = args[:start_time] if args.key?(:start_time)
8348
9163
  @state = args[:state] if args.key?(:state)
@@ -8769,6 +9584,33 @@ module Google
8769
9584
  end
8770
9585
  end
8771
9586
 
9587
+ # Request for UpdateSession method.
9588
+ class GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest
9589
+ include Google::Apis::Core::Hashable
9590
+
9591
+ # External session proto definition.
9592
+ # Corresponds to the JSON property `session`
9593
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1alphaSession]
9594
+ attr_accessor :session
9595
+
9596
+ # Indicates which fields in the provided Session to update. The following are
9597
+ # NOT supported: * Session.name If not set or empty, all supported fields are
9598
+ # updated.
9599
+ # Corresponds to the JSON property `updateMask`
9600
+ # @return [String]
9601
+ attr_accessor :update_mask
9602
+
9603
+ def initialize(**args)
9604
+ update!(**args)
9605
+ end
9606
+
9607
+ # Update properties of this object
9608
+ def update!(**args)
9609
+ @session = args[:session] if args.key?(:session)
9610
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
9611
+ end
9612
+ end
9613
+
8772
9614
  # Metadata related to the progress of the SiteSearchEngineService.
8773
9615
  # UpdateTargetSite operation. This will be returned by the google.longrunning.
8774
9616
  # Operation.metadata field.
@@ -9292,6 +10134,17 @@ module Google
9292
10134
  # @return [String]
9293
10135
  attr_accessor :create_time
9294
10136
 
10137
+ # A score in the range of [0, 1] describing how grounded the answer is by the
10138
+ # reference chunks.
10139
+ # Corresponds to the JSON property `groundingScore`
10140
+ # @return [Float]
10141
+ attr_accessor :grounding_score
10142
+
10143
+ # Optional. Grounding supports.
10144
+ # Corresponds to the JSON property `groundingSupports`
10145
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport>]
10146
+ attr_accessor :grounding_supports
10147
+
9295
10148
  # Immutable. Fully qualified name `projects/`project`/locations/global/
9296
10149
  # collections/`collection`/engines/`engine`/sessions/*/answers/*`
9297
10150
  # Corresponds to the JSON property `name`
@@ -9334,6 +10187,8 @@ module Google
9334
10187
  @citations = args[:citations] if args.key?(:citations)
9335
10188
  @complete_time = args[:complete_time] if args.key?(:complete_time)
9336
10189
  @create_time = args[:create_time] if args.key?(:create_time)
10190
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
10191
+ @grounding_supports = args[:grounding_supports] if args.key?(:grounding_supports)
9337
10192
  @name = args[:name] if args.key?(:name)
9338
10193
  @query_understanding_info = args[:query_understanding_info] if args.key?(:query_understanding_info)
9339
10194
  @references = args[:references] if args.key?(:references)
@@ -9393,6 +10248,56 @@ module Google
9393
10248
  end
9394
10249
  end
9395
10250
 
10251
+ # Grounding support for a claim in `answer_text`.
10252
+ class GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport
10253
+ include Google::Apis::Core::Hashable
10254
+
10255
+ # Required. End of the claim, exclusive.
10256
+ # Corresponds to the JSON property `endIndex`
10257
+ # @return [Fixnum]
10258
+ attr_accessor :end_index
10259
+
10260
+ # Indicates that this claim required grounding check. When the system decided
10261
+ # this claim didn't require attribution/grounding check, this field is set to
10262
+ # false. In that case, no grounding check was done for the claim and therefore `
10263
+ # grounding_score`, `sources` is not returned.
10264
+ # Corresponds to the JSON property `groundingCheckRequired`
10265
+ # @return [Boolean]
10266
+ attr_accessor :grounding_check_required
10267
+ alias_method :grounding_check_required?, :grounding_check_required
10268
+
10269
+ # A score in the range of [0, 1] describing how grounded is a specific claim by
10270
+ # the references. Higher value means that the claim is better supported by the
10271
+ # reference chunks.
10272
+ # Corresponds to the JSON property `groundingScore`
10273
+ # @return [Float]
10274
+ attr_accessor :grounding_score
10275
+
10276
+ # Optional. Citation sources for the claim.
10277
+ # Corresponds to the JSON property `sources`
10278
+ # @return [Array<Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerCitationSource>]
10279
+ attr_accessor :sources
10280
+
10281
+ # Required. Index indicates the start of the claim, measured in bytes (UTF-8
10282
+ # unicode).
10283
+ # Corresponds to the JSON property `startIndex`
10284
+ # @return [Fixnum]
10285
+ attr_accessor :start_index
10286
+
10287
+ def initialize(**args)
10288
+ update!(**args)
10289
+ end
10290
+
10291
+ # Update properties of this object
10292
+ def update!(**args)
10293
+ @end_index = args[:end_index] if args.key?(:end_index)
10294
+ @grounding_check_required = args[:grounding_check_required] if args.key?(:grounding_check_required)
10295
+ @grounding_score = args[:grounding_score] if args.key?(:grounding_score)
10296
+ @sources = args[:sources] if args.key?(:sources)
10297
+ @start_index = args[:start_index] if args.key?(:start_index)
10298
+ end
10299
+ end
10300
+
9396
10301
  # Request message for ConversationalSearchService.AnswerQuery method.
9397
10302
  class GoogleCloudDiscoveryengineV1betaAnswerQueryRequest
9398
10303
  include Google::Apis::Core::Hashable
@@ -9433,7 +10338,10 @@ module Google
9433
10338
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerQueryRequestRelatedQuestionsSpec]
9434
10339
  attr_accessor :related_questions_spec
9435
10340
 
9436
- # Safety specification.
10341
+ # Safety specification. There are two use cases: 1. when only safety_spec.enable
10342
+ # is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories.
10343
+ # 2. when safety_spec.enable is set and some safety_settings are set, only
10344
+ # specified safety_settings are applied.
9437
10345
  # Corresponds to the JSON property `safetySpec`
9438
10346
  # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec]
9439
10347
  attr_accessor :safety_spec
@@ -9714,6 +10622,11 @@ module Google
9714
10622
  # @return [Fixnum]
9715
10623
  attr_accessor :max_rephrase_steps
9716
10624
 
10625
+ # Query Rephraser Model specification.
10626
+ # Corresponds to the JSON property `modelSpec`
10627
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec]
10628
+ attr_accessor :model_spec
10629
+
9717
10630
  def initialize(**args)
9718
10631
  update!(**args)
9719
10632
  end
@@ -9722,6 +10635,27 @@ module Google
9722
10635
  def update!(**args)
9723
10636
  @disable = args[:disable] if args.key?(:disable)
9724
10637
  @max_rephrase_steps = args[:max_rephrase_steps] if args.key?(:max_rephrase_steps)
10638
+ @model_spec = args[:model_spec] if args.key?(:model_spec)
10639
+ end
10640
+ end
10641
+
10642
+ # Query Rephraser Model specification.
10643
+ class GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec
10644
+ include Google::Apis::Core::Hashable
10645
+
10646
+ # Optional. Enabled query rephraser model type. If not set, it will use LARGE by
10647
+ # default.
10648
+ # Corresponds to the JSON property `modelType`
10649
+ # @return [String]
10650
+ attr_accessor :model_type
10651
+
10652
+ def initialize(**args)
10653
+ update!(**args)
10654
+ end
10655
+
10656
+ # Update properties of this object
10657
+ def update!(**args)
10658
+ @model_type = args[:model_type] if args.key?(:model_type)
9725
10659
  end
9726
10660
  end
9727
10661
 
@@ -9745,7 +10679,10 @@ module Google
9745
10679
  end
9746
10680
  end
9747
10681
 
9748
- # Safety specification.
10682
+ # Safety specification. There are two use cases: 1. when only safety_spec.enable
10683
+ # is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories.
10684
+ # 2. when safety_spec.enable is set and some safety_settings are set, only
10685
+ # specified safety_settings are applied.
9749
10686
  class GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec
9750
10687
  include Google::Apis::Core::Hashable
9751
10688
 
@@ -13802,6 +14739,17 @@ module Google
13802
14739
  # @return [Array<String>]
13803
14740
  attr_accessor :resource_types
13804
14741
 
14742
+ # Optional. Whether to update the DataStore schema to the latest predefined
14743
+ # schema. If true, the DataStore schema will be updated to include any FHIR
14744
+ # fields or resource types that have been added since the last import and
14745
+ # corresponding FHIR resources will be imported from the FHIR store. Note this
14746
+ # field cannot be used in conjunction with `resource_types`. It should be used
14747
+ # after initial import.
14748
+ # Corresponds to the JSON property `updateFromLatestPredefinedSchema`
14749
+ # @return [Boolean]
14750
+ attr_accessor :update_from_latest_predefined_schema
14751
+ alias_method :update_from_latest_predefined_schema?, :update_from_latest_predefined_schema
14752
+
13805
14753
  def initialize(**args)
13806
14754
  update!(**args)
13807
14755
  end
@@ -13811,6 +14759,7 @@ module Google
13811
14759
  @fhir_store = args[:fhir_store] if args.key?(:fhir_store)
13812
14760
  @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
13813
14761
  @resource_types = args[:resource_types] if args.key?(:resource_types)
14762
+ @update_from_latest_predefined_schema = args[:update_from_latest_predefined_schema] if args.key?(:update_from_latest_predefined_schema)
13814
14763
  end
13815
14764
  end
13816
14765
 
@@ -17270,6 +18219,11 @@ module Google
17270
18219
  class GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec
17271
18220
  include Google::Apis::Core::Hashable
17272
18221
 
18222
+ # Boost specification to boost certain documents.
18223
+ # Corresponds to the JSON property `boostSpec`
18224
+ # @return [Google::Apis::DiscoveryengineV1beta::GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec]
18225
+ attr_accessor :boost_spec
18226
+
17273
18227
  # Required. Full resource name of DataStore, such as `projects/`project`/
17274
18228
  # locations/`location`/collections/`collection_id`/dataStores/`data_store_id``.
17275
18229
  # Corresponds to the JSON property `dataStore`
@@ -17289,6 +18243,7 @@ module Google
17289
18243
 
17290
18244
  # Update properties of this object
17291
18245
  def update!(**args)
18246
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
17292
18247
  @data_store = args[:data_store] if args.key?(:data_store)
17293
18248
  @filter = args[:filter] if args.key?(:filter)
17294
18249
  end
@@ -18815,11 +19770,25 @@ module Google
18815
19770
  class GoogleCloudDiscoveryengineV1betaSession
18816
19771
  include Google::Apis::Core::Hashable
18817
19772
 
19773
+ # Optional. The display name of the session. This field is used to identify the
19774
+ # session in the UI. By default, the display name is the first turn query text
19775
+ # in the session.
19776
+ # Corresponds to the JSON property `displayName`
19777
+ # @return [String]
19778
+ attr_accessor :display_name
19779
+
18818
19780
  # Output only. The time the session finished.
18819
19781
  # Corresponds to the JSON property `endTime`
18820
19782
  # @return [String]
18821
19783
  attr_accessor :end_time
18822
19784
 
19785
+ # Optional. Whether the session is pinned, pinned session will be displayed on
19786
+ # the top of the session list.
19787
+ # Corresponds to the JSON property `isPinned`
19788
+ # @return [Boolean]
19789
+ attr_accessor :is_pinned
19790
+ alias_method :is_pinned?, :is_pinned
19791
+
18823
19792
  # Immutable. Fully qualified name `projects/`project`/locations/global/
18824
19793
  # collections/`collection`/engines/`engine`/sessions/*`
18825
19794
  # Corresponds to the JSON property `name`
@@ -18852,7 +19821,9 @@ module Google
18852
19821
 
18853
19822
  # Update properties of this object
18854
19823
  def update!(**args)
19824
+ @display_name = args[:display_name] if args.key?(:display_name)
18855
19825
  @end_time = args[:end_time] if args.key?(:end_time)
19826
+ @is_pinned = args[:is_pinned] if args.key?(:is_pinned)
18856
19827
  @name = args[:name] if args.key?(:name)
18857
19828
  @start_time = args[:start_time] if args.key?(:start_time)
18858
19829
  @state = args[:state] if args.key?(:state)