google-cloud-discovery_engine-v1 0.6.0 → 0.7.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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/client.rb +5 -1
  3. data/lib/google/cloud/discovery_engine/v1/conversational_search_service/rest/client.rb +5 -1
  4. data/lib/google/cloud/discovery_engine/v1/data_store_service/paths.rb +49 -0
  5. data/lib/google/cloud/discovery_engine/v1/document_service/client.rb +49 -21
  6. data/lib/google/cloud/discovery_engine/v1/document_service/paths.rb +21 -0
  7. data/lib/google/cloud/discovery_engine/v1/document_service/rest/client.rb +49 -21
  8. data/lib/google/cloud/discovery_engine/v1/recommendation_service/client.rb +553 -0
  9. data/lib/google/cloud/discovery_engine/v1/recommendation_service/credentials.rb +47 -0
  10. data/lib/google/cloud/discovery_engine/v1/recommendation_service/paths.rb +154 -0
  11. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest/client.rb +520 -0
  12. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest/service_stub.rb +145 -0
  13. data/lib/google/cloud/discovery_engine/v1/recommendation_service/rest.rb +52 -0
  14. data/lib/google/cloud/discovery_engine/v1/recommendation_service.rb +55 -0
  15. data/lib/google/cloud/discovery_engine/v1/rest.rb +1 -0
  16. data/lib/google/cloud/discovery_engine/v1/search_service/client.rb +12 -6
  17. data/lib/google/cloud/discovery_engine/v1/search_service/paths.rb +45 -0
  18. data/lib/google/cloud/discovery_engine/v1/search_service/rest/client.rb +12 -6
  19. data/lib/google/cloud/discovery_engine/v1/version.rb +1 -1
  20. data/lib/google/cloud/discovery_engine/v1.rb +1 -0
  21. data/lib/google/cloud/discoveryengine/v1/common_pb.rb +1 -1
  22. data/lib/google/cloud/discoveryengine/v1/conversational_search_service_pb.rb +1 -1
  23. data/lib/google/cloud/discoveryengine/v1/data_store_pb.rb +3 -1
  24. data/lib/google/cloud/discoveryengine/v1/document_pb.rb +3 -1
  25. data/lib/google/cloud/discoveryengine/v1/document_service_pb.rb +3 -1
  26. data/lib/google/cloud/discoveryengine/v1/import_config_pb.rb +13 -1
  27. data/lib/google/cloud/discoveryengine/v1/purge_config_pb.rb +1 -1
  28. data/lib/google/cloud/discoveryengine/v1/recommendation_service_pb.rb +55 -0
  29. data/lib/google/cloud/discoveryengine/v1/recommendation_service_services_pb.rb +45 -0
  30. data/lib/google/cloud/discoveryengine/v1/search_service_pb.rb +4 -1
  31. data/proto_docs/google/api/client.rb +4 -0
  32. data/proto_docs/google/cloud/discoveryengine/v1/common.rb +9 -1
  33. data/proto_docs/google/cloud/discoveryengine/v1/conversational_search_service.rb +5 -0
  34. data/proto_docs/google/cloud/discoveryengine/v1/data_store.rb +16 -0
  35. data/proto_docs/google/cloud/discoveryengine/v1/document.rb +7 -0
  36. data/proto_docs/google/cloud/discoveryengine/v1/document_service.rb +4 -0
  37. data/proto_docs/google/cloud/discoveryengine/v1/engine.rb +2 -2
  38. data/proto_docs/google/cloud/discoveryengine/v1/import_config.rb +311 -22
  39. data/proto_docs/google/cloud/discoveryengine/v1/purge_config.rb +3 -0
  40. data/proto_docs/google/cloud/discoveryengine/v1/recommendation_service.rb +228 -0
  41. data/proto_docs/google/cloud/discoveryengine/v1/search_service.rb +129 -21
  42. data/proto_docs/google/cloud/discoveryengine/v1/user_event.rb +16 -11
  43. metadata +12 -2
@@ -48,10 +48,14 @@ module Google
48
48
  # @!attribute [rw] page_size
49
49
  # @return [::Integer]
50
50
  # Maximum number of {::Google::Cloud::DiscoveryEngine::V1::Document Document}s to
