Class: OCI::GenerativeAiInference::Models::ApplyGuardrailsDetails
- Inherits:
-
Object
- Object
- OCI::GenerativeAiInference::Models::ApplyGuardrailsDetails
- Defined in:
- lib/oci/generative_ai_inference/models/apply_guardrails_details.rb
Overview
Details for applying guardrails to the input content. Case 1: Use input for simple single-text moderation. Existing customers can continue to use this field for the current text-only flow. Case 2: Use multimodalInput for moderation over text, image, or a combination of both. multimodalInput supports a single text item, an array of text items only, an array of images only, or a mixed ordered combination of text and image items. Clients may provide input, multimodalInput, or both. At least one of these fields must be provided. If both input and multimodalInput are provided, the service will process input and discard multimodalInput.
Instance Attribute Summary collapse
-
#compartment_id ⇒ String
[Required] The OCID of the compartment to apply guardrails.
-
#guardrail_configs ⇒ OCI::GenerativeAiInference::Models::GuardrailConfigs
This attribute is required.
- #guardrail_version_config ⇒ OCI::GenerativeAiInference::Models::GuardrailVersionConfig
- #input ⇒ OCI::GenerativeAiInference::Models::GuardrailsInput
-
#multimodal_input ⇒ Array<OCI::GenerativeAiInference::Models::GuardrailsInput>
An ordered list of text and image inputs for multimodal guardrail evaluation.
Class Method Summary collapse
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.swagger_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(other) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ ApplyGuardrailsDetails
constructor
Initializes the object.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ String
Returns the string representation of the object.
Constructor Details
#initialize(attributes = {}) ⇒ ApplyGuardrailsDetails
Initializes the object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 75 def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.input = attributes[:'input'] if attributes[:'input'] self.multimodal_input = attributes[:'multimodalInput'] if attributes[:'multimodalInput'] raise 'You cannot provide both :multimodalInput and :multimodal_input' if attributes.key?(:'multimodalInput') && attributes.key?(:'multimodal_input') self.multimodal_input = attributes[:'multimodal_input'] if attributes[:'multimodal_input'] self.guardrail_configs = attributes[:'guardrailConfigs'] if attributes[:'guardrailConfigs'] raise 'You cannot provide both :guardrailConfigs and :guardrail_configs' if attributes.key?(:'guardrailConfigs') && attributes.key?(:'guardrail_configs') self.guardrail_configs = attributes[:'guardrail_configs'] if attributes[:'guardrail_configs'] self.guardrail_version_config = attributes[:'guardrailVersionConfig'] if attributes[:'guardrailVersionConfig'] raise 'You cannot provide both :guardrailVersionConfig and :guardrail_version_config' if attributes.key?(:'guardrailVersionConfig') && attributes.key?(:'guardrail_version_config') self.guardrail_version_config = attributes[:'guardrail_version_config'] if attributes[:'guardrail_version_config'] self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId'] raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id') self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id'] end |
Instance Attribute Details
#compartment_id ⇒ String
[Required] The OCID of the compartment to apply guardrails.
36 37 38 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 36 def compartment_id @compartment_id end |
#guardrail_configs ⇒ OCI::GenerativeAiInference::Models::GuardrailConfigs
This attribute is required.
29 30 31 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 29 def guardrail_configs @guardrail_configs end |
#guardrail_version_config ⇒ OCI::GenerativeAiInference::Models::GuardrailVersionConfig
32 33 34 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 32 def guardrail_version_config @guardrail_version_config end |
#input ⇒ OCI::GenerativeAiInference::Models::GuardrailsInput
21 22 23 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 21 def input @input end |
#multimodal_input ⇒ Array<OCI::GenerativeAiInference::Models::GuardrailsInput>
An ordered list of text and image inputs for multimodal guardrail evaluation. This field supports a single text item, an array of text items only, an array of images only, or a mixed ordered combination of text and image items. If both input and multimodalInput are provided, this field is ignored.
25 26 27 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 25 def multimodal_input @multimodal_input end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 39 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'input': :'input', 'multimodal_input': :'multimodalInput', 'guardrail_configs': :'guardrailConfigs', 'guardrail_version_config': :'guardrailVersionConfig', 'compartment_id': :'compartmentId' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 52 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'input': :'OCI::GenerativeAiInference::Models::GuardrailsInput', 'multimodal_input': :'Array<OCI::GenerativeAiInference::Models::GuardrailsInput>', 'guardrail_configs': :'OCI::GenerativeAiInference::Models::GuardrailConfigs', 'guardrail_version_config': :'OCI::GenerativeAiInference::Models::GuardrailVersionConfig', 'compartment_id': :'String' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
115 116 117 118 119 120 121 122 123 124 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 115 def ==(other) return true if equal?(other) self.class == other.class && input == other.input && multimodal_input == other.multimodal_input && guardrail_configs == other.guardrail_configs && guardrail_version_config == other.guardrail_version_config && compartment_id == other.compartment_id end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 149 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end |
#eql?(other) ⇒ Boolean
129 130 131 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 129 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
138 139 140 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 138 def hash [input, multimodal_input, guardrail_configs, guardrail_version_config, compartment_id].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
182 183 184 185 186 187 188 189 190 191 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 182 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end |
#to_s ⇒ String
Returns the string representation of the object
176 177 178 |
# File 'lib/oci/generative_ai_inference/models/apply_guardrails_details.rb', line 176 def to_s to_hash.to_s end |