Class: Google::Cloud::AIPlatform::V1::GenerationConfig

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/aiplatform/v1/content.rb

Overview

Generation config.

Defined Under Namespace

Modules: MediaResolution, Modality Classes: RoutingConfig, ThinkingConfig

Instance Attribute Summary collapse

Instance Attribute Details

#audio_timestamp::Boolean

Returns Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.

Returns:

  • (::Boolean)

    Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#candidate_count::Integer

Returns Optional. Number of candidates to generate.

Returns:

  • (::Integer)

    Optional. Number of candidates to generate.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#frequency_penalty::Float

Returns Optional. Frequency penalties.

Returns:

  • (::Float)

    Optional. Frequency penalties.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#image_config::Google::Cloud::AIPlatform::V1::ImageConfig

Returns Optional. Config for image generation features.

Returns:



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#logprobs::Integer

Returns Optional. Logit probabilities.

Returns:

  • (::Integer)

    Optional. Logit probabilities.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#max_output_tokens::Integer

Returns Optional. The maximum number of output tokens to generate per message.

Returns:

  • (::Integer)

    Optional. The maximum number of output tokens to generate per message.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#media_resolution::Google::Cloud::AIPlatform::V1::GenerationConfig::MediaResolution

Returns Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.

Returns:

  • (::Google::Cloud::AIPlatform::V1::GenerationConfig::MediaResolution)

    Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#presence_penalty::Float

Returns Optional. Positive penalties.

Returns:

  • (::Float)

    Optional. Positive penalties.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#response_json_schema::Google::Protobuf::Value

Returns Optional. Output schema of the generated response. This is an alternative to response_schema that accepts JSON Schema.

If set, response_schema must be omitted, but response_mime_type is required.

While the full JSON Schema may be sent, not all features are supported. Specifically, only the following properties are supported:

  • $id
  • $defs
  • $ref
  • $anchor
  • type
  • format
  • title
  • description
  • enum (for strings and numbers)
  • items
  • prefixItems
  • minItems
  • maxItems
  • minimum
  • maximum
  • anyOf
  • oneOf (interpreted the same as anyOf)
  • properties
  • additionalProperties
  • required

The non-standard propertyOrdering property may also be set.

Cyclic references are unrolled to a limited degree and, as such, may only be used within non-required properties. (Nullable properties are not sufficient.) If $ref is set on a sub-schema, no other properties, except for than those starting as a $, may be set.

Returns:

  • (::Google::Protobuf::Value)

    Optional. Output schema of the generated response. This is an alternative to response_schema that accepts JSON Schema.

    If set, response_schema must be omitted, but response_mime_type is required.

    While the full JSON Schema may be sent, not all features are supported. Specifically, only the following properties are supported:

    • $id
    • $defs
    • $ref
    • $anchor
    • type
    • format
    • title
    • description
    • enum (for strings and numbers)
    • items
    • prefixItems
    • minItems
    • maxItems
    • minimum
    • maximum
    • anyOf
    • oneOf (interpreted the same as anyOf)
    • properties
    • additionalProperties
    • required

    The non-standard propertyOrdering property may also be set.

    Cyclic references are unrolled to a limited degree and, as such, may only be used within non-required properties. (Nullable properties are not sufficient.) If $ref is set on a sub-schema, no other properties, except for than those starting as a $, may be set.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#response_logprobs::Boolean

Returns Optional. If true, export the logprobs results in response.

Returns:

  • (::Boolean)

    Optional. If true, export the logprobs results in response.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#response_mime_type::String

Returns Optional. Output response mimetype of the generated candidate text. Supported mimetype:

  • text/plain: (default) Text output.
  • application/json: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.

Returns:

  • (::String)

    Optional. Output response mimetype of the generated candidate text. Supported mimetype:

    • text/plain: (default) Text output.
    • application/json: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.


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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#response_modalities::Array<::Google::Cloud::AIPlatform::V1::GenerationConfig::Modality>

Returns Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to [TEXT, IMAGE], the response will include both text and an image.

Returns:



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#response_schema::Google::Cloud::AIPlatform::V1::Schema

Returns Optional. The Schema object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an OpenAPI 3.0 schema object. If set, a compatible response_mime_type must also be set. Compatible mimetypes: application/json: Schema for JSON response.

Returns:

  • (::Google::Cloud::AIPlatform::V1::Schema)

    Optional. The Schema object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an OpenAPI 3.0 schema object. If set, a compatible response_mime_type must also be set. Compatible mimetypes: application/json: Schema for JSON response.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#routing_config::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig

Returns Optional. Routing configuration.

Returns:



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#seed::Integer

Returns Optional. Seed.

Returns:

  • (::Integer)

    Optional. Seed.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#speech_config::Google::Cloud::AIPlatform::V1::SpeechConfig

Returns Optional. The speech generation config.

Returns:



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#stop_sequences::Array<::String>

Returns Optional. Stop sequences.

Returns:

  • (::Array<::String>)

    Optional. Stop sequences.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#temperature::Float

Returns Optional. Controls the randomness of predictions.

Returns:

  • (::Float)

    Optional. Controls the randomness of predictions.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#thinking_config::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig

Returns Optional. Config for thinking features. An error will be returned if this field is set for models that don't support thinking.

Returns:



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#top_k::Float

Returns Optional. If specified, top-k sampling will be used.

Returns:

  • (::Float)

    Optional. If specified, top-k sampling will be used.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end

#top_p::Float

Returns Optional. If specified, nucleus sampling will be used.

Returns:

  • (::Float)

    Optional. If specified, nucleus sampling will be used.



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
# File 'proto_docs/google/cloud/aiplatform/v1/content.rb', line 441

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

  # The configuration for routing the request to a specific model.
  # @!attribute [rw] auto_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode]
  #     Automated routing.
  #
  #     Note: The following fields are mutually exclusive: `auto_mode`, `manual_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  # @!attribute [rw] manual_mode
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::ManualRoutingMode]
  #     Manual routing.
  #
  #     Note: The following fields are mutually exclusive: `manual_mode`, `auto_mode`. If a field in that set is populated, all other fields in the set will automatically be cleared.
  class RoutingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # When automated routing is specified, the routing will be determined by
    # the pretrained routing model and customer provided model routing
    # preference.
    # @!attribute [rw] model_routing_preference
    #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::RoutingConfig::AutoRoutingMode::ModelRoutingPreference]
    #     The model routing preference.
    class AutoRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The model routing preference.
      module ModelRoutingPreference
        # Unspecified model routing preference.
        UNKNOWN = 0

        # Prefer higher quality over low cost.
        PRIORITIZE_QUALITY = 1

        # Balanced model routing preference.
        BALANCED = 2

        # Prefer lower cost over higher quality.
        PRIORITIZE_COST = 3
      end
    end

    # When manual routing is set, the specified model will be used directly.
    # @!attribute [rw] model_name
    #   @return [::String]
    #     The model name to use. Only the public LLM models are accepted. e.g.
    #     'gemini-1.5-pro-001'.
    class ManualRoutingMode
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Config for thinking features.
  # @!attribute [rw] include_thoughts
  #   @return [::Boolean]
  #     Indicates whether to include thoughts in the response.
  #     If true, thoughts are returned only when available.
  # @!attribute [rw] thinking_budget
  #   @return [::Integer]
  #     Optional. Indicates the thinking budget in tokens.
  #     This is only applied when enable_thinking is true.
  # @!attribute [rw] thinking_level
  #   @return [::Google::Cloud::AIPlatform::V1::GenerationConfig::ThinkingConfig::ThinkingLevel]
  #     Optional. The number of thoughts tokens that the model should generate.
  class ThinkingConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # The thinking level for the model.
    module ThinkingLevel
      # Unspecified thinking level.
      THINKING_LEVEL_UNSPECIFIED = 0

      # Low thinking level.
      LOW = 1

      # Medium thinking level.
      MEDIUM = 2

      # High thinking level.
      HIGH = 3

      # MINIMAL thinking level.
      MINIMAL = 4
    end
  end

  # The modalities of the response.
  module Modality
    # Unspecified modality. Will be processed as text.
    MODALITY_UNSPECIFIED = 0

    # Text modality.
    TEXT = 1

    # Image modality.
    IMAGE = 2

    # Audio modality.
    AUDIO = 3
  end

  # Media resolution for the input media.
  module MediaResolution
    # Media resolution has not been set.
    MEDIA_RESOLUTION_UNSPECIFIED = 0

    # Media resolution set to low (64 tokens).
    MEDIA_RESOLUTION_LOW = 1

    # Media resolution set to medium (256 tokens).
    MEDIA_RESOLUTION_MEDIUM = 2

    # Media resolution set to high (zoomed reframing with 256 tokens).
    MEDIA_RESOLUTION_HIGH = 3
  end
end