51
- # return. If unspecified, defaults to a reasonable value. The maximum allowed
52
- # value is 100. Values above 100 are coerced to 100.
51
+ # return. The maximum allowed value depends on the data type. Values above
52
+ # the maximum value are coerced to the maximum value.
53
53
  #
54
- # If this field is negative, an `INVALID_ARGUMENT` is returned.
54
+ # * Websites with basic indexing: Default `10`, Maximum `25`.
55
+ # * Websites with advanced indexing: Default `25`, Maximum `50`.
56
+ # * Other: Default `50`, Maximum `100`.
57
+ #
58
+ # If this field is negative, an `INVALID_ARGUMENT` is returned.
55
59
  # @!attribute [rw] page_token
56
60
  # @return [::String]
57
61
  # A page token received from a previous
@@ -72,6 +76,9 @@ module Google
72
76
  # unset.
73
77
  #
74
78
  # If this field is negative, an `INVALID_ARGUMENT` is returned.
79
+ # @!attribute [rw] data_store_specs
80
+ # @return [::Array<::Google::Cloud::DiscoveryEngine::V1::SearchRequest::DataStoreSpec>]
81
+ # A list of data store specs to apply on a search call.
75
82
  # @!attribute [rw] filter
76
83
  # @return [::String]
77
84
  # The filter syntax consists of an expression language for constructing a
@@ -212,6 +219,17 @@ module Google
212
219
  extend ::Google::Protobuf::MessageExts::ClassMethods
213
220
  end
214
221
 
222
+ # A struct to define data stores to filter on in a search call.
223
+ # @!attribute [rw] data_store
224
+ # @return [::String]
225
+ # Required. Full resource name of
226
+ # {::Google::Cloud::DiscoveryEngine::V1::DataStore DataStore}, such as
227
+ # `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
228
+ class DataStoreSpec
229
+ include ::Google::Protobuf::MessageExts
230
+ extend ::Google::Protobuf::MessageExts::ClassMethods
231
+ end
232
+
215
233
  # A facet specification to perform faceted search.
216
234
  # @!attribute [rw] facet_key
217
235
  # @return [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::FacetSpec::FacetKey]
@@ -371,28 +389,29 @@ module Google
371
389
  # Examples:
372
390
  #
373
391
  # * To boost documents with document ID "doc_1" or "doc_2", and
374
- # color
375
- # "Red" or "Blue":
376
- # * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue"))
392
+ # color "Red" or "Blue":
393
+ # `(document_id: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))`
377
394
  # @!attribute [rw] boost
378
395
  # @return [::Float]
379
396
  # Strength of the condition boost, which should be in [-1, 1]. Negative
380
397
  # boost means demotion. Default is 0.0.
381
398
  #
382
- # Setting to 1.0 gives the document a big promotion. However, it does not
383
- # necessarily mean that the boosted document will be the top result at
384
- # all times, nor that other documents will be excluded. Results could
385
- # still be shown even when none of them matches the condition. And
386
- # results that are significantly more relevant to the search query can
387
- # still trump your heavily favored but irrelevant documents.
399
+ # Setting to 1.0 gives the document a big promotion. However, it does
400
+ # not necessarily mean that the boosted document will be the top result
401
+ # at all times, nor that other documents will be excluded. Results
402
+ # could still be shown even when none of them matches the condition.
403
+ # And results that are significantly more relevant to the search query
404
+ # can still trump your heavily favored but irrelevant documents.
388
405
  #
389
406
  # Setting to -1.0 gives the document a big demotion. However, results
390
407
  # that are deeply relevant might still be shown. The document will have
391
- # an upstream battle to get a fairly high ranking, but it is not blocked
392
- # out completely.
408
+ # an upstream battle to get a fairly high ranking, but it is not
409
+ # blocked out completely.
393
410
  #
394
411
  # Setting to 0.0 means no boost applied. The boosting condition is
395
- # ignored.
412
+ # ignored. Only one of the (condition, boost) combination or the
413
+ # boost_control_spec below are set. If both are set then the global boost
414
+ # is ignored and the more fine-grained boost_control_spec is applied.
396
415
  class ConditionBoostSpec
397
416
  include ::Google::Protobuf::MessageExts
398
417
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -469,6 +488,10 @@ module Google
469
488
  # @return [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ContentSearchSpec::SummarySpec]
470
489
  # If `summarySpec` is not specified, summaries are not included in the
471
490
  # search response.
