Class: Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb

Overview

Request message for ConversationalSearchService.AnswerQuery method.

Defined Under Namespace

Classes: AnswerGenerationSpec, QueryUnderstandingSpec, RelatedQuestionsSpec, SafetySpec, SearchSpec

Instance Attribute Summary collapse

Instance Attribute Details

#answer_generation_spec::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec

Returns Answer generation specification.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#asynchronous_mode::Boolean

Returns Asynchronous mode control.

If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.

Returns:



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#query::Google::Cloud::DiscoveryEngine::V1beta::Query

Returns Required. Current user query.

Returns:



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#query_understanding_spec::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec

Returns Query understanding specification.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

Returns Related questions specification.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#safety_spec::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SafetySpec

Returns Model specification.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#search_spec::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec

Returns Search specification.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#serving_config::String

Returns Required. The resource name of the Search serving config, such as projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config, or projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config. This field is used to identify the serving configuration name, set of models used to make the search.

Returns:

  • (::String)

    Required. The resource name of the Search serving config, such as projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config, or projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config. This field is used to identify the serving configuration name, set of models used to make the search.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#session::String

Returns The session resource name. Not required.

When session field is not set, the API is in sessionless mode.

We support auto session mode: users can use the wildcard symbol “-” as session id. A new id will be automatically generated and assigned.

Returns:

  • (::String)

    The session resource name. Not required.

    When session field is not set, the API is in sessionless mode.

    We support auto session mode: users can use the wildcard symbol “-” as session id. A new id will be automatically generated and assigned.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#user_pseudo_id::String

Returns A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.

This field should NOT have a fixed value such as unknown_visitor.

The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.

Returns:

  • (::String)

    A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.

    This field should NOT have a fixed value such as unknown_visitor.

    The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
# File 'proto_docs/google/cloud/discoveryengine/v1beta/conversational_search_service.rb', line 289

