google-cloud-discovery_engine-v1 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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