491
+ # @!attribute [rw] extractive_content_spec
492
+ # @return [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ContentSearchSpec::ExtractiveContentSpec]
493
+ # If there is no extractive_content_spec provided, there will be no
494
+ # extractive answer in the search response.
472
495
  class ContentSearchSpec
473
496
  include ::Google::Protobuf::MessageExts
474
497
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -503,7 +526,10 @@ module Google
503
526
  # of results returned is less than `summaryResultCount`, the summary is
504
527
  # generated from all of the results.
505
528
  #
506
- # At most five results can be used to generate a summary.
529
+ # At most 10 results for documents mode, or 50 for chunks mode, can be
530
+ # used to generate a summary. The chunks mode is used when
531
+ # [SearchRequest.ContentSearchSpec.search_result_mode][] is set to
532
+ # [CHUNKS][SearchRequest.ContentSearchSpec.SearchResultMode.CHUNKS].
507
533
  # @!attribute [rw] include_citations
508
534
  # @return [::Boolean]
509
535
  # Specifies whether to include citations in the summary. The default
@@ -561,6 +587,14 @@ module Google
561
587
  # @return [::Google::Cloud::DiscoveryEngine::V1::SearchRequest::ContentSearchSpec::SummarySpec::ModelSpec]
562
588
  # If specified, the spec will be used to modify the model specification
563
589
  # provided to the LLM.
590
+ # @!attribute [rw] use_semantic_chunks
591
+ # @return [::Boolean]
592
+ # If true, answer will be generated from most relevant chunks from top
593
+ # search results. This feature will improve summary quality.
594
+ # Note that with this feature enabled, not all top search results
595
+ # will be referenced and included in the reference list, so the citation
596
+ # source index only points to the search results listed in the reference
597
+ # list.
564
598
  class SummarySpec
565
599
  include ::Google::Protobuf::MessageExts
566
600
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -583,16 +617,75 @@ module Google
583
617
  # Supported values are:
584
618
  #
585
619
  # * `stable`: string. Default value when no value is specified. Uses a
586
- # generally available, fine-tuned version of the text-bison@001
587
- # model.
588
- # * `preview`: string. (Public preview) Uses a fine-tuned version of
589
- # the text-bison@002 model. This model works only for summaries in
590
- # English.
620
+ # generally available, fine-tuned model. For more information, see
621
+ # [Answer generation model versions and
622
+ # lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).
623
+ # * `preview`: string. (Public preview) Uses a preview model. For more
624
+ # information, see
625
+ # [Answer generation model versions and
626
+ # lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).
591
627
  class ModelSpec
592
628
  include ::Google::Protobuf::MessageExts
593
629
  extend ::Google::Protobuf::MessageExts::ClassMethods
594
630
  end
595
631
  end
632
+
633
+ # A specification for configuring the extractive content in a search
634
+ # response.
635
+ # @!attribute [rw] max_extractive_answer_count
636
+ # @return [::Integer]
637
+ # The maximum number of extractive answers returned in each search
638
+ # result.
639
+ #
640
+ # An extractive answer is a verbatim answer extracted from the original
641
+ # document, which provides a precise and contextually relevant answer to
642
+ # the search query.
643
+ #
644
+ # If the number of matching answers is less than the
645
+ # `max_extractive_answer_count`, return all of the answers. Otherwise,
646
+ # return the `max_extractive_answer_count`.
647
+ #
648
+ # At most five answers are returned for each
649
+ # {::Google::Cloud::DiscoveryEngine::V1::SearchResponse::SearchResult SearchResult}.
650
+ # @!attribute [rw] max_extractive_segment_count
651
+ # @return [::Integer]
652
+ # The max number of extractive segments returned in each search result.
653
+ # Only applied if the
654
+ # {::Google::Cloud::DiscoveryEngine::V1::DataStore DataStore} is set to
655
+ # {::Google::Cloud::DiscoveryEngine::V1::DataStore::ContentConfig::CONTENT_REQUIRED DataStore.ContentConfig.CONTENT_REQUIRED}
656
+ # or
657
+ # {::Google::Cloud::DiscoveryEngine::V1::DataStore#solution_types DataStore.solution_types}
658
+ # is
659
+ # {::Google::Cloud::DiscoveryEngine::V1::SolutionType::SOLUTION_TYPE_CHAT SOLUTION_TYPE_CHAT}.
660
+ #
661
+ # An extractive segment is a text segment extracted from the original
662
+ # document that is relevant to the search query, and, in general, more
663
+ # verbose than an extractive answer. The segment could then be used as
664
+ # input for LLMs to generate summaries and answers.
665
+ #
666
+ # If the number of matching segments is less than
667
+ # `max_extractive_segment_count`, return all of the segments. Otherwise,
668
+ # return the `max_extractive_segment_count`.
669
+ # @!attribute [rw] return_extractive_segment_score
670
+ # @return [::Boolean]
671
+ # Specifies whether to return the confidence score from the extractive
672
+ # segments in each search result. This feature is available only for new
673
+ # or allowlisted data stores. To allowlist your data store,
674
+ # contact your Customer Engineer. The default value is `false`.
675
+ # @!attribute [rw] num_previous_segments
676
+ # @return [::Integer]
677
+ # Specifies whether to also include the adjacent from each selected
678
+ # segments.
679
+ # Return at most `num_previous_segments` segments before each selected
680
+ # segments.
681
+ # @!attribute [rw] num_next_segments
682
+ # @return [::Integer]
683
+ # Return at most `num_next_segments` segments after each selected
684
+ # segments.
685
+ class ExtractiveContentSpec
686
+ include ::Google::Protobuf::MessageExts
687
+ extend ::Google::Protobuf::MessageExts::ClassMethods
688
+ end
596
689
  end