class AnswerQueryRequest
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Safety specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable the safety filtering on the answer response. It is false by
  #     default.
  class SafetySpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Related questions specification.
  # @!attribute [rw] enable
  #   @return [::Boolean]
  #     Enable related questions feature if true.
  class RelatedQuestionsSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Answer generation specification.
  # @!attribute [rw] model_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::ModelSpec]
  #     Answer generation model specification.
  # @!attribute [rw] prompt_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::AnswerGenerationSpec::PromptSpec]
  #     Answer generation prompt specification.
  # @!attribute [rw] include_citations
  #   @return [::Boolean]
  #     Specifies whether to include citation metadata in the answer. The default
  #     value is `false`.
  # @!attribute [rw] answer_language_code
  #   @return [::String]
  #     Language code for Answer. Use language tags defined by
  #     [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
  #     Note: This is an experimental feature.
  # @!attribute [rw] ignore_adversarial_query
  #   @return [::Boolean]
  #     Specifies whether to filter out adversarial queries. The default value
  #     is `false`.
  #
  #     Google employs search-query classification to detect adversarial
  #     queries. No answer is returned if the search query is classified as an
  #     adversarial query. For example, a user might ask a question regarding
  #     negative comments about the company or submit a query designed to
  #     generate unsafe, policy-violating output. If this field is set to
  #     `true`, we skip generating answers for adversarial queries and return
  #     fallback messages instead.
  # @!attribute [rw] ignore_non_answer_seeking_query
  #   @return [::Boolean]
  #     Specifies whether to filter out queries that are not answer-seeking.
  #     The default value is `false`.
  #
  #     Google employs search-query classification to detect answer-seeking
  #     queries. No answer is returned if the search query is classified as a
  #     non-answer seeking query. If this field is set to `true`, we skip
  #     generating answers for non-answer seeking queries and return
  #     fallback messages instead.
  class AnswerGenerationSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Answer Generation Model specification.
    # @!attribute [rw] model_version
    #   @return [::String]
    #     Model version. If not set, it will use the default stable model.
    #     Allowed values are: stable, preview.
    class ModelSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Answer generation prompt specification.
    # @!attribute [rw] preamble
    #   @return [::String]
    #     Customized preamble.
    class PromptSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Search specification.
  # @!attribute [rw] search_params
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchParams]
  #     Search parameters.
  # @!attribute [rw] search_result_list
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList]
  #     Search result list.
  class SearchSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Search parameters.
    # @!attribute [rw] max_return_results
    #   @return [::Integer]
    #     Number of search results to return.
    #     The default value is 10.
    # @!attribute [rw] filter
    #   @return [::String]
    #     The filter syntax consists of an expression language for constructing
    #     a predicate from one or more fields of the documents being filtered.
    #     Filter expression is case-sensitive. This will be used to filter
    #     search results which may affect the Answer response.
    #
    #     If this field is unrecognizable, an  `INVALID_ARGUMENT`  is returned.
    #
    #     Filtering in Vertex AI Search is done by mapping the LHS filter key
    #     to a key property defined in the Vertex AI Search backend -- this
    #     mapping is defined by the customer in their schema. For example a
    #     media customers might have a field 'name' in their schema. In this
    #     case the filter would look like this: filter --> name:'ANY("king
    #     kong")'
    #
    #     For more information about filtering including syntax and filter
    #     operators, see
    #     [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
    # @!attribute [rw] boost_spec
    #   @return [::Google::Cloud::DiscoveryEngine::V1beta::SearchRequest::BoostSpec]
    #     Boost specification to boost certain documents in search results which
    #     may affect the answer query response. For more information on boosting,
    #     see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)
    # @!attribute [rw] order_by
    #   @return [::String]
    #     The order in which documents are returned. Documents can be ordered
    #     by a field in an
    #     {::Google::Cloud::DiscoveryEngine::V1beta::Document Document} object. Leave
    #     it unset if ordered by relevance. `order_by` expression is
    #     case-sensitive. For more information on ordering, see
    #     [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order)
    #
    #     If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.
    class SearchParams
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # Search result list.
    # @!attribute [rw] search_results
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult>]
    #     Search results.
    class SearchResultList
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Search result.
      # @!attribute [rw] unstructured_document_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo]
      #     Unstructured document information.
      # @!attribute [rw] chunk_info
      #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::ChunkInfo]
      #     Chunk information.
      class SearchResult
        include ::Google::Protobuf::MessageExts
        extend ::Google::Protobuf::MessageExts::ClassMethods

        # Unstructured document information.
        # @!attribute [rw] document
        #   @return [::String]
        #     Document resource name.
        # @!attribute [rw] uri
        #   @return [::String]
        #     URI for the document.
        # @!attribute [rw] title
        #   @return [::String]
        #     Title.
        # @!attribute [rw] document_contexts
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::DocumentContext>]
        #     List of document contexts.
        # @!attribute [rw] extractive_segments
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveSegment>]
        #     List of extractive segments.
        # @!attribute [rw] extractive_answers
        #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::SearchSpec::SearchResultList::SearchResult::UnstructuredDocumentInfo::ExtractiveAnswer>]
        #     List of extractive answers.
        class UnstructuredDocumentInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods

          # Document context.
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Document content.
          class DocumentContext
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive segment.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive segment content.
          class ExtractiveSegment
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end

          # Extractive answer.
          # [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)
          # @!attribute [rw] page_identifier
          #   @return [::String]
          #     Page identifier.
          # @!attribute [rw] content
          #   @return [::String]
          #     Extractive answer content.
          class ExtractiveAnswer
            include ::Google::Protobuf::MessageExts
            extend ::Google::Protobuf::MessageExts::ClassMethods
          end
        end

        # Chunk information.
        # @!attribute [rw] chunk
        #   @return [::String]
        #     Chunk resource name.
        # @!attribute [rw] content
        #   @return [::String]
        #     Chunk textual content.
        class ChunkInfo
          include ::Google::Protobuf::MessageExts
          extend ::Google::Protobuf::MessageExts::ClassMethods
        end
      end
    end
  end

  # Query understanding specification.
  # @!attribute [rw] query_classification_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec]
  #     Query classification specification.
  # @!attribute [rw] query_rephraser_spec
  #   @return [::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryRephraserSpec]
  #     Query rephraser specification.
  class QueryUnderstandingSpec
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Query classification specification.
    # @!attribute [rw] types
    #   @return [::Array<::Google::Cloud::DiscoveryEngine::V1beta::AnswerQueryRequest::QueryUnderstandingSpec::QueryClassificationSpec::Type>]
    #     Enabled query classification types.
    class QueryClassificationSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # Query classification types.
      module Type
        # Unspecified query classification type.
        TYPE_UNSPECIFIED = 0

        # Adversarial query classification type.
        ADVERSARIAL_QUERY = 1

        # Non-answer-seeking query classification type.
        NON_ANSWER_SEEKING_QUERY = 2
      end
    end

    # Query rephraser specification.
    # @!attribute [rw] disable
    #   @return [::Boolean]
    #     Disable query rephraser.
    # @!attribute [rw] max_rephrase_steps
    #   @return [::Integer]
    #     Max rephrase steps.
    #     The max number is 10 steps.
    #     If not set or set to < 1, it will be set to 1 by default.
    class QueryRephraserSpec
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end