597
690
 
598
691
  # @!attribute [rw] key
@@ -796,9 +889,24 @@ module Google
796
889
  # @!attribute [rw] uri
797
890
  # @return [::String]
798
891
  # Cloud Storage or HTTP uri for the document.
892
+ # @!attribute [rw] chunk_contents
893
+ # @return [::Array<::Google::Cloud::DiscoveryEngine::V1::SearchResponse::Summary::Reference::ChunkContent>]
894
+ # List of cited chunk contents derived from document content.
799
895
  class Reference
800
896
  include ::Google::Protobuf::MessageExts
801
897
  extend ::Google::Protobuf::MessageExts::ClassMethods
898
+
899
+ # Chunk content.
900
+ # @!attribute [rw] content
901
+ # @return [::String]
902
+ # Chunk textual content.
903
+ # @!attribute [rw] page_identifier
904
+ # @return [::String]
905
+ # Page identifier.
906
+ class ChunkContent
907
+ include ::Google::Protobuf::MessageExts
908
+ extend ::Google::Protobuf::MessageExts::ClassMethods
909
+ end
802
910
  end
803
911
 
804
912
  # Summary with metadata information.
@@ -105,22 +105,26 @@ module Google
105
105
  # Token to attribute an API response to user action(s) to trigger the event.
106
106
  #
107
107
  # Highly recommended for user events that are the result of
108
- # [RecommendationService.Recommend][]. This field enables accurate
109
- # attribution of recommendation model performance.
108
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendationService::Client#recommend RecommendationService.Recommend}.
109
+ # This field enables accurate attribution of recommendation model
110
+ # performance.
110
111
  #
111
112
  # The value must be one of:
112
113
  #
113
- # * [RecommendResponse.attribution_token][] for events that are the result of
114
- # [RecommendationService.Recommend][].
114
+ # * {::Google::Cloud::DiscoveryEngine::V1::RecommendResponse#attribution_token RecommendResponse.attribution_token} for events that are the result of
115
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendationService::Client#recommend RecommendationService.Recommend}.
115
116
  # * {::Google::Cloud::DiscoveryEngine::V1::SearchResponse#attribution_token SearchResponse.attribution_token} for events that are the result of
116
117
  # {::Google::Cloud::DiscoveryEngine::V1::SearchService::Client#search SearchService.Search}.
117
118
  #
118
119
  # This token enables us to accurately attribute page view or conversion
119
120
  # completion back to the event and the particular predict response containing
120
121
  # this clicked/purchased product. If user clicks on product K in the
121
- # recommendation results, pass [RecommendResponse.attribution_token][] as a
122
- # URL parameter to product K's page. When recording events on product K's
123
- # page, log the [RecommendResponse.attribution_token][] to this field.
122
+ # recommendation results, pass
123
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendResponse#attribution_token RecommendResponse.attribution_token}
124
+ # as a URL parameter to product K's page. When recording events on product
125
+ # K's page, log the
126
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendResponse#attribution_token RecommendResponse.attribution_token}
127
+ # to this field.
124
128
  # @!attribute [rw] filter
125
129
  # @return [::String]
126
130
  # The filter syntax consists of an expression language for constructing a
@@ -133,9 +137,10 @@ module Google
133
137
  # conforming to https://google.aip.dev/160#filtering.
134
138
  #
135
139
  # Similarly, for `view-item-list` events that are generated from a
136
- # [RecommendRequest][], this field may be populated directly from
137
- # [RecommendRequest.filter][] conforming to
138
- # https://google.aip.dev/160#filtering.
140
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendRequest RecommendRequest}, this
141
+ # field may be populated directly from
142
+ # {::Google::Cloud::DiscoveryEngine::V1::RecommendRequest#filter RecommendRequest.filter}
143
+ # conforming to https://google.aip.dev/160#filtering.
139
144
  #
140
145
  # The value must be a UTF-8 encoded string with a length limit of 1,000
141
146
  # characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
@@ -250,7 +255,7 @@ module Google
250
255
  # The most specific category associated with a category page.
251
256
  #
252
257
  # To represent full path of category, use '>' sign to separate different
253
- # hierarchies. If '>' is part of the category name, please replace it with
258
+ # hierarchies. If '>' is part of the category name, replace it with
254
259
  # other character(s).
255
260
  #
256
261
  # Category pages include special pages such as sales or promotions. For
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-discovery_engine-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-26 00:00:00.000000000 Z
11
+ date: 2024-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -121,6 +121,13 @@ files:
121
121
  - lib/google/cloud/discovery_engine/v1/engine_service/rest/client.rb
122
122
  - lib/google/cloud/discovery_engine/v1/engine_service/rest/operations.rb
123
123
  - lib/google/cloud/discovery_engine/v1/engine_service/rest/service_stub.rb
124
+ - lib/google/cloud/discovery_engine/v1/recommendation_service.rb
125
+ - lib/google/cloud/discovery_engine/v1/recommendation_service/client.rb
126
+ - lib/google/cloud/discovery_engine/v1/recommendation_service/credentials.rb
127
+ - lib/google/cloud/discovery_engine/v1/recommendation_service/paths.rb
128
+ - lib/google/cloud/discovery_engine/v1/recommendation_service/rest.rb
129
+ - lib/google/cloud/discovery_engine/v1/recommendation_service/rest/client.rb
130
+ - lib/google/cloud/discovery_engine/v1/recommendation_service/rest/service_stub.rb
124
131
  - lib/google/cloud/discovery_engine/v1/rest.rb
125
132
  - lib/google/cloud/discovery_engine/v1/schema_service.rb
126
133
  - lib/google/cloud/discovery_engine/v1/schema_service/client.rb
@@ -175,6 +182,8 @@ files:
175
182
  - lib/google/cloud/discoveryengine/v1/engine_service_services_pb.rb
176
183
  - lib/google/cloud/discoveryengine/v1/import_config_pb.rb
177
184
  - lib/google/cloud/discoveryengine/v1/purge_config_pb.rb
185
+ - lib/google/cloud/discoveryengine/v1/recommendation_service_pb.rb
186
+ - lib/google/cloud/discoveryengine/v1/recommendation_service_services_pb.rb
178
187
  - lib/google/cloud/discoveryengine/v1/schema_pb.rb
179
188
  - lib/google/cloud/discoveryengine/v1/schema_service_pb.rb
180
189
  - lib/google/cloud/discoveryengine/v1/schema_service_services_pb.rb
@@ -205,6 +214,7 @@ files:
205
214
  - proto_docs/google/cloud/discoveryengine/v1/engine_service.rb
206
215
  - proto_docs/google/cloud/discoveryengine/v1/import_config.rb
207
216
  - proto_docs/google/cloud/discoveryengine/v1/purge_config.rb
217
+ - proto_docs/google/cloud/discoveryengine/v1/recommendation_service.rb
208
218
  - proto_docs/google/cloud/discoveryengine/v1/schema.rb
209
219
  - proto_docs/google/cloud/discoveryengine/v1/schema_service.rb
210
220
  - proto_docs/google/cloud/discoveryengine/v1/search_service